我正在使用installshield 2016的MSI安裝程序工作。我正在嘗試向卸載添加一個自定義操作,該操作在卸載軟件之前運行一個工具。該工具隨軟件一起安裝,需要以管理員模式運行。該工具旨在在卸載開始之前運行一些手動清理操作。在卸載過程中未執行的自定義操作
我已經使用「新建EXE>路徑引用目錄」使用自定義操作嚮導添加了自定義操作。 INSTALLDIR在目錄表中定義幷包含用戶定義的安裝路徑。 .exe和參數的名稱是替代品。
工作目錄:INSTALLDIR
文件名&命令行:tool.exe /動作參數1參數參數3
退貨處理:同步
在腳本執行:在系統上下文
執行schedulintg延遲執行:始終執行
MSI類型號碼:3170
在補丁卸載期間運行:否
安裝執行順序:在AnotherCustomAction之後
安裝執行條件:
注意:AnotherCustomAction設置爲在InstallInitialize之後執行。它與這個非常相似,但正確執行。
(我知道的安裝EXEC條件最終應REMOVE =「ALL」,但我刪除,在某些時候,以確保不造成問題)
期間INSTALLDIR屬性寫入註冊表安裝;我已經添加了AppSearch和RegLocator條目以確保它被回讀。
我已經運行安裝程序與啓用日誌記錄,並且我看到以下內容:
MSI(S)(30:14)[13:57:19:162]:執行運算:ActionStart(名稱= RunTool ,,)
MSI(s)(30:14)[13:57:19:162]:執行op:CustomActionSchedule(Action = RunTool,ActionType = 3170,Source = C:\ Installation Test \,Target = tool.exe/action parameter1 parameter2 parameter3,)
MSI(s)(30:14)[13:57:19:162]:注意:1:1721 2:RunTool 3:C:\ Installation Test \ 4: tool.exe/action parameter1 parameter2 parameter3
Info 1721.此Windows Inst存在問題過敏包。此安裝完成所需的程序無法運行。聯繫您的支持人員或軟件包供應商。操作:RunTool,位置:C:\ Installation Test \,命令:tool.exe/action parameter1 parameter2參數3
如果我到了文件夾C:\ Installation Test \並手動運行tool.exe/action parameter1參數2參數3,一切都按照它應有的方式工作。在某個時候,有人提出可能問題是安裝路徑中存在空間,但是如果嘗試使用不帶空格的路徑,則無法解決此問題。
任何想法這裏怎麼了?這是正確的方法嗎?
我無法提供項目本身(公司政策),但我會盡力回答您可能有的任何其他問題。
AnotherCustomAction計劃在哪裏?此CA是否安排在InstallInitialize和InstallFinalize之間? –