0

我使用Installshield 2011創建了一個安裝程序。我可以使用它安裝軟件,並且可以從「程序和功能」界面卸載。Installshield:卸載不起作用

但是,如果應用程序已經安裝,我再次點擊安裝程序,它會顯示屏幕,說明它將卸載和卸載完成。但卸載並不實際發生。

我有刪除對話框,在刪除表中刪除所有的事件,我都需要的文件被卸載列出安裝模式2.

不知道是什麼問題... ESP自從「程序和功能」完成後,我可以正確卸載。

任何建議/提示?

+0

您是否使用基本或MSI微星的InstallScript? –

+0

@SteinÅsmul:我正在使用Basic MSI – techieChamp

+0

我不相信你正在使用Basic MSI。它可能是一個Installscript MSI文件 - 這些對於調試和正常情況下的處理非常糟糕。 –

回答

1

在試圖對此進行太多理論研究之前,先製作一個合適的詳細日誌文件,這對很有用。更換路徑來滿足您的要求:

msiexec.exe /x "C:\Test.msi" /L*V! "C:\msilog.log" 

的命令行參數的說明:

/x = run uninstallation sequence 
/L*V! "C:\Temp\msilog.log"= verbose logging, flush directly to log file without buffer 

你真的做出任何修改,刪除對話框或者是它的標準呢?爲什麼你將文件添加到RemoveFile表中?或者這是自動發生的嗎?通常不需要將文件添加到RemoveFile表中,除非它們是由您的應用程序生成的,並且您希望它們在卸載時(通常在用戶配置文件中)被刪除。

這就是說,我剛剛在幾天前回答了一個問題,涉及在靜默模式下運行卸載與交互模式的區別。請閱讀以下答案(及其相關的問題):Uninstall from Control Panel is different from Remove from .msi

更新:Uninstalling an MSI file from the command line without using msiexec

  • 卸載參考方式的不同MSI文件可以被卸載

  • 如果您正在處理一個Installscript MSI文件,請嘗試閱讀此參考文獻其setup.exe parameters

0

一對夫婦的調試建議,把我的頭頂部:

  1. 嘗試創建一個新的基本MSI項目,並在對話框中手動InstallShield中比較細節。爲您的新項目添加一些測試文件,並確保它以各種方式卸載(特別是不適用於主設置的方式)。

  2. 如果沒有明顯的看到,或者你想更有效的對比使用維克斯的dark.exe文件反編譯你的編譯微星維克斯XML格式爲您origiproject和新鮮的兩種。然後找到對話框的Wix XML並檢查設置。

版本控制您的安裝源!當像這樣的問題出現時,你有更好的調試機會 - 包括只需將整個設置恢復幾個修訂版,並重新做舊信息源中缺少的內容。

如果您可以使新設置正常工作,而舊設置不合作,那麼將所有組件從舊設置遷移到新設置並不複雜。我這樣做是通過右鍵單擊每個組件(我相信這是選項所在的位置),使用「導出到項目」選項從Installscript MSI遷移到基本MSI。我花了幾個小時做了一個大型的設置。然後再花幾個小時來正確驗證所有自定義操作。

根據記錄:使用維克斯與基於文本的源文件使調試容易許多,是強烈推薦Windows Installer and the creation of WiX。一旦你習慣了它,你可以將創建安裝程序的速度與商業工具相匹配。

細節上維克斯,包括快速啓動建議MSI vs nuget packages: which are is better for continuous delivery?

有關安裝更多的幫助,請上網:http://www.installsite.org/

相關問題