为什么在64位计算机上忽略我的VB6应用程序清单?

为什么在64位计算机上忽略我的VB6应用程序清单?,vb6,windows-server-2008,64-bit,manifest,Vb6,Windows Server 2008,64 Bit,Manifest,我在VB6应用程序中嵌入了以下清单 <?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="ExeName" typ

我在VB6应用程序中嵌入了以下清单

<?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="ExeName"
type="win32"/> 
<description>elevate execution level</description> 
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
     <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
     </requestedPrivileges>
  </security>
 </trustInfo>
</assembly>  

提高执行水平
在32位Server2008计算机上,该文件正确显示为“Admin Shield”图标覆盖,并且只能以管理员身份运行。在64位服务器2008上,同一文件没有图标覆盖,可以正常运行

我尝试将processorArchitecture=“X86”同时更改为“*”和“ia64”,并从已编译的应用程序中删除清单并将其作为外部清单,但都没有效果


感谢您的任何想法。

您是否尝试过按照本文建议嵌入您的清单

答案位于帖子底部附近,并带有以下链接:


因为您的processorArchitecture属性表明它是一台32位机器。

我从其他阅读资料中了解到,processorArchitecture表示编译.exe的架构,而不是它运行的架构。如果是后者,则意味着您需要为不同的体系结构机器提供单独的清单。而且,改变它也没什么区别。。。!谢谢。您是否使用“管理员”用户名登录Windows?就我个人而言,我发现在以“管理员”身份登录时运行该程序时会跳过UAC提示符。