我有一个带有以下节点的清单文件的项目:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
...意思是我希望它默认只以“管理员”身份运行。
从搜索周围,为了完成这项工作我有两个选择:
我尝试过选项2,当我运行我的应用时,它不会要求管理员权限吗?
那么,我如何在VS2010中选择选项1?我听说过mt.exe,但这对我来说并不好,因为它是在构建后完成的。我需要选择部分解决方案和项目文件本身。
那么,我该如何使这项工作?我很乐意做2,但它似乎不起作用?
答案 0 :(得分:21)
在Visual Studio 2010中,新项目的默认设置是将清单嵌入应用程序(选项#1)。默认情况下,虽然包含默认清单。您需要做的是添加自定义清单。
这会将名为app.manifest的文件添加到项目中。打开该文件并将该行修改为以下
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
这也适用于Visual Studio 2008.
答案 1 :(得分:8)
在VS2010下,它有点不同。右键单击Project并选择Properties。选择“应用程序”选项卡,然后单击“查看Windows设置”。这将打开清单。然后进行所需的更改。
答案 2 :(得分:0)
我遇到了因将现有app.manifest复制到另一个项目(C#)而导致的同样问题。
我通过卸载项目,编辑其csproj文件并插入以下部分来修复它:
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
这允许我的应用程序正确地获取app.manifest。