1

アップグレード セクションを含むインストーラーを作成する必要があります。このウェブサイトでそのトピックに関する多くの投稿を読むことで、それを開発することができました. ただし、アップグレード インストーラーを適切に実行する唯一の方法は、次のコマンド ラインを使用することです。

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>

ただし、何をするにしても、コマンド ラインでアップグレード インストーラーを実行する必要があります。そうしないと、次のエラーが表示されます。

「この製品の別のバージョンが既にインストールされています。このバージョンのインストールを続行できません。この製品の既存のバージョンを構成または削除するには、コントロール パネルの [プログラムの追加と削除] を使用してください。」

あなたが私に与えることができるどんな助けにも本当に感謝します.

4

1 に答える 1

1

2つのこと:

  1. MajorUpgrade要素の代わりに WiX v3.5+ で利用可能な要素を使用してみてくださいUpgrade。正解する方がはるかに簡単です。
  2. Product/@Idメジャー アップグレードを有効にするたびに、 を変更する必要があります。一般に、常にメジャー アップグレードを使用し、Product/@Id='*'.

これは、MSI SDK に記載されています: http://msdn.microsoft.com/en-us/library/windows/desktop/aa369786(v=vs.85).aspx

于 2013-04-03T05:43:08.463 に答える