2013-12-11 47 views
5

我正在嘗試使用Install Shield LE來打包發佈WinForms應用程序。這是工作得很好,我甚至有.net 4.5可再發行組件打包在setup.exe中。我遇到的問題是我正在創建我的應用程序的1.4版本,並且我希望它能夠成功卸載舊版本(1.0到1.3)並安裝新版本。到目前爲止,我還沒有成功;每當我運行新的setup.exe時,我都會收到警告,說現在的版本必須首先使用控制面板中的程序和功能進行卸載。使用VS2012附帶的Install Shield創建可更新安裝程序

有沒有人有一個體面的教程或一些指導,可以幫助我通過讓我的新版本取代舊的改善我的客戶體驗?

非常感謝,

傑森。

回答

8

在visual studio項目瀏覽器中,您的installshield項目下有多個頁面條目。一個被稱爲「一般信息」(在「組織你的設置」下),幷包括一些部分。第一部分稱爲「常規」,前幾部分爲「產品名稱」,「產品版本」,「產品代碼」和「升級代碼」。

要創建新的安裝程序(setup.exe)這將升級當前的安裝(如果存在的話),有幾件事要做,升級當前安裝的方式的關鍵是「升級代碼」,如果該代碼與在原始的安裝(從原來的setup.exe),它將更新安裝

要創建一個更新setup.exe文件:。

  1. 打開「常規信息」頁
  2. 在常規部分(頂部)中:
    1. 將產品版本更改爲新版本號。
    2. 更改「產品代碼」(不是升級代碼!)。
      1. 您可以通過點擊產品代碼字段末尾的 {...}圖標來完成此操作。
  3. 最後,創建一個新的升級路徑。
    1. 打開「組織安裝」部分下的「升級路徑」頁面。
    2. 在最左側的樹形視圖中右鍵單擊「升級路徑」,然後選擇「新升級路徑...」。這將在樹視圖中創建一個新條目。把它命名爲任何你喜歡的。
    3. 單擊剛剛創建的條目,在右側窗口中顯示屬性。第一個字段是「升級代碼」。此代碼需要與先前安裝中使用的代碼相同。如果不同,安裝程序會安裝另一個程序實例(如果產品代碼也相同,則會出現「首先卸載其他程序」消息)。
    4. 幸運的是,原始setup.exe的「升級代碼」很容易獲得。在升級代碼字段中,有一個...圖標。點擊這將打開一個文件瀏覽器。將其設置爲顯示「所有文件」,因爲其默認值僅爲msi文件。
    5. 導航至設置。在原始安裝中使用的exe文件並選擇它。它會爲您填充一些字段,包括原始升級代碼。您會注意到它還會將最大和最小版本號設置爲原始setup.exe的版本號。將最大版本號設置爲您在「常規信息」頁面的「常規」部分中定義的新setup.exe的版本號。

您已設置!構建解決方案,新的setup.exe將升級以前的安裝(使用相同的升級代碼)。

看看這個頁面。它涵蓋了與圖片相同的材料! http://syncor.blogspot.com/2013/03/doing-upgrades-with-installshield-le.html

相關問題