[英]Getting an install to upgrade using WiX - old installer created not using 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>
但是,無論如何我都必須通過命令行運行升級安裝程序。 否則,出現以下錯誤:
“已經安裝了該產品的另一個版本。無法繼續安裝此版本。要配置或刪除該產品的現有版本,請使用“控制面板”上的“添加/刪除程序”。”
我會很感激您能給我的任何幫助。
兩件事情:
MajorUpgrade
元素而不是Upgrade
元素。 更容易獲得正確的答案。 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.