首页 文章

wix安装程序升级对话框没有显示,如何准备?

提问于
浏览
0

我在客户端位置安装了msi . 现在我需要提供升级 . 当我用新版本准备新的msi时,它说已经安装了产品 . 如何升级产品 .

Existing product msi(wix) info:
ProductVersion      :   0.0.0.1
PackageCode {B3B7B3A9-AF58-41C0-B3BD-F5ED1B5DE914}
UpgradeCode {63B4B483-1851-4F32-BEFA-E7D73C4CE0DE}
ProductCode {1F3EFF43-C480-4956-B076-76437B6313E6}

我的wix看起来像这样 .

<?xml version="1.0" encoding="utf-8"?>
<?define ProductVersion = "0.0.0.2"?>
<?define UpgradeCode = "63b4b483-1851-4f32-befa-e7d73c4ce0de"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Product Id="*" Name="Calculator" Language="1033" Version="$(var.ProductVersion)" Manufacturer="ABCD" UpgradeCode="$(var.UpgradeCode)">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
    <Upgrade Id="$(var.UpgradeCode)">
      <!-- Detect older product versions -->
      <UpgradeVersion OnlyDetect="no" IncludeMinimum="yes" IncludeMaximum="yes" Minimum="0.0.0.1" Maximum="$(var.ProductVersion)" Property="PREVIOUSVERSIONSINSTALLED" />
      <!-- Detect newer product versions -->
      <UpgradeVersion OnlyDetect="yes" IncludeMinimum="no" Minimum="$(var.ProductVersion)" Property="NEWERVERSIONDETECTED" />
    </Upgrade>
    <!-- Exits successfully in the case newer version are already installed -->
    <CustomActionRef Id="WixExitEarlyWithSuccess" />

and continues....

我的代码有什么问题 . 我想从此获得升级选项 .

1 回答

  • 0

    如果新MSI的ProductCode或PackageCode与前一个MSI相同,则表示已安装该产品 . 如果他们都改变了,我的帖子就不清楚了 .

    此外,除非您在ProductVersion的前三个字段中更改了某些内容,否则您将无法升级 . 这是Windows Installer的行为 .

    http://msdn.microsoft.com/en-us/library/aa370859(v=vs.85).aspx

相关问题