2012-04-06 27 views
1

我有一個在安裝過程中,我需要卸載期間運行運行時運行正常的安裝InstallScript功能。它正在備份現有的應用程序。我爲它創建了一個自定義操作並將其添加到InstallValidate後的執行序列中。的InstallShield 2012:試圖運行卸載過程中的InstallScript自定義操作,但得到的錯誤

據我所知,卸載程序沒有生成日誌文件,所以我無法弄清楚爲什麼它會因爲「Feature Transfer Error」-1603而失敗。

我敢肯定的功能不被稱爲我把一個MessageBox的第一件事。

回答

0

應設置安裝UI條件或安裝Exec的條件,以

(REMOVE="ALL")OR(REMOVE="<feature_being_uninstalled>") 

以防萬一您有或將來有多個功能g安裝。 (當然除非你只想在整個產品被卸載的情況下運行自定義動作)

0

要在卸載期間運行自定義操作,請在Install UI Condition或Install Exec Condition中將其條件設置爲REMOVE="ALL",該條件適用於您的情況。

要在已安裝產品時運行自定義操作,應將條件設置爲Installed

要在未安裝產品時運行自定義操作,應將條件設置爲Not Installed

我相信你可以使用下面的msiexec命令登錄卸載:

msiexec /x YourProduct.msi /L*v logfile.txt 

msiexec /x {Your Product/Package Code} /L*v logfile.txt 
+0

我還應該提到它是一個InstallScript MSI項目 – 2012-04-06 14:28:05

+0

我看到的錯誤看起來並不像它來自我的自定義操作。我以某種方式將我的安裝與IS的狀態無法解除它。我將它恢復到工作狀態,現在調用了自定義操作。我確實添加了「REMOVE =」ALL「的條件 – 2012-04-06 20:40:39

相關問題