0

こんにちは、環境(UAT、TEST、DEV、PROD)およびサーバー固有(Server1、Server2 ..)に基づいて、構成ファイルをフィルタリングしています。

<Component Id="cmp39F4D3AA1248B5FE5EB2F92D189B27E1" Directory="dirCFCE6D07D3330FE628276777F0488B18" Guid="{56788F77-A729-47CE-BBA4-9D7D7F175536}">
<File Id="fil10B3B7732D0DDBD4AA773E0B7F34D092" KeyPath="yes" Source="$(var.SDirect.B2CWeb.ProjectDir)Web.ProdBuild.Web1.config.xml" >
<CopyFile Id="SCopy_ConfigPROD1" DestinationProperty="DestFilesWebsiteFolder" DestinationName="Web.config" />
</File>
              <Condition> <![CDATA[ENVPROPERTY~="PROD"]]></Condition>
</Component>

上記のコンポーネントは正常に動作します。ENVPROPERTY プロパティ値は、MSIEXEC によるインストール時にコマンド ラインから設定されます。

しかし、上記のステートメントを以下のように変更すると、インストーラーがインストール先のコンピューター名またはサーバー名を検出する必要がある場合に機能しません。これに基づいて、インストーラーは上記のコンポーネントを展開するかどうかを確認する必要があります。

<Component Id="cmp39F4D3AA1248B5FE5EB2F92D189B27E1" Directory="dirCFCE6D07D3330FE628276777F0488B18" Guid="{56788F77-A729-47CE-BBA4-9D7D7F175536}">
<File Id="fil10B3B7732D0DDBD4AA773E0B7F34D092" KeyPath="yes" Source="$(var.SDirect.B2CWeb.ProjectDir)Web.ProdBuild.Web1.config.xml" >
<CopyFile Id="SCopy_ConfigPROD1" DestinationProperty="DestFilesWebsiteFolder" DestinationName="Web.config" />
</File>
    <Condition> <![CDATA[ENVPROPERTY~="PROD" AND ComputerName~="Server1"]]></Condition>
</Component>

ENVPROPERTY="PROD" および ComputerName="Server1" を満たす条件ステートメント、つまり MSI パッケージがインストールされるサーバー名 (マシン) を設定するのに役立つ人はいますか。上記のコンポーネントがデプロイされ、パッケージがデプロイされたときにスキップされないようにします。

前もって感謝します

4

1 に答える 1