3

我正在通过添加清单来升级非托管 C++ 应用程序以使用 XP/Vista 样式的通用控件。根据 MSDN 关于应用程序清单的页面,您需要在清单中指定名称和版本,以及可选的描述:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
        version="1.2.3.4"
        processorArchitecture="*"
        name="CompanyName.ApplicationName"
        type="win32"
    />
    <description>Application's description here</description>
</assembly>

这些细节是如何使用的?有提到通过具有相同的主要和次要程序集版本来暗示向后兼容性,但这似乎不适用于应用程序。我也无法在 Windows XP 上的应用程序属性中看到清单指定的名称、版本或描述。

改变这些有什么影响?保持版本最新是否值得?

4

2 回答 2

0

对于在不链接清单的 C++ 应用程序(例如 Visual C++ 6 应用程序)中使用 XP/Vista 主题的常用控件,您可以使用以下模板:

<?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="Program Name"
        type="win32"
    />
    <description>Description of Program</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Microsoft.Windows.Common-Controls"
                version="6.0.0.0"
                processorArchitecture="X86"
                publicKeyToken="6595b64144ccf1df"
                language="*"
            />
        </dependentAssembly>
    </dependency>
</assembly>
于 2008-12-21T19:12:37.077 回答
0

我想说让他们保持最新是值得的。如果没有其他原因,您不知道未来可能会出现哪些使用它们的工具。我不知道本机应用程序清单中指定的程序集名称、版本等的任何当前用途。要在 XP 上填充属性页,您需要在资源中创建一个 VERSIONINFO 部分。

于 2010-08-04T15:41:20.837 回答