C# 在 Windows 8.1 中创建注册表项
本文关键字:创建 注册表 Windows | 更新日期: 2023-09-27 18:33:38
我有一个 C# 应用程序,它在安装时将条目写入注册表。这是为了使应用程序在系统启动时启动。它适用于 Windows 7,它添加了条目,应用程序在系统启动后不久启动。但在 Windows 8.1 上,它没有。如果有人在这方面提供帮助,那就太好了。谢谢。
故障排除由我完成。
1.在应用程序清单中添加了以下内容,同时具有最高可用和要求管理员。 <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
同样,这在Win7中工作正常,而在win 8.1中失败。
2.在初始化组件()之前.cs文件中添加了以下内容
RegistrySecurity rs = new RegistrySecurity();
string user = Environment.UserDomainName + "''" + Environment.UserName;
rs.AddAccessRule(new RegistryAccessRule(user,
RegistryRights.ReadKey | RegistryRights.Delete,
InheritanceFlags.None,
PropagationFlags.None,
AccessControlType.Allow));
添加此项后,应用程序将停止工作,并且无法添加密钥。
请帮我解决这个问题。提前非常感谢。
感谢您的回答,我解决了。这是我的解决方案,供将来参考。
我正在CURRENT_USER创建一个条目,但失败了。在 app.inventory 中拥有"requireAdministrator"权限,我编写了一个代码,该代码在 LOCAL_MACHINE 中创建密钥。该应用程序现在在win7和8中都可以正常工作(感谢马修)。