【发布时间】:2011-02-20 14:02:36
【问题描述】:
我有一个旧的 VB6 应用程序,它应该在 Windows 7 上运行(UAV 设置为默认级别,恕我直言,3 of 4)。它具有自我更新的功能,Windows 7 现在抱怨它会修改计算机(至少 Windows 7 就在这里)。
我能够使用某种清单文件在 Vista 中运行它,但这似乎不再起作用(如果我想到它,这是预期的行为)。
清单文件是这样的:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.1.0.24" processorArchitecture="X86" name="IKOfficeAppStarter" type="win32"/>
<description>IKOffice Starter</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="true"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
清单可以在exe“IKOffice Starter.exe”附近找到,名为“IKOffice Starter.exe.manifest”,应该没问题。
目前 Shield 图标已从我的 .exe 中消失,但尝试启动软件时,我收到消息“Der angeforderte Vorgang erfordert höhere Rechte”,或翻译成英文“请求的操作需要提升”。
我能做些什么来阻止 Windows 再给我出问题,这样我就可以在我们的客户计算机上安装这个应用程序。嘿,我已经告诉 Windows 将它作为 Invoker 运行,为什么它仍然在抱怨?
【问题讨论】:
-
asInvoker 设置的意思是“这个进程应该继承启动它的进程的安全令牌。”你想要 requireAdministrator 吗?
-
不,我只是想让窗口让程序失败,而不是给我一个消息框
标签: vb6 windows-7 uac manifest