只是在我走错路之前找个指针。我写了一个小型的C控制台应用程序,它可以从我们的用户注册表中打开、读取、写入和删除HKEY U本地机器和HKEY U当前用户。
当然,我让它在我的电脑和所有测试电脑上运行,但我们的一个客户机在尝试运行.exe时出错。
System.Security.SecurityException:请求'System.Security.Permissions.RegistryPermission,mscorlib,version=2.0.0.0,Culture=Neutral,PublicKeyToken=B77A5C561934E089'类型的权限失败。
at system.security.codeaccesssecurityengine.check(对象需求,stackcrawlmark&stackmark,布尔值ispermset)
在system.security.codeaccesspermission.demand()上
在Microsoft.Win32.RegistryKey.CheckSubKeyReadPermission(String SubKeyName)上
位于Microsoft.win32.registrykey.checkOpenSubKeyPermission(String SubKeyName,Boolean>SubKeyWrite)
在Microsoft.win32.registrykey.openSubkey(字符串名称,布尔值可写)
在EstateMasterClearReg.Program.Main(String[]参数)
失败的操作是:
需求。
失败的第一个权限的类型是:
system.security.permissions.registryPermission
失败的程序集区域为:
企业内部网
因为我不能在客户机上测试这个(他们说他们在本地运行.exe并以admin身份登录)我能做些什么来尝试并确保应用程序在任何机器上运行吗?
我需要使用强名称密钥和allowPartyTrustedCallers还是应该使用System.Security.Permissions.RegistryPermission?
谢谢你的帮助。