Visual c++ 如何显示嵌入式清单
我有一些使用不同版本的VS2005构建的项目,它们需要不同的运行时版本。我需要显示assemblyIdentity以查看运行程序需要哪个运行时。我需要在我的WiX安装程序项目中包含特定VC80运行时MSM的信息 {编辑} 虽然二进制文件是用visualstudio构建的,但在使用WiX的pc上我没有VS。我不愿意安装Express版本,因为我是那台电脑上的访客。 {/编辑}Visual c++ 如何显示嵌入式清单,visual-c++,wix,Visual C++,Wix,我有一些使用不同版本的VS2005构建的项目,它们需要不同的运行时版本。我需要显示assemblyIdentity以查看运行程序需要哪个运行时。我需要在我的WiX安装程序项目中包含特定VC80运行时MSM的信息 {编辑} 虽然二进制文件是用visualstudio构建的,但在使用WiX的pc上我没有VS。我不愿意安装Express版本,因为我是那台电脑上的访客。 {/编辑} 如何方便地显示嵌入的清单?如果使用小型工具,命令行工具就可以了。清单作为资源存储在可执行文件/DLL中。它们存储在资源类型
如何方便地显示嵌入的清单?如果使用小型工具,命令行工具就可以了。清单作为资源存储在可执行文件/DLL中。它们存储在资源类型下。打开它下面的资源并将其解析为XML 下面粘贴了一个示例。我使用VS资源编辑器打开了一个EXE: 这是一个完成这项工作的小工具。包括以明文显示清单
此外,它还显示目标系统上必须存在的所有DLL。这有助于编写安装程序。我已经用VS2008测试过了。这将清单显示为十六进制转储。使用ASCII列,我也可以看到文本,但这并不比在记事本中加载DLL好。将内容作为普通文本读取,并作为XML解析。您需要使用FindResource、LoadResource和LockResource来读取给定的资源。因此,如果没有方便的方法,也没有其他方法。我将不得不编写自己的程序。可能用记事本打开是一个合适的解决方案。@harper我用Far和search清单打开.exe和.dll。如果Far不可用,记事本可以完成这项工作,但不是很方便。如果二进制文件依赖于不同版本的VC运行时,则必须只包含其中最高版本,并包含相应的policy.msm。后者指示系统将较低版本的依赖项重定向到安装的最新版本。