VB6清单不适用于Windows 7

我为在
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

点赞