2009-02-16 130 views
1

當我安裝使用MSI文件第二次我的申請,我發現了2種不同的行爲:與安裝包有問題

1)有時它會顯示一個警告窗口,提醒我,有安裝了早期版本在你的電腦中。如果你想刪除它,請去控制面板。

2)它顯示一個嚮導,詢問我是否要修復或刪除應用程序。

其實,我不想第一個行爲。我希望他要我修復以前的版本或將其刪除。怎麼做?!?

回答

1

我找到了解決方案..我應該設置DetectNewerInstalledVersion屬性爲false,以便它將執行第二個行爲。

請糾正我,如果我wronge

+0

您可能還想看看RemovePreviousVersion屬性,以確保做到您想要的。 – 2009-02-16 14:00:41

1

如果你想要設置自動卸載舊版本的應用程序,你可以做到以下幾點:

  1. 增量的版本號您應用程序在設置
  2. 當你這樣做後,VS會彈出一個對話框詢問你是否需要不同的產品ID。 (回答是/好)
  3. 確保RemovePreviousVersion爲true。

下一次您安裝(假設和舊版本存在),您的設置將自動卸載舊版本並安裝新版本。

魔術是由最後一個guid - GroupCode造成的。 guid必須始終在所有版本的產品中保持一致。所以邏輯是,如果版本號發生了變化,並且產品代碼已更改,但組代碼相同,則會發生自動卸載。

0

有同樣的問題,並設置DetectNewerInstalledVersion爲false解決它。我相信這個問題是從XP更改爲Win7時介紹給我的。