我在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位Server 2008计算机上,文件正确显示,并显示“Admin Shield”图标覆盖,并且只能以管理员身份运行。在64位Server 2008上,同一文件没有图标覆盖,可以正常运行。
我尝试将processorArchitecture =“X86”更改为“*”和“ia64”,并从已编译的应用程序中删除清单并将其作为外部清单,但都无济于事。
任何想法都感激不尽。
答案 0 :(得分:3)
您是否尝试过嵌入您的清单,因为这篇文章建议?
http://www.xtremevbtalk.com/showthread.php?t=308937
答案位于帖子底部附近,链接指向:
http://blogs.msdn.com/vistacompatteam/archive/2006/11/13/manifest-and-the-fusion-cache.aspx
答案 1 :(得分:1)
因为您的processorArchitecture属性表明它是32位计算机。