2

WIX を使用して、同じ IIS Web サイトのサイド バイ サイド バージョンをインストールすることは可能ですか。それらを個別にアップグレードする機能を含めますか? 私は高低を検索しましたが、インターネット上でこれについて何も見つけることができません。

また、各ビルドで熱を使用してファイルを自動的に収集するのはなぜですか? 開発中にビュー、モデル、コントローラーを頻繁に追加する場合、VS とソース管理で既に処理されている場合に WIX でファイル構造を手動で更新する必要があるのは非常に苦痛です。

TFS ビルド中にサイトを公開し、インストーラーの出力を収集できるようにしたいと考えています。

これを行うには、WIX よりも良い方法はありますか? Octopus や Web Deploy などの展開ツールは、インストーラーである必要があるため、オプションではありません。有料オプションも出ています。

4

1 に答える 1

4

Windows インストーラーは、インスタンス トランスフォームによる複数のインスタンスのインストールをサポートしています。基本的に、新しい製品コード アップグレード コードを含むパッケージをインストールでき、さまざまな製品を個別に管理できます。

InstanceTransformsパッケージに要素を追加し、デフォルト インスタンスに加えて、サポートするカスタム インスタンスごとに子要素Instanceを追加します。

<InstanceTransforms Property="INSTANCEID">
    <Instance Id="P1" ProductCode="GUID1" UpgradeCode="GUID2" ProductName="My App P1" />
    <Instance Id="P2" ProductCode="GUID3" UpgradeCode="GUID4" ProductName="My App P2" />
</InstanceTransforms>

これにより、最大 3 つのコピー (既定のインスタンスに加えて、インスタンス P1 および P2) をインストールできます。それぞれをインストールするには、次のコマンドのいずれかを使用します。

msiexec /i MyApp.msi
msiexec /i MyApp.msi MSINEWINSTANCE=1 TRANSFORMS=":P1"
msiexec /i MyApp.msi MSINEWINSTANCE=1 TRANSFORMS=":P2"

次に、ファイル以外のコンポーネントに属性を追加しComponent/@MultiInstance="yes"ます。これにより、トランスフォームごとに新しいコンポーネント guid が作成されるため、コンポーネントの複数のコピー (トランスフォームごとに 1 つ) をインストールできます。

このブログ投稿「再訪: 複数インスタンスのインストールとパッチ」では、InstanceTransforms要素とComponent/@MultiInstance属性の使用について詳しく説明しています。

于 2013-09-11T06:11:33.943 に答える