2011-08-13 49 views
0

我有一些使用不同版本的VS2005构建的需要不同运行时版本的项目。我需要显示assemblyIdentity以查看运行该程序需要哪个运行时。我需要这些信息在我的WiX安装程序项目中包含特定的VC80运行时MSM。如何显示嵌入式清单

{编辑} 尽管使用Visual Studio构建了二进制文件,但在WiX应该使用的PC上没有VS。我不愿意安装Express版本,因为我是该PC上的客人。 {/编辑}

我该如何方便地显示嵌入式清单?可以使用小工具,命令行工具可以。

+0

如果二进制文件依赖于不同版本的VC运行时,则必须仅包含其中的最高版本并包含相应的* policy * .msm。后者指示系统将较低版本的依赖关系重定向到最新版本。 –

回答

-1

PeStudio是一个小工具,没有工作。包括以明文形式显示清单。

此外,它显示目标系统上必须存在的所有DLL。这有助于编写安装程序。

0

清单存储为可执行文件/ DLL中的资源。这些存储在RT_MANIFEST资源类型下。打开它下面的资源并将其解析为XML。

一例进行粘贴(我打开使用VS资源编辑器我的EXE之一):

Example

+0

我已经用VS2008测试过了。这显示了我作为十六进制转储的清单。在ASCII列中,我也可以看到文本,但这并不比在记事本中加载DLL更好。 – harper

+0

阅读正常文本的内容并将其解析为XML。您需要使用'FindResource','LoadResource'和'LockResource'来读取给定的资源。 – Ajay

+1

那么如果没有方便的方法。我将不得不编写自己的程序。可能用记事本打开是一个合适的解决方案。 – harper