Dot-Net
解除安裝舊版本的應用程序
我有 WiX 生成的安裝程序,我希望它問:“您已經安裝了這個應用程序。要解除安裝它嗎?” 執行時。目前,如果之前安裝了另一個版本,它會再次安裝該應用程序並錯誤地解除安裝它。
以下將允許您執行升級,這將刪除以前的版本:
<?define Version = "!(bind.fileVersion.<YOUR-FILE-HERE>)" ?> <?define UpgradeCode = "<YOUR-GUID-HERE>" ?> <Upgrade Id="$(var.UpgradeCode)"> <UpgradeVersion Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" Property="NEWERVERSIONDETECTED" /> <UpgradeVersion Minimum="0.0.0" Maximum="$(var.Version)" IncludeMinimum="yes" IncludeMaximum="yes" Property="OLDERVERSIONBEINGUPGRADED" /> </Upgrade> <InstallExecuteSequence> <RemoveExistingProducts After="InstallInitialize" /> <Custom Action="NewerVersion" After="FindRelatedProducts">NEWERVERSIONDETECTED</Custom> </InstallExecuteSequence> <CustomAction Id="NewerVersion" Error="A later version of [ProductName] is already installed." />您需要定義 UpgradeCode 和 Version 以滿足您的需求,這也將允許您執行升級,即使版本沒有更改。