WiX を使用して Web アプリケーションのインストーラーを作成しています。ユーザーが IIS サーバー上のサイトのリストから Web サイトを選択できるようにし、その Web サイトのルート フォルダーのサブディレクトリにアプリをインストールできるようにしたいと考えています。
「ウェブサイトの選択」の部分を終了しました。選択したサイトに基づいて一連のプロパティを設定するカスタム アクションがあります。これらのプロパティの 1 つ (WEB_SITE_ROOT_PHYSICAL_PATH) は、Web サイトのルート フォルダーへのパスです。
ただし、アプリケーションをそのパスにインストールすることはできません。
私のディレクトリ構造は次のとおりです。
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="IIS_WEB_ROOT">
<Directory Id="WEB_SITE_ROOT" Name=".">
<Directory Id="INSTALLLOCATION" Name="$(var.ProductName)">
IIS_WEB_ROOT は次のように定義されています。
<Property Id="IIS_WEB_ROOT">
<RegistrySearch Id="Search" Root="HKLM" Key="Software\Microsoft\InetStp" Name="PathWWWRoot" Type="raw" />
</Property>
WEB_SITE_ROOT_PHYSICAL_PATH は、次のように WEB_SITE_ROOT に設定されます。
<Property Id="WEB_SITE_ROOT_PHYSICAL_PATH" Value="WEB_SITE_ROOT"/>
インストール フォルダ ダイアログの前に、Web サイト選択ダイアログが表示されます。インストール フォルダ ダイアログでは、次の「標準プロパティ」が使用されます。
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION"/>
これらすべての結果として、アプリケーションは Web サイトのルート フォルダーではなく、IIS Web ルート フォルダーにインストールされます。
インストールフォルダーを動的に定義された WEB_SITE_ROOT_PHYSICAL_PATH プロパティに設定する方法がわかりません。正しい方向への指針が必要です。WEB_SITE_ROOT_PHYSICAL_PATH プロパティを設定した後、インストール フォルダを設定するために別のカスタム アクションが必要ですか? その場合、Web サイトの選択ダイアログが完了した後、これを最初に設定するにはどうすればよいですか? または、すべての部品を入手しましたが、正しく配線していません。