Coc*_*Dev 0 c# security manifest visual-studio-2010 visual-studio-2008
我用元素添加了Manifest文件
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)
我构建了项目,当非管理员运行它时它会不断崩溃.
未处理的异常:System.Security.SecurityException:请求类型为'System.Security.Permissions.RegistryPermission,mscorlib,Version = 2的权限.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'失败.at System.Security.CodeAccessSecurityEngine.Check(Object demand,StackCrawlMa rk&stackMark,Boolean isPermSet)at System.Security.CodeAccessPermission.Demand()at Microsoft.Win32.RegistryKey.CheckSubKeyReadPermission(String subkeyName)at Microsoft.Win32.RegistryKey.CheckOpenSubKeyPermission(在LotusTrustedSites.ReportDownloader.Main(String)的LotusTrustedSites.RegistryKeyExtensionMethods.GetOrCreateSubKey(RegistryKe y registryKey,String parentKeyLocation,String key,Boolean writable)的Microsoft.Win32.RegistryKey.OpenSubKey(String name,Boolean writable)中的String subkeyName,B oolean subKeyWritable) [] args)失败的操作是:Demand失败的第一个权限的类型是:System.Security.Permissions.RegistryPermission
失败的程序集或AppDomain是:MyApp,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null导致失败的方法是:Microsoft.Win32.RegistryKey GetOrCreateSubKey(Microsoft.Win32.RegistryKey,Syste m.String,System .String,Boolean)
当然它失败了.您告诉它要求管理员访问权限,而非管理员帐户无法提供该权限.您是否期望它以非管理员用户的管理员权限运行?如果可能的话,那将是Windows中的一个主要安全漏洞.
如果您需要以非管理员可访问的管理员身份运行应用程序,我知道这样做的唯一方法是将应用程序安装为计划任务,并将任务设置为使用管理员帐户运行.非管理员仍应该能够查看并运行此任务,并且它将使用提供的管理员凭据.
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |