1

シンプルな msi インストーラー setup.exe (VS2010 で作成) があります。最初のインストールではすべて問題ありませんが、問題は 2 番目のインストールにあります。2.セットアップ バージョン (2 回目のインストール用) 番号をアップグレードし、製品コードをアップグレードするかどうかを尋ねられたときに [OK] を押しました。

この時点で、msi を再コンパイルし、setup.exe をダブルクリックしました。問題: 以前のバージョンが既にインストールされていることをインストーラーが検出し、それを削除またはアップグレードするかどうかを尋ねてくると思います。何が起こるかというと、インストーラーは何も確認せずに、インストールされた製品を新しいバージョンに自動的にアップグレードします...

「アップグレード\削除」画面を表示するためにmsiプロジェクトを構成する方法はありますか????

どうもありがとう..

4

2 に答える 2

1

この記事はとても役に立ちました。特に:

•新しいMSIファイルにすでにインストールされている製品と同じProductCodeおよびPackageCodeがある場合、Windowsは、製品を修復または削除する必要があることを示します

ここに画像の説明を入力してください

削除すると製品がアンインストールされますが、修復はさらに混乱する可能性があります。

修復では、新しいMSIファイルを使用して製品を修復したり、以前にインストールしたものを更新したりすることはありません。代わりに、既存のインストール済み製品を修復します。つまり、既存の製品のインストールに使用された元のMSIファイルに移動し、コンテキストメニューを選択して、修復を選択したかのように動作します。(注:修復は、プログラムの追加と削除から開始することもできます。)

•新しいMSIファイルのProductCodeがインストールされている製品と同じであるがPackageCodeが異なる場合は、製品の別のバージョンがすでにインストールされていることを示すメッセージが表示されます。

于 2011-05-08T22:25:16.983 に答える
1

私は VS インストーラーを使用していませんが、非常に制限されています。技術的には、アップグレード パッケージには

  1. 新しい製品コード
  2. 以前の製品と同じアップグレード コード

FindRelatedProducts と RemoveExistingProducts を InstallE テーブルに適切な順序で追加する必要もあります。その上にいくつかの MSI GUI を追加できますが、これは Orca Editor を使用して手動で msi を編集する必要があることを意味します。より簡単なアプローチは、自由度の高いWixツールキットを使用することです。あなたが持っている質問は、すでにそこで回答されています。

于 2011-05-08T22:38:09.147 に答える