我正在尝试仅在 Windows 启动时为当前用户启动一些应用程序。
我可以通过以下方式完成此操作:
RegistryKey oKey = Registry.CurrentUser.OpenSubKey("Software", true);
oKey = oKey.OpenSubKey("Microsoft", true);
oKey = oKey.OpenSubKey("Windows", true);
oKey = oKey.OpenSubKey("CurrentVersion", true);
oKey = oKey.OpenSubKey("Run", true);
oKey.SetValue("Application 1", "C:\\path\\to\\ap1.exe");
oKey.SetValue("Application 2", "C:\\path\\to\\ap2.exe");
但我试图将其作为 Visual Studio 安装程序项目的一部分运行。我添加了我的自定义操作,程序正常启动,安装程序在 XP 中运行良好。
在 Windows 7 中,安装程序获得了提升的权限,并且除了将条目插入到当前用户的注册表之外,它会执行所有操作。但是,它在作为独立应用程序(在安装程序项目之外)运行时会插入注册表项,并且不会获得提升的权限。
我唯一能想到的是,使用提升的权限,它试图将条目插入管理员帐户而不是当前用户?还是我还缺少其他东西?还有另一种方法可以在这里实现我的目标吗?