2013-01-18 5 views
6

私はVisual Studio 2008から2012に移行しています。私のプロジェクトには2012年にサポートされなくなったセットアッププロジェクトが含まれています。それはWiX 3.6にあります。私は自分のファイルをセットアップするためのWiXセットアッププロジェクトと、セットアッププロジェクトと私の前提条件をバンドルする別のWiXバンドルプロジェクトを作成しました。バンドルのバージョンとアップグレードコードVSセットアッププロジェクトからアップグレードするときのWiXのセットアップ

ここでは、このセットアッププロジェクトを以前のインストールとシームレスに連携させたいと考えています。たとえば、VS2008のVSセットアッププロジェクトで作成されたsetup.exeを使用して、システムにバージョン1.0をインストールしたマシンがあります。 VS2012のWiXバンドルプロジェクトで作成されたsetup.msiを使ってバージョン2.0をコンパイルしました。バージョン2.0 msiを実行すると、同じセットアップの古いバージョンがインストールされていることを認識して、そのバージョンの更新を実行します(または再インストールする)。

私の問題は、各バンドルとセットアッププロジェクトにはそれぞれ独自のUpgradeCodeとバージョンが含まれていることです。どのバージョンのバージョン1.0のアップグレードコードを受け取るべきですか?今と将来のバージョンの場合、どちらか一方または両方をバージョンアップしますか?

答えて

4

多かれ少なかれ、さまざまなことを試してみました。ブートストラップがインストールされると、これは[プログラムの追加と削除]メニューに表示されます。したがって、私はブートストラップのアップグレードコードが私の古いパッケージのものと一致しなければならないと考えました。その後、セットアップは直前のバージョンがインストールされていることをすぐに認識し、続行する前にアンインストールする必要があります。 msiのアップグレードコードは、別の一意のコードになります。その後、msiプロジェクトとブートストラッププロジェクトの両方のバージョンを各ビルド時に更新する必要があります。

+5

バンドルがアップグレードを実行すると、アップグレードがサポートされている場合、各内部パッケージがアップグレードされます。したがって、msiパッケージに同じアップグレードコードを維持し、バンドルに新しいアップグレードコードを与える必要があります。あなたのソリューションは、単一のmsiを含むバンドルで動作しますが、複数のmsisをパッケージ化/アップグレードする必要が生じた場合には分解されます。 –

関連する問題