簡體   English   中英

不使用msiexec的Wix升級安裝程序

[英]Wix upgrade installer without using msiexec

我必須創建一個帶有升級部分的安裝程序。 我可以通過閱讀本網站上有關該主題的許多帖子來發展這一點。 但是,我發現正確運行升級安裝程序的唯一方法是通過以下命令行:

msiexec / i MyInstaller.msi REINSTALL = ALL REINSTALLMODE = 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. 嘗試使用WiX v3.5 +中可用的MajorUpgrade元素而不是Upgrade元素。 更容易獲得正確的答案。
  2. 每次要進行主要升級時,都必須更改Product/@Id 通常,我建議始終進行重大升級並使用Product/@Id='*'

MSI SDK記錄在這里: http : //msdn.microsoft.com/zh-cn/library/windows/desktop/aa369786(v=vs.85).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM