WEB开发网
开发学院操作系统Windows Vista Vista UAC下应用程序标注为“需要管理员权限”的四... 阅读

Vista UAC下应用程序标注为“需要管理员权限”的四种方法

 2008-10-18 17:36:50 来源:WEB开发网   
核心提示:在Microsoft 的UACBlog里对此有过叙述,总结如下:首先,Vista UAC下应用程序标注为“需要管理员权限”的四种方法,如果一个程序被识别为管理员程序时,Vista会在它的图标上加上一个盾牌标记,然后用mt.exe 写入到exe的资源里去(mt.exe在Visual Studio 2005或者platfo

在Microsoft 的UACBlog里对此有过叙述。总结如下:

首先,如果一个程序被识别为管理员程序时,Vista会在它的图标上加上一个盾牌标记。因此很容易看出来。

其次,如果UAC有效的话,管理员程序启动时会弹出执行许可或者管理员密码输入对话框。

据此你可以知道你的标注是不是成功。

方法一:文件名里包含 “Setup”, ”Install” , “Update”字样,比如 TestSetup.exe 之类的。

这个方法由UAC的本地安全策略“检测安装程序”所控制。如果该策略设置为无效,则无效。默认是有效的。 当然,这种安装包也可以强行设置为非管理员权限运行,例如软媒团队开发的酷点、闪游浏览器的安装包就是这种。

方法二:在Exe里加入manifest资源。.Net的程序好像会自动产生一个。比较新的Visual Studio 2005也会自动生成manifest.

对于比较老的Visual Studio 6以前的应用程序,可以手工编辑一个mainfest文件,然后用mt.exe 写入到exe的资源里去

(mt.exe在Visual Studio 2005或者platform SDK里有,Visual Studio 2005 Express版是免费的,可以自由下载)

Manifest文件是xml格式的文本文件。如下面的例子

<?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="Company.Department.Exe Name"
type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

1 2  下一页

Tags:Vista UAC 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接