當試圖在添加刪除我們的應用程序/刪除程序,下面的錯誤彈出,並且應用程序,無法卸載:卸載錯誤,如果原來的安裝DVD不在驅動
錯誤
「 mFileBagIDE.dll'不是有效的短文件名。
奇怪的是,如果原始安裝DVD不在驅動器中,您只會收到此錯誤。如果DVD在驅動器中,則卸載完美。
這裏是真正的踢球者:我們沒有抓住這個錯誤,直到經過我們的應用程序已經被廣泛使用,我們的客戶的情況是這樣的,它很可能許多人不再有原來的DVD。這意味着,在未來版本的安裝程序(做一個Windows安裝程序重大升級)將失敗,因爲它無法先刪除以前的版本。
所以,我的問題是雙重的:
- 我們做了什麼來創建這個問題,所以我們能避免它在未來的版本?
- 有沒有辦法告訴我們的下一個Windows安裝程序忽略此錯誤並繼續前進,刪除以前的版本?
我們當前的安裝程序(導致問題的安裝程序)是使用InstallAware生成的。我們可能會轉向WiX。但任何平臺(InstallAware,WiX,原始MSI表)的解決方案,我們感謝!
更新:我有兩個在我的MSI的InstallExecuteSequence
和InstallUISequence
表,這很可能是相關的下一行,但我不知道是什麼SRCDIREX屬性,或者它被設置。
| Action | Condition |
|---------------|--------------|
| ResolveSource | NOT SRCDIREX |
我想這可能是它!我在InstallExecuteSequence和InstallUISequence中都有一個ResolveSource操作。兩者的條件是「不SRCDIREX」。我對這個房產是一片空白。如何檢查該財產的價值在哪裏設置? – 2010-01-28 16:09:23
你可以用orca打開MSI並搜索SRCDIREX,也許你可以找到一些東西。 – 2010-01-28 16:14:35
是的,我試過了,除了ResolveSource操作中的兩個沒有匹配。還有其他地方可能嗎? – 2010-01-28 16:17:50