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

时间:2014-12-08 16:25:26

标签: c# registry windows-8.1

我有一个C#应用程序,它在安装时将一个条目写入注册表。这是为了使应用程序在系统引导时启动。它适用于Windows 7,它添加了条目,应用程序在系统启动后很快启动。但是在Windows 8.1上,它没有。如果有人对此有所帮助,那真的很棒。感谢。

我做的故障排除。

1.在app.manifest中使用highestAvailable和requireAdministrator添加以下内容。 <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 再次,这在win7中运行良好而在胜利8.1中失败。

2.在initializecomponent()

之前在.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));

添加后,应用程序停止工作,无法添加密钥。

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

1 个答案:

答案 0 :(得分:0)

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

我在CURRENT_USER中创建了一个失败的条目。 在app.manifest中使用权限“requireAdministrator”,我编写了一个在LOCAL_MACHINE中创建密钥的代码。该应用程序现在在win7和8中都运行正常(感谢Matthew)。