-4

これに対する簡単な答えを見つけることができなかったのは驚きです。それは一般的なことのように思われるからです。

フォルダ構造が異なるため、インストール先のサーバーのマシン名に基づいてインストールパスを設定しようとしています。

なんらかのカスタムアクションが必要だと思いますが、WiXは初めてなので、どこから始めればいいのかわからないのです。

サーバーごとに個別のインストーラーを作成できると思いますが(3つしかないため)、再利用可能なインストーラーを用意することをお勧めします。

正しい方向へのポイントをいただければ幸いです。ありがとう。

4

1 に答える 1

2

WiXオーサリングに次のディレクトリ構造があるとします。

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="INSTALLLOCATION" Name="nametochange">
    <!-- some component -->
    <Directory Id="BinDir" Name="bin">
       <!-- another component -->
    </Directory>
  </Directory>
</Directory>

フォルダ名はINSTALLLOCATION、マシン名に基づいて異なる必要があります。要素を作成して、ディレクトリパスを目的の値に設定できSetDirectoryます(これは、アイデアを示すために、以下のハードコードです)。

<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\[%COMPUTERNAME]" />

要素はSetDirectory、基になるカスタムアクションを適切にスケジュールします。WiXで環境変数が参照される方法に注意してください[%COMPUTERNAME]。Windowsインストーラ4.0以降を対象としている場合は、特別なプロパティを利用できますComputerName

更新:正確な要件に応じて、さらに進んで実験することができます:

<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\FolderA">ComputerName = Server1</SetDirectory>
<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\FolderB">ComputerName = Server2</SetDirectory>
<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\FolderC">ComputerName = Server3</SetDirectory>

于 2012-09-18T20:52:28.990 に答える