vs2005 生成文件与win7兼容 \ 利用manifest提升程序为WIN7管理员权限
2012-01-05 15:53
411 查看
最近弄vs2005 可执行文件在win7上运行,发现兼容问题
经过网上搜寻得到一下答案,谢谢网上分享的朋友
建立文本文件, 命名为”可执行文件名.exe.manifest”,并加入以下代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentityversion="1.0.0.0" processorArchitecture="X86"
name="VistaLogoDemo" type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements.-->
<trustInfoxmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevellevel="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
运行级别有3种,这里使用 requireAdministrator 表示以管理员权限运行,如果写为 aslnvoker,那么就是以普通权限运行。
将该文件存放运行文件目录下
打开vs2005 只加载生成的exe执行文件
添加资源导入manifest文件命名为RT_MANIFEST,将其ID改为1
保存exe。
这样在V或7下就会有盾牌标志,程序启动会提示UAC而管理员权限启动
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
另外以下这个网站是微软官网提供的方法:http://support.microsoft.com/kb/944276/zh-cn
此本文占位符 appname 指的是一个示例应用程序。您应当用
appname 占位符替换应用程序的实际名称。
若要在可执行文件中嵌入清单文件,请按照下列步骤操作:
在 Visual 有关 Studio 的 2005 年打开应用程序。
在 生成 菜单上单击 配置管理器。
在配置管理器窗口中确定 x86 项是否已在
活动解决方案平台 列表中存在。
如果不存在 x86 项,请转到步骤 4。
如果 x86 项已经存在,选择 <Edit…> 在
活动解决方案平台 列表中。编辑解决方案平台 对话框中单击
x86、 单击 删除,然后单击
关闭。
在配置管理器窗口中选择 <New…> 在 活动解决方案平台 列表中。
在 新建解决方案平台 对话框中键入 x86 中
键入或选择新的平台,选择 <empty>复制设置从 列表中单击以清除
创建新的项目平台 复选框,然后单击 确定。
在配置管理器窗口中单击 关闭。
注意如果您使用生成后的脚本调用 MT.exe 文件,删除生成后的脚本。在这种情况下不必调用 MT.exe 文件,若要嵌入清单文件。
在 生成 菜单上单击 重新生成解决方案。
在 文件 菜单上单击 关闭解决方案。
启动记事本,然后在新文档中粘贴以下代码:
在 文件 菜单上单击 另存为,然后将该文件另存为
appname exe.manifest。
在 文件 菜单上单击 关闭。
在 Visual 有关 Studio 的 2005 年打开 appname.exe 文件。显示树视图。
单击 appname.exe 节点,然后单击
添加资源。
添加资源 对话框中单击 导入,找到
appname exe.manifest 文件,然后单击 打开。
自定义资源类型 对话框中键入 RT_MANIFEST,然后单击
确定。
在 属性 面板中的更改为"1""101"从
ID 属性的值。
注意如果要验证 XML 清单中的正确双击在树视图中查看二进制文件清单。ASCII 数据显示。
在 文件 菜单上单击 全部保存。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
经过网上搜寻得到一下答案,谢谢网上分享的朋友
建立文本文件, 命名为”可执行文件名.exe.manifest”,并加入以下代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentityversion="1.0.0.0" processorArchitecture="X86"
name="VistaLogoDemo" type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements.-->
<trustInfoxmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevellevel="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
运行级别有3种,这里使用 requireAdministrator 表示以管理员权限运行,如果写为 aslnvoker,那么就是以普通权限运行。
将该文件存放运行文件目录下
打开vs2005 只加载生成的exe执行文件
添加资源导入manifest文件命名为RT_MANIFEST,将其ID改为1
保存exe。
这样在V或7下就会有盾牌标志,程序启动会提示UAC而管理员权限启动
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
另外以下这个网站是微软官网提供的方法:http://support.microsoft.com/kb/944276/zh-cn
此本文占位符 appname 指的是一个示例应用程序。您应当用
appname 占位符替换应用程序的实际名称。
若要在可执行文件中嵌入清单文件,请按照下列步骤操作:
在 Visual 有关 Studio 的 2005 年打开应用程序。
在 生成 菜单上单击 配置管理器。
在配置管理器窗口中确定 x86 项是否已在
活动解决方案平台 列表中存在。
如果不存在 x86 项,请转到步骤 4。
如果 x86 项已经存在,选择 <Edit…> 在
活动解决方案平台 列表中。编辑解决方案平台 对话框中单击
x86、 单击 删除,然后单击
关闭。
在配置管理器窗口中选择 <New…> 在 活动解决方案平台 列表中。
在 新建解决方案平台 对话框中键入 x86 中
键入或选择新的平台,选择 <empty>复制设置从 列表中单击以清除
创建新的项目平台 复选框,然后单击 确定。
在配置管理器窗口中单击 关闭。
注意如果您使用生成后的脚本调用 MT.exe 文件,删除生成后的脚本。在这种情况下不必调用 MT.exe 文件,若要嵌入清单文件。
在 生成 菜单上单击 重新生成解决方案。
在 文件 菜单上单击 关闭解决方案。
启动记事本,然后在新文档中粘贴以下代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>
在 文件 菜单上单击 另存为,然后将该文件另存为
appname exe.manifest。
在 文件 菜单上单击 关闭。
在 Visual 有关 Studio 的 2005 年打开 appname.exe 文件。显示树视图。
单击 appname.exe 节点,然后单击
添加资源。
添加资源 对话框中单击 导入,找到
appname exe.manifest 文件,然后单击 打开。
自定义资源类型 对话框中键入 RT_MANIFEST,然后单击
确定。
在 属性 面板中的更改为"1""101"从
ID 属性的值。
注意如果要验证 XML 清单中的正确双击在树视图中查看二进制文件清单。ASCII 数据显示。
在 文件 菜单上单击 全部保存。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
相关文章推荐
- 利用manifest提升程序为VISTA/WIN7管理员权限
- 利用manifest提升程序为VISTA/WIN7管理员权限
- 利用ShellExecuteEx手动提升用户特权,以管理员权限来运行程序。win7会有UAC弹窗
- vs2005 中引入app.manifest(c#程序在win7下以管理员权限运行方法)
- vs2005 ,2008,2010中引入app.manifest(即c#程序在win7下以管理员权限运行方法)
- VS 中引入app.manifest(c#程序在win7及以上windows版本下以管理员权限运行方法)
- 利用manifest文件或资源文件让程序以管理员身份运行
- csharp:引入app.manifest,程序在win7下以管理员权限运行配置方法
- Visual Studio 2008 中的可执行文件中嵌入清单文件(manifest) Vista/win7 UAC中把应用程序标注为“需要管理员权限”
- vs2005 生成的应用程序 在win7下以管理员权限运行
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- Visual Studio 2008 中的可执行文件中嵌入清单文件(manifest) Vista/win7 UAC中把应用程序标注为“需要管理员权限”
- 利用ShellExecuteEx手动提升用户特权,以管理员权限来运行程序
- vs2005让程序在win7下获得管理员权限
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- win7 提升管理员权限。转载自百度牛人回答。
- VC++程序提升管理员权限
- VC编写vista或win7下需要管理员权限运行的程序
- 将exe程序在Win7下以管理员权限运行的方法