2016-12-16 107 views
0

我使用了wix生成的msi文件來安裝軟件。安裝軟件可以正常工作,但有時在卸載時會出現一些問題。WIX:安裝程序在卸載時未刪除屬性

所有在「PROGRAMM文件」的文件被刪除的預期,但在卸載後,一些數據仍然保留在系統上:

  • 在進入應用「程序和功能」
  • 安裝在「C:\ WINDOWS \安裝程序\」
  • (和一些註冊表項這點上面的兩件事情)

的問題是:只要這些數據是在系統上,這是不可能遏制停止相同版本的軟件。安裝程序顯示「修復/刪除」操作。他們都沒有工作了。

但是爲什麼安裝程序不能刪除這些文件/條目? 可能是什麼問題?

只是一些注意事項:執行MajorUpgrade時,新安裝程序將刪除所有舊條目。但這不是一個解決方案。 回答是,所有這些註冊表項和文件都可以手動刪除。之後,重新安裝是可能的,但這對用戶來說也不是解決方案。

回答

1

這沒什麼意義,主要是因爲安裝和卸載是完整的事務處理,所以如果卸載失敗它將回滾並且整個產品仍然在那裏。它不會是部分卸載,有些東西會保留,其他則會被刪除。有些東西看是:

  1. 做一個日誌,MSIEXEC/X {產品代碼} /升* VX卸載的[路徑到日誌文件]來看看是否有顯示存在,例如,如果它成功完成。

  2. \ Windows \ installer目錄中充滿了msp,msi,mst文件,所以不清楚你的意思是「安裝程序」在那裏,因爲大量緩存的安裝程序文件存在。我同意,如果程序和功能中有條目,您也可能在那裏。這意味着仍然安裝了該產品。

  3. 不清楚你爲什麼提到升級,或者整個場景是什麼。但是,如果您有兩次安裝錯誤地安裝了另一個,則會遇到您當前的情況。卸載可能會刪除所有文件,但會留下產品。

  4. 如果相同的ProductCode已用於多次安裝和測試,或者您試圖使用類似MsiZap的工具清理乾淨,則系統可能不再清潔。每次從一臺乾淨的虛擬機開始,看看你是否遇到同樣的問題。如果這種情況發生在一臺可能因重複測試而被擾亂的測試機器上,那麼它可能有助於爲您的設置提供一個新的ProductCode和一個新的UpgradeCode。

相關問題