我正在为一组医疗设备SW产品编写WiX安装程序,该产品必须安装在C:的根目录下的特定目录中。 IE没有“ProgramFolders”这些。WiX安装程序 - 从ComboBox设置ApplicationFolder
它们在专用环境中运行并且已经使用这些目录进行了验证和验证。
我有了一个组合框自定义欢迎对话框:
<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浏览器如果他们选择“基本设备1”,那么我需要将APPLICATIONFOLDER设置为C:\ BASEDEV1。如果他们选择Base dev 2,那么我们去C:\ BASEDEV2
作为WiX的新手,我正在为这个序列而努力。从Orca检查我的MSI看来,InstallUISequence是在成本核算发生之后出现的。当我尝试使用一组自定义操作设置APPLICATION文件夹时,它抱怨说因为它是一个目录,所以它必须在CostFinalize之前设置。
我敢肯定我错过了简单的东西,但如果我的用户界面似乎正在运行后,我该如何设置我需要的目录?我的自定义操作目前的样子:
<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或模拟器) 之后下一个被按下时,根据组合框中的属性设置ApplicationFolder 安装到设置的应用程序文件夹中
任何帮助将非常感谢。