2013-10-09 120 views
1

我一直在使用WiX爲我的項目創建一個安裝程序。這非常簡單,只需將一些文件放在多個位置並運行VBScript即可生成最後一個文件。Windows Installer不會刪除卸載文件

VBS的一些困難後,我得到它的安裝,但是當我卸載程序包消失了控制面板,但安裝的文件仍然存在。

我已經安裝和卸載日誌,並且也發佈了WiX源文件。鏈接如下。

任何幫助非常感謝!

install log

WiX source

uninstall log

注意,這是在安裝服務器於2003年

我知道這是充滿了驅動器號和完整路徑,而不是最好的練習,但這是文件需要去的地方。這不適用於各種計算機類型和配置;在我們的零售店有超過一萬個這樣的系統,它們都是相同的。

+0

我認爲你混淆了你的日誌文件的鏈接,但問題在於你的vb腳本創建的文件沒有被刪除,或者wix組件?您似乎在安裝和卸載上都運行腳本自定義操作。 –

+0

我可能弄錯了鏈接,對此很抱歉。問題是所有安裝的文件都沒有被刪除。我沒想到它會得到我從VBS創建的那個。 我看到腳本在安裝和卸載時運行,但我想明白下一步該如何工作。這是一個創建的小文件,我不確定我是否真的想刪除它。 – Walt

回答

0

我在錯誤的時間運行了自定義操作,所以它在卸載時運行得太晚以至於無法定義C驅動器的位置。

我從改變是什麼在維克斯上面:

<CustomAction Id="CA_SetCDrive" Directory="C_DRIVE" Value="c:\" /> 

<InstallExecuteSequence> 
    <Custom Action="CA_SetCDrive" After="CostFinalize" /> 
</InstallExecuteSequence> 

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="C_DRIVE" Name="CDrive" /> 
</Directory> 

,現在它工作正常。

+0

你怎麼知道「C盤」是「c:」?使用Windows Installer的預定義[系統文件夾屬性]之一可能會更好(http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa370905%28v=vs.85%29.aspx #system_folder_properties)。每個操作系統的每個版本都有自己的系統和用戶目錄的目錄佈局方案。 Windows安裝程序試圖使它容易。 –

+0

不刪除WiX創建的文件的其他問題也消失了嗎?此外,湯姆是正確的:將目錄屬性設置爲硬編碼值,這不僅僅是壞樣式,它是錯誤的設置設計。您不需要自定義操作,只需使用預定義的目錄「Wi​​ndowsVolume」(訪問包含操作系統的驅動器的根目錄)並創建一個目錄「MYFOLDER」或「INSTALLDIR」或下面的任何目錄。真的更好,因爲Win guidline conform使用「ProgramFilesFolder」或「ProgramFiles64Folder」下的默認路徑,而不是「WindowsVolume」。 – Philm

+0

(信息:使用帶CAPS字母的自己的目錄名稱有時會提供從命令行重寫該目錄的內置選項)。 – Philm

相關問題