在我的.msi安装程序包中,我有一个C#自定义操作,将registry值写入:
HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionRun
自定义操作是推迟的,因为我需要提升一些我试图安装的密钥的权限。 但是,因为它被延迟,所以此操作将写入系统帐户的当前用户,因为它是以提升的权限启动的,所以我的registry值实际上被写入:
HKEY_USERS.DEFAULTSoftwareMicrosoftwindowsCurrentVersionRun
如何让安装程序将此registry值写入启动安装软件包的用户的registry中而不是系统帐户的registry中?
Perfmon,PerfMonitor和PerfView
切换RIDEV_CAPTUREMOUSE |时出现奇怪的行为 RIDEV_NOLEGACY
WIC / WPF:System.GPS.Longitude和System.GPS.Latitude始终返回NULL(通过BitmapMetadata)
为我的应用程序创build属性处理程序,以将自定义属性添加到文件格式
如何检测失败的Windowslogin
Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names"); key.SetValue("Name","Isabella"); key.Close();
你试试这个,这里从微软的参考
编辑:
string strSID = ""; string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; NTAccount ntuser = new NTAccount(userName); SecurityIdentifier sID = (SecurityIdentifier)ntuser.Translate(typeof(SecurityIdentifier)); strSID = sID.ToString(); Registry.Users.SetValue(sID + @"key",value);
试试这个,你应该读一下Registry.Users.SetValue
你需要:
using System.Security.Principal;
为此代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。