2017-02-28 105 views
1

我想編寫一個msi安裝程序,它可以在運行時卸載以前的版本。我在VS 2013中有一個安裝項目,其中DetectNewerInstalledVersion = True和RemovePreviousVersions = True。這是我做的:C#安裝項目安裝程序不刪除以前的版本

  1. 我改變了版本號(例如從1.0.3到1.0.4)。
  2. 我確保ProductCode更改並且UpgradeCode不更改。
  3. 我右鍵單擊安裝項目,然後單擊生成。
  4. 我在Debug文件夾中運行msi文件。

msi運行得很好,但舊的EXE仍然在程序文件夾中。如果它是全新安裝,它會成功安裝該程序。我究竟做錯了什麼?

+0

通常情況下,你應該只創建了發行​​版本和調試版本的安裝程序爲本地只應該用於使用。 – Phil1970

回答

3

我終於找到答案了,我會在這裏發佈給那些偶然發現的人。以下是我缺少的一個步驟:

您需要轉到項目中的Properties> AssemblyInfo.cs並更新AssemblyVersion和AssemblyFileVersion數字。否則你的這個項目的EXE不會實際更新。希望這可以幫助!

+0

Windows安裝程序僅使用AssemblyFileVersion - 無需更改AssemblyVersion,特別是如果您有需要它的客戶端程序。 – PhilDW

-1

你爲什麼不種自定義操作來備份和刪除以前的安裝文件夾額外的安全:)

相關問題