1

我正在使用InstallShield 2012 Spring Express。我終於明白,在我的應用程序安裝過程中,如果將其「In-Script Execution」屬性設置爲「系統中的延遲執行」,我可以使用提升的進程EXE(應用程序清單設置爲「requireAdministrator」)運行自定義操作語境「。InstallShield 2012 Spring Express:如何在卸載時以管理員身份運行自定義操作?

這很好。

但是現在我必須能夠在卸載過程中完成同樣的事情。到目前爲止,即使在InstallShield 2012 Spring Express的付費版本中,我也無法使其工作。

首先,對於「卸載期間的自定義操作」部分,只有兩個條目,「系統更改前」和「系統更改後」。

我沒有嘗試將自定義操作添加到「系統更改後」,因爲我需要運行的EXE是我的程序包的一部分(因此將被刪除。)然後我將它添加到「系統更改前」。現在由於某種原因,當我將它添加到「系統更改前」時,沒有「In-Script Execution」選項。因爲我沒有這個選項,所以當我的卸載嘗試運行提升的進程EXE時,它會失敗,並顯示錯誤1721 ...這與我在安裝過程中得到的錯誤完全相同,直到我更改了「In -Script Execution「選項更改爲」系統環境中的延遲執行「。

那麼,如何才能讓我的提升進程EXE在卸載過程中正確運行? InstallShield是否無法正確處理?

感謝, JP

回答

0

您可以編寫使用Windows Installer XML來正確地安排和順序您的自定義操作合併模塊。 InstallShield express可以使用該模塊。請參閱:

Augmenting InstallShield using Windows Installer XML - Certificates

如果你不舒服的混合工具(這就像寫在VB.NET一個DLL和C#編寫的一個EXE引用它),那麼你就必須升級到的InstallShield專業的。

相關問題