4

      InstallShield 12にプロジェクトが組み込まれています。これは複数回インストールする必要があるWebアプリケーションであり、それらのインストールにパッチを適用する必要があります。

WiXとInstallShieldの両方で、変換とパッチを問題なく作成できます。
InstallShieldから変換されたインストールにパッチを適用しようとすると、次のエラーが発生します。

"The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program.  Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch."

InstallShieldで、[パッチデザイン]タブを使用して、トランスフォームから[ターゲット製品コードのリスト]に新しい製品コードを追加してみました。これを行うと、パッチの作成でエラーが発生します。

"ERROR: At least one of the GUIDs '{ORIGINAL-GUID},{TRANSFORM-GUID}' defined in the ListOfTargetProductCodes property in the Properties table of the .pcp file is invalid."

WiX(3.5)では、dark.exeを使用してプロジェクトをInstallShieldからWiXに変換しました。トランスフォームにパッチをインストールできるようになりましたが、警告が表示されます。

"Patch.wxs(11) : warning PYRO1079 : The cabinet 'Data1.cab' does not contain any files."

パッチでSQLスクリプトを実行しようとしているのに、パッチがSQLファイルをcabに挿入しないため、これは問題です。

また、WiXを介して.pcpメソッド(WiX 3.0より前)を試しましたが、InstallShieldで取得した範囲でしか取得できません。

私はこれまでのところ、私の答えについてこのページをほとんど参照してきました:http: //ysdevlog.blogspot.com/2011/08/revisited-multiple-instance.html

TL; DR :(できれば)InstallShieldを使用して、またはWiXで複数のインスタンスをインストールするためのパッチを生成するにはどうすればよいですか?

4

1 に答える 1

5

InstallShield を完全に放棄することで、私自身の問題を解決しました。InstallShield 最終 msi を WiX に変換するのではなく、純粋な WiX でプロジェクトを再作成しました。これを行うことで、複数のインスタンスをインストールし、パッチを適用することもできました。

InstallShield を介して動作させる方法を理解できなかったのは残念です。

于 2012-03-02T19:18:55.950 に答える