应用程序描述说明,即对可执行程序(.exe)进行属性查看时,看到的信息。包含一些描述系信息,比如名字、版本、版权等,一些权限、兼容信息等。
在C# 工程可以在AssemblyInfo.cs 和 App.manifest中对这些信息进行设置。大部分设置在AssemblyInfo.cs中有一目了然,需要说的可能是附属资源的语言特性[assembly: NeutralResourcesLanguage("zh-CN", UltimateResourceFallbackLocation.Satellite)]。该条目在国际化、本地化时,十分有用。在 App.manifest中可能用到的是设置App启动权限,比如要求App必须运行在管理员权限下。App.mainfest部分XML内容如下:
<security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> <!-- UAC 清单选项 如果要更改 Windows 用户帐户控制级别,请用以下节点之一替换 requestedExecutionLevel 节点。 <requestedExecutionLevel level="asInvoker" uiAccess="false" /> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 指定 requestedExecutionLevel 节点将会禁用文件和注册表虚拟化。 如果要利用文件和注册表虚拟化实现向后 兼容性,则删除 requestedExecutionLevel 节点。 --> <!--<requestedExecutionLevel level="asInvoker" uiAccess="false" />--> </requestedPrivileges> ......
默认为<requestedExecutionLevel level="asInvoker" uiAccess="false" />,可以注释掉此行,重新赋予其管理员权限请求。即设置<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />。重新生成,运行app.exe,会弹出请求管理员权限的对话框。
注意:
- 管理员权限不适合OneClick类型部署。
- 如果没有app.mainfest,可以通过VS手动创建。新建项——>常规——>应用程序清单。可以将其移至Properties下,将其属性设置为“复制到输出目录:如果较新则复制或者始终复制”。