2011-05-17 37 views
1

我有下面的代碼在我的WiX工程問題中提取SFX維克斯基於安裝

<CustomAction Id="ExtractHelp" Directory="DocFolder" Execute="commit" Impersonate="no" ExeCommand="[MYAPPINSTALLFOLDER]Doc\help_zip.exe" /> 
     <InstallExecuteSequence> 
      <Custom Action="ExtractHelp" Before="NativeCompilation">NOT REMOVE</custom> 
     </InstallExecuteSequence> 

哪裏help_zip是我創建捆綁了我們的幫助文件,並在我們的DocFolder提取它們在安裝7z格式的自解壓文件。唯一的問題是,這些文件不斷提取到C:\ Windows \ SysWow64,而不是由DocFolder指定的文件夾。有任何想法嗎?

此外,help_zip.exe位於DocFolder,因此它不應該甚至需要參數輸出到它坐落在目錄中,至少就我所知= \

編輯我已編輯上面的代碼顯示我的解決方案。請注意,NativeCompilation是我們創建的另一個操作(不是WiX的一部分),NOT REMOVE指的是在我們不卸載時執行操作。

+0

它看起來會將文件提取到當前目錄,該目錄正好是C:\ Windows \ SysWow64。如果從命令提示符運行相同的命令,並且當前目錄是要解壓縮文件的目錄,它會正常工作嗎?你可以用日誌('/ l * v msi.log')運行你的MSI來查看它啓動的確切命令。 – 2011-05-17 19:40:22

回答

1

嘗試設置Directory屬性,以便您可以使用type 34 custom action(帶工作目錄的EXE)。這樣您可以決定SFX歸檔的工作目錄。

+0

這就是我最終做的,以及上面代碼的其他mods。我會在幾分鐘後發佈我的更改。 – 2011-05-18 13:48:15