簡體   English   中英

WIX安裝程序-可以在InstallFiles之前調用自定義操作.exe嗎?

[英]WIX Installer - Possible to Invoke Custom Action .exe Before `InstallFiles`?

我在MSI安裝程序中嵌入了一個.exe,我想以某種方式直接從安裝程序中調用它,然后再執行“ InstallFiles”操作。

它的定義如下:

<CustomAction Id="LaunchInstallManager_TryUninstall" Return="ignore" Directory="INSTALLFOLDER" Execute="deferred" Impersonate="no" ExeCommand="&quot;[#fil713F8F6A7BC9B98857D779B9B29873E1]&quot; /someargument"></CustomAction>

<Custom Action="LaunchInstallManager_TryUninstall" Before="InstallFiles">NOT Installed</Custom>

但是在查看日志時,看起來(正在嘗試)從安裝目標位置調用了該日志。

這樣的事情可能嗎?

可能,但是以不同的方式。 自定義操作的“運行EXE”類型將始終在目標系統上搜索可執行文件。 因此,如果將可執行文件與應用程序一起安裝,則不是一種選擇。

這是另一種方式:

  • 首先,將您的EXE編寫為<Binary>

    就像<Binary Id="MyEXE" SourceFile="PATH\\TO\\EXE" />

  • 添加一個DLL延遲自定義操作,該操作將提取二進制文件,使用參數運行它並隨后進行清理。

    這篇文章可以使您了解如何使用C#和DTF提取二進制文件。 此外,如果您需要傳遞參數,請確保以正確的方式進行延遲的自定義操作

最后,請記住,每個延遲的自定義操作(即更改目標系統的操作)必須具有相應的回滾操作 本文可能會給您一些有關如何測試自定義操作的直接和回退行為的提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM