2011-05-20 70 views
4

如何在WiX安装程序中设置UI控件的默认值? 当我更改控件中的值时,更改将传播到该属性。但是我想在首次显示对话框时设置一些特定的值。如何在WiX中设置UI控件的默认值?

<?xml version="1.0" encoding="utf-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Fragment> 
    <Property Id="PORT" Value="8731" /> 
    <UI> 
     <Dialog Id="MyDialog" Width="370" Height="270" Title="Service protocol configuration"> 
     <!-- ... --> 
     <Control Type="Edit" Id="PortEdit" Width="52" Height="15" X="79" Y="68" Text="8731" Property="PORT" Integer="yes" /> 
     </Dialog> 
    </UI> 
    </Fragment> 
</Wix> 

回答

1

您可以添加到Indirect="yes" YOUT控制的定义,之后控制系统将显示你的财产的价值,所有的改变来控制将immideately改变你的财产。

例如,

<Dialog Id="InstallDirDlgMine" Width="370" Height="270" Title="!(loc.InstallDirDlgMine_Header)"> 
... 
    <Control Id="Folder" Type="PathEdit" X="135" Y="72" Width="230" Height="20" Property="WIXUI_INSTALLDIR" Indirect="yes" /> 
... 
    </Dialog> 
+1

你可以添加一个例子吗?添加间接属性导致“错误2819:对话框上的控件需要链接到它的属性” – Stefan 2011-05-22 07:18:39

+1

尝试删除“文本”参数...文本应该从属性中获取,也许会导致该错误。 – Raiv 2011-05-23 07:21:48

1

这似乎为我工作(Indirect="yes"没有工作)。当显示该对话框时,控件将作为其值显示在框中。

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Fragment> 
    <Property Id="MYPROPERTY" Value="Show this value in the box" /> 

    <UI> 
     <Dialog Id="MyIdDlg" Width="370" Height="270" Title="My Title"> 
     <!-- omitted --> 
     <Control Id="MyId" Type="Edit" X="20" Y="100" Width="320" Height="18" Property="MYPROPERTY" /> 
     </Dialog> 
    </UI> 
    </Fragment> 
</Wix> 
相关问题