IdentityReference refer = new NTAccount(Environment.UserDomainName,
Environment.UserName);
RegistryAccessRule full = new RegistryAccessRule(refer,
RegistryRights.FullControl, AccessControlType.Allow);
RegistrySecurity sec = new RegistrySecurity();
sec.AddAccessRule(full);
RegistryKey key = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Microsoft\VSTAHostConfig");
key = key.CreateSubKey("TestApp",
RegistryKeyPermissionCheck.ReadWriteSubTree, sec);
// Validate args first.
key.SetValue("AppName", args[0],
RegistryValueKind.String);
key.SetValue("ProjectTemplateLocations", args[1],
RegistryValueKind.String);
// done!
the above code should add the keys necessary to register a VSTA application to prepare it to create project templates. problem is, .NET is telling me it can't change the registry.
Are my security checks incorrect? i'm on a corporate network, but i'm local admin on all machines in my domain, including of course my own.
any help?
-
-
Try
RegistryKey key = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Microsoft\VSTAHostConfig", true);
It opens the subkey as writeable. -
Also be careful on Vista - some registry keys need administrator permissions to write to.
-
jasgrg wrote:Try
RegistryKey key = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Microsoft\VSTAHostConfig", true);
It opens the subkey as writeable.
wow. figures it would be something that simple.
thanks.
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.