0

デプロイメントのバージョン間でUIRefタグを変更しました。

バージョン1.0から: <UIRef ID="WixUI_FeatureTree" />
バージョン2.0へ: <UIRef ID="WixUI_Advanced" />

Wixバージョン3.6

現在、バージョン2.0インストーラーを実行すると、以前のバージョンが検出されないため、アップグレード中にアンインストールする代わりに、既存のバージョンの隣に新しいバージョンをインストールします。

中間バージョンは正常にアップグレードされました(1.0-> 1.1-> 1.2)。

2.0での主な変更点は次のとおりです。

  1. メインの下の新しいサブ機能
  2. WixUI_FeatureTreeからWixUI_AdvancedへのUIRefに変更して、展開で「AllUsers」と「SingleUser」から選択できるようにします。

既存の製品の削除は次のように定義されています。

<InstallExecuteSequence>      
     <RemoveExistingProducts After='InstallInitialize' />

      <Custom Action=...
    ...

私の製品は次のように定義されています:

#UpgradeCode# is consistent between versions
#ProductId# is changed between versions

<Product Id="#ProductId"
  UpgradeCode="#UpgradeCode#"
  Name="!(loc.ApplicationName)"
  Language="1033"
  Codepage="1252"
  Version="2.0.0"
  Manufacturer="!(loc.Manufacturer)">    
     <Package 
          Id="*"
          InstallerVersion="300" 
          InstallPrivileges="elevated"      
          Languages="1033"
          Compressed="yes"
          InstallScope="perMachine"
          Manufacturer="!(loc.Manufacturer)"
          SummaryCodepage="1252"
          Platform="x86"      
          Description="!(loc.ApplicationName)"/>
           <Upgrade Id="#UpgradeCode#">
           <UpgradeVersion OnlyDetect="no" Property="PREVIOUSFOUND"
                           Minimum="1.0.0" IncludeMinimum="yes"
                           Maximum="2.0.0" IncludeMaximum="no"/>
           </Upgrade>

インストーラーにアップグレードをチェックさせ、変更後に処理されなくなった以前のバージョンの削除を実行させるためにできることがあるかどうか疑問に思っています。

4

1 に答える 1

1

ビルドログで私は気づきました:

MSI(c)(6C:C4)[12:04:44:624]:FindRelatedProducts:現在のインストールはユーザーごとです。製品'{PRODUCT-GUID}'の関連インストールはマシンごとです。スキップしています...アクションは12:04:44に終了しました:FindRelatedProducts。戻り値1。

私は削除しました:

 <Product ... InstallScope="perMachine" ... />

バージョンをアップグレードするとき。

InstallScopeアップグレードマッチングに製品のプロパティが含まれていることに気づきませんでした。

を使用してユーザーごとにインストールすることはできますが、このプロパティはまた<UIRef Id="WixUI_Advanced" />はの選択に影響を与えないようです。そのため、元に戻しました。アップグレードが再び機能するようになりました。PerMachinePerUser

于 2012-11-02T19:39:10.290 に答える