我可以在应用程序Debug/Bin
目录中将我的应用程序属性的exe文件更改为Run As Admin
。
但是当我通过Visual Studio运行它时,我希望它以管理员身份运行。
所以我创建了一个清单文件,我把它放在我的应用程序的debug/bin
目录中,我也有mt.exe
我的清单文件内容:
Executable: hardwareMonitoring.exe
Manifest:Hardwaremonitoring.exe.manifest
Sample application manifest file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="IsUserAdmin"
type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
现在我想我需要以某种方式使用mt.exe
或需要将清单添加/嵌入到我的项目中?我的想法是,它不会在我的硬盘上创建自动Debug/Bin
一个已经在Admin Rights (Run As Admin)
的exe文件,但我希望它在我在Visual中运行应用程序时提示管理员权限确认Studio 2010。
答案 0 :(得分:2)
调试应用程序(比如hello.exe)时,它通常通过名为vshost.exe的代理应用程序运行。该应用程序具有与您正在使用的VS实例相同的权限。
您可以尝试使用管理权限启动Visual Studio,以便使用该权限启动vshost.exe和您的应用程序。
答案 1 :(得分:0)
我把它放在某个地方我将它保存在文本文件中:
首先使用记事本创建一个文本文件并添加到其中:
Executable: hardwareMonitoring.exe
Manifest:Hardwaremonitoring.exe.manifest
Sample application manifest file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="IsUserAdmin"
type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
然后将文件名保存为:appName.exe.manifest 然后在dos窗口中单击Windows开始&gt; Cmd类型:
mt -manifest appName.exe.manife
st.txt -outputresource:appName.exe;#1
如果mt.exe不是应用程序:Debug / Bin目录只是在mt之前给出目录。
多数民众赞成。