C: のルートから離れた特定のディレクトリにインストールする必要がある医療機器 SW 製品のグループ用の WiX インストーラーを作成しています。IE には、これらの「ProgramFolders」はありません。
これらは専用の環境で実行され、これらのディレクトリを使用して検証および検証されています。
コンボボックスを持つカスタムのウェルカム ダイアログがあります。
<Control Id="TypeCombo" Type="ComboBox" X="178" Y="162" Width="120" Height="20" Property="InstallChoiceResult" ComboList="yes" Sorted="no">
<ComboBox Property="InstallChoiceResult">
<ListItem Text="Base dev 1" Value="1"/>
<ListItem Text="Base dev 2" Value="2"/>
<ListItem Text="Base dev 3" Value="3"/>
<ListItem Text="Base Simulator" Value="4"/>
</ComboBox>
</Control>
FSE による選択により、プロパティ「InstallChoiceResult」が設定されます。彼らが次にヒットした後、彼らの選択に基づいてアプリケーション フォルダを設定する必要があります。IE で「Base dev 1」を選択した場合は、APPLICATIONFOLDER を C:\BASEDEV1 に設定する必要があります。Base dev 2 を選択した場合は、C:\BASEDEV2 に移動します。
WiX が初めてなので、シーケンスに苦労しています。私の MSI を Orca で調べると、InstallUISequence はコスト計算が発生した後に発生するようです。カスタム アクションのグループを使用して APPLICATION フォルダーを設定しようとすると、それはディレクトリであるため、CostFinalize の前に設定する必要があると不平を言います。
簡単なものが欠けていると確信していますが、その後UIが実行されているように見える場合、必要なディレクトリを設定するにはどうすればよいですか? 私のカスタムアクションは現在次のようになっています:
<CustomAction Id="SetDev1" Property="APPLICATIONFOLDER" Value="C:\BaseDev1" Execute="immediate" />
<CustomAction Id="SetDev2" Property="APPLICATIONFOLDER" Value="C:\BaseDev2" Execute="immediate" />
<CustomAction Id="SetDev3" Property="APPLICATIONFOLDER" Value="C:\BaseDev3" Execute="immediate" />
<CustomAction Id="SetDevS" Property="APPLICATIONFOLDER" Value="C:\BaseDevS" Execute="immediate" />
<InstallUISequence>
<Custom Action="SetDev1" Before="InstallDlg2">InstallChoiceResult=1</Custom>
<Custom Action="SetDev2" Before="InstallDlg2">InstallChoiceResult=2</Custom>
<Custom Action="SetDev3" Before="InstallDlg2">InstallChoiceResult=3</Custom>
<Custom Action="SetDevS" Before="InstallDlg2">InstallChoiceResult=4</Custom>
</InstallUISequence>
私がする必要があることの一般的な冗談は、基本的にこれです:
ダイアログを表示 (FSE は 1、2、3 またはシミュレーターを選択) 次を押した後、ComboBox のプロパティに基づいて ApplicationFolder を設定し、設定された ApplicationFolder にインストールします
どんな助けでも大歓迎です。