2011-08-13 84 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