Windows 7需要UAC提升VB6应用程序(Vista没有)

时间:2010-05-17 19:39:21

标签: vb6 windows-7 uac manifest

我有一个旧的VB6应用程序,它应该在Windows 7上运行(UAV设置为默认级别,4个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”,应该是okey。

目前Shield Icon已经从我的.exe中删除,但是当我尝试启动软件时,我收到消息“Der angeforderte VorgangerforderthöhereRechte”,或者翻译成英语“请求的操作需要提升”。

我可以做些什么来阻止Windows让我烦恼,所以我可以在我们的客户端计算机上安装此应用程序。嘿,我已经告诉Windows将其作为Invoker运行,为什么它还在抱怨?

2 个答案:

答案 0 :(得分:1)

该错误消息来自哪里? Windows或VB 6应用程序? VB6应用程序可以说“嘿,你是把我作为调用者,但我需要被提升?”毕竟,VS2008就是这样做的。或者你认为Windows会对你这么说吗?

此外,我怀疑你需要uiAccess = true,因为清单往往会从一个项目复制到另一个项目,所以将它弄错。

答案 1 :(得分:1)

  

并且Windows 7现在抱怨它会修改计算机

是否真的是Den Programm,那么Schlimmes? in die Registry,oder in irgendwelche Verzeichnisse schreiben wo es nicht hindarf? behebe diesen“Fehler”indem Du das Programm umschreibst。