首页 > 解决方案 > 在 SpawnDialog 关闭且属性未设置为编辑字段后,Wix 单选按钮组设置默认值

问题描述

我正在尝试为用户提供一个选项,以提供 URL 形式的令牌或通过 Wix UI 浏览本地存在的 iso 图像

在这里我面临两个问题:

一个。当我选择选项 2 到 BrowseFiles 时,选择文件后,BrowseFile 对话框消失,但选项 1 被选中

湾。属性LOCALDISKPATH未反映在 UI 中的文本字段上

VMImageTokenUI.wxs

<Dialog Id="VMImageTokenDlg" Width="370" Height="270" Title="!(loc.LicenseAgreementDlg_Title)">
                <Control Id="RadioSelectOption" Type="RadioButtonGroup" Property="R_OPTION" Width="13" Height="100" X="50" Y="50">
                    <RadioButtonGroup Property="R_OPTION">
                        <RadioButton Value="PROVIDE_TOKEN" X="0" Y="0" Width="10" Height="17" />
                        <RadioButton Value="PROVIDE_IMAGE" X="0" Y="50" Width="10" Height="17" />
                    </RadioButtonGroup>
                </Control>
                <Control Id="TokenLabel" Type="Text" X="68" Y="54" Width="150" Height="15" TabSkip="no" Text="!(loc.UI_InstallationTokenLabel)" />
                <Control Id="TokenEdit" Type="Edit" X="68" Y="71" Width="230" Height="15" Text="{2048}" Property="INSTALLATIONTOKEN">
                    <Condition Action="disable">R_OPTION="PROVIDE_IMAGE"</Condition>
                    <Condition Action="enable">R_OPTION="PROVIDE_TOKEN"</Condition>
                </Control>
                <Control Id="SelectLabel" Type="Text" X="68" Y="105" Width="150" Height="15" TabSkip="no" Text="!(loc.UI_SelectImageLabel)" />
                <Control Id="ImageFilePath" Type="Edit" X="68" Y="120" Width="230" Height="15" Text="{2048}" Property="LOCALDISKPATH">
                    <Condition Action="disable">R_OPTION="PROVIDE_TOKEN"</Condition>
                    <Condition Action="enable">R_OPTION="PROVIDE_IMAGE"</Condition>
                </Control>
                <Control Id="BrowseBtn" Type="PushButton" X="68" Y="139" Width="56" Height="17" Text="Browse" Property="LOCALDISKPATH">
                    <Publish Event="Reset" Value="1">1</Publish>
                    <Publish Event="DoAction" Value="BrowseFilesCA" Order="1"><![CDATA[1]]></Publish>
                    <Publish Property="LOCALDISKPATH" Value="[LOCALDISKPATH]"><![CDATA[1]]></Publish>
                    <Condition Action="disable">R_OPTION="PROVIDE_TOKEN"</Condition>
                    <Condition Action="enable">R_OPTION="PROVIDE_IMAGE"</Condition>
                </Control>
                <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
                    <!--<Publish Event="DoAction" Value="ValidateSelectedPath" Order="1">1</Publish>  
                  <Publish Event="SpawnDialog" Value="ValidationErrorDlg" Order="1000">ValidationErrorText</Publish>-->
                </Control>
                <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
                <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
                    <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
                </Control>
            </Dialog>

产品.wxs

<Property Id="R_OPTION" Value="PROVIDE_TOKEN" />

<Publish Dialog="VMImageTokenDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
            <Publish Dialog="VMImageTokenDlg" Control="Next" Event="DoAction" Value="ValidateInstallationTokenCA" Order="1">R_OPTION="PROVIDE_TOKEN"</Publish>
            <Publish Dialog="VMImageTokenDlg" Control="Next" Event="DoAction" Value="ValidateDiskImageCA" Order="1">R_OPTION="PROVIDE_IMAGE"</Publish>
            <Publish Dialog="VMImageTokenDlg" Control="Next" Event="SpawnDialog" Value="VMImageInvalidTokenDlg" Order="2"><![CDATA[R_OPTION="PROVIDE_TOKEN" AND ISVALIDINSTALLATIONTOKEN<>"1"]]></Publish>
            <Publish Dialog="VMImageTokenDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="3"><![CDATA[ISVALIDINSTALLATIONTOKEN="1" OR ISVALIDDISKIMAGE="1"]]></Publish>

在此处输入图像描述

标签: c#.netwixwindows-installerwix3.5

解决方案


推荐阅读