我为在
Windows 7上运行的VB6应用程序创建了一个清单文件(不是为了任何视觉样式更改,只是为了确保它访问公共注册表而不是虚拟化注册表)
exe名称为Capadm40.exe,清单名为Capadm40.exe.manifest,包含以下内容:
<?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="CompanyName.Capadm40"
type="win32"/>
<description>Administers the System</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
但是,这似乎没有任何区别.即应用程序仍在使用虚拟化注册表配置单元.同样奇怪的是,在我在应用程序exe的属性中取消“以管理员身份运行此程序”选项之后,Windows仍然在应用程序图标上显示屏蔽,导致我认为这是我的Windows安装的一些问题而不是而不是清单的错误.有任何想法吗?
最佳答案 我会利用LaVolpe的清单创建者,适用于XP,Vista和7:
http://www.vbforums.com/showthread.php?t=606736