Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 如何显示嵌入式清单_Visual C++_Wix - Fatal编程技术网

Visual c++ 如何显示嵌入式清单

Visual c++ 如何显示嵌入式清单,visual-c++,wix,Visual C++,Wix,我有一些使用不同版本的VS2005构建的项目,它们需要不同的运行时版本。我需要显示assemblyIdentity以查看运行程序需要哪个运行时。我需要在我的WiX安装程序项目中包含特定VC80运行时MSM的信息 {编辑} 虽然二进制文件是用visualstudio构建的,但在使用WiX的pc上我没有VS。我不愿意安装Express版本,因为我是那台电脑上的访客。 {/编辑} 如何方便地显示嵌入的清单?如果使用小型工具,命令行工具就可以了。清单作为资源存储在可执行文件/DLL中。它们存储在资源类型

我有一些使用不同版本的VS2005构建的项目,它们需要不同的运行时版本。我需要显示assemblyIdentity以查看运行程序需要哪个运行时。我需要在我的WiX安装程序项目中包含特定VC80运行时MSM的信息

{编辑} 虽然二进制文件是用visualstudio构建的,但在使用WiX的pc上我没有VS。我不愿意安装Express版本,因为我是那台电脑上的访客。 {/编辑}


如何方便地显示嵌入的清单?如果使用小型工具,命令行工具就可以了。

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

下面粘贴了一个示例。我使用VS资源编辑器打开了一个EXE:

这是一个完成这项工作的小工具。包括以明文显示清单


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

我已经用VS2008测试过了。这将清单显示为十六进制转储。使用ASCII列,我也可以看到文本,但这并不比在记事本中加载DLL好。将内容作为普通文本读取,并作为XML解析。您需要使用FindResource、LoadResource和LockResource来读取给定的资源。因此,如果没有方便的方法,也没有其他方法。我将不得不编写自己的程序。可能用记事本打开是一个合适的解决方案。@harper我用Far和search清单打开.exe和.dll。如果Far不可用,记事本可以完成这项工作,但不是很方便。如果二进制文件依赖于不同版本的VC运行时,则必须只包含其中最高版本,并包含相应的policy.msm。后者指示系统将较低版本的依赖项重定向到安装的最新版本。