2012-06-13 72 views
3

我使用WIX實現... 我需要在我能夠通過二進制加法EXE安裝之前調用它做它的CustomAction執行一個EXE 。 但是這個EXE需要一個XML文件來讀取當前目錄中應該出現的數據。爲此,我可以像在EXE中那樣在XML中插入XML。WIX需要提取二進制文件(XML)的CustomAction

現在我需要在EXE之前從Binary中提取XML文件。無法弄清楚CustomAction我需要提取它。

以下是東西我做:

  • 新增XML二進制

<Binary Id="TestXML.xml" SourceFile="d:\csu\TestXML.xml"/>

  • CustomAction(這個我試過 - 問號 「???」 放什麼)

<CustomAction Id="SetBinaryWrite_TargetFileName_1" BinaryKey="TestXML.xml" ExeCommand="???" Execute="immediate" Return="ignore" />

  • 執行在<InstallExecuteSequence>

<Custom Action="SetBinaryWrite_TargetFileName_1" After="ValidateProductID"/>

需要幫助!

+0

我想看看你的解決方案,你尊敬,但該文件不存在的地方指定: http://www.csharpque.com/2012/06/wix-custom-action-delete-files-before .html –

回答

1

沒有內置的支持。

從二進制表啓動EXE是本地Windows Installer自定義操作。如果您只想從二進制表中提取文件,則需要使用自定義代碼編寫自己的自定義操作。

您可以嘗試使用win32 DLL,它接收安裝句柄並使用Windows Installer API來提取文件。

+0

謝謝...讓我繼續研究並找出答案...我會盡快回復您! –

+0

謝謝我以某種其他方式使用CustomAction DLL計算出它......你可以在這裏看到http://www.csharpque.com/2012/06/wix-custom-action-delete-files-before.html –