我有一个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));
添加后,应用程序停止工作,无法添加密钥。
请帮我解决这个问题。非常感谢提前。
答案 0 :(得分:0)
感谢您的回答,我解决了问题。这是我的解决方案,供将来参考。
我在CURRENT_USER中创建了一个失败的条目。 在app.manifest中使用权限“requireAdministrator”,我编写了一个在LOCAL_MACHINE中创建密钥的代码。该应用程序现在在win7和8中都运行正常(感谢Matthew)。