2013-04-03 85 views
1

我必須創建一個升級部分的安裝程序。我可以通過閱讀本網站中關於該主題的許多帖子來開發這些內容。然而,唯一的辦法我已經找到了正確運行升級安裝程序是通過以下命令行:Wix升級安裝程序不使用msiexec

MSIEXEC/I MyInstaller.msi安裝=所有重建都= vomus

如果我運行通過雙擊安裝程序MSI文件,我得到一個錯誤: 「此產品的另一個版本已安裝...」

我需要通過雙擊MSI而不是使用命令行來運行安裝程序。由於這個安裝程序的用戶非常不願意以不同的方式執行安裝程序,我強烈需要解決它。

我經歷過的StackOverflow,在那裏我發現如何實現升級的標籤(但它從來沒有通過雙擊工作)很多問題:

<Product Id="3ddf61a1-668f-421d-856f-4bb535a2ccc2" 
     Name="Product v1.7.5.21" 
     Language="1033" 
     Version="1.7.5.21" 
     Manufacturer="Company" 
     UpgradeCode="BC52FD13-7F1D-4D92-BB6E-D3FCB2727E9B"> 
<Package InstallerVersion="200" Compressed="yes"/> 

<Upgrade Id='15E2DAFB-35C5-4043-974B-0E342C25D76B'> 
    <UpgradeVersion Property='OLDVERSIONFOUND' IncludeMinimum='no' Minimum='0.0.0.0' /> 
</Upgrade> 

<InstallExecuteSequence> 
    <LaunchConditions After='AppSearch' /> 
    <RemoveExistingProducts After='InstallValidate' /> 
</InstallExecuteSequence> 

但是,無論我做什麼我都跑通過命令行升級安裝程序。否則,出現以下錯誤:

「此產品的其他版本已安裝,此版本的安裝無法繼續。要配置或刪除此產品的現有版本,請使用控制面板上的」添加/刪除程序「。 「

我真的很感謝你能給我的任何幫助。

回答

1

兩件事情:

  1. 嘗試使用WiX的V3.5可用來代替Upgrade元素+的MajorUpgrade元素。更容易得到正確。
  2. 每次要啓用主要升級時,您都必須更改Product/@Id。一般來說,我建議總是進行重大升級並使用Product/@Id='*'

這是記錄在MSI SDK這裏:http://msdn.microsoft.com/en-us/library/windows/desktop/aa369786(v=vs.85).aspx

+0

另外要注意的ProductVersion和ALLUSERS的含義。 –

相關問題