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));
添加

此项后,应用程序将停止工作,并且无法添加密钥。

请帮我解决这个问题。提前非常感谢。

C# 在 Windows 8.1 中创建注册表项

感谢您的回答,我解决了。这是我的解决方案,供将来参考。

我正在CURRENT_USER创建一个条目,但失败了。在 app.inventory 中拥有"requireAdministrator"权限,我编写了一个代码,该代码在 LOCAL_MACHINE 中创建密钥。该应用程序现在在win7和8中都可以正常工作(感谢马修)。