我正在为一组必须安装在 C: 根目录下的特定目录中的医疗设备软件产品编写 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 的新手,我正在为这个序列而苦苦挣扎。从 Orca 检查我的 MSI 看来,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 或模拟器) 按下 next 后,根据 ComboBox 中的属性设置 ApplicationFolder 安装到设置的 ApplicationFolder
任何帮助将不胜感激。