如何在自定义操作中填充的MSI组合框中设置所选项?

时间:2010-09-14 19:23:50

标签: combobox wix windows-installer custom-action

我正在使用WiX创建一个网站MSI。我有一个自定义操作(用C#编写),用IIS中的网站描述填充组合框,以便用户可以选择要安装的现有网站。

正常工作 - 除了在首次显示对话框页面时没有选择任何项目的事实。我希望默认选择列表中的第一个网站。

知道我怎么做这个吗? “明显的”(对我而言)事物似乎都不起作用。

我正在使用最新版本的WiX。

2 个答案:

答案 0 :(得分:2)

每行都有一个值,控件有一个属性。该属性将具有所选行的值。在这种语言中没有control.value或control.selecteditem.value的概念。

答案 1 :(得分:0)

实际上有可能预先选择组合框的确切值 - 只需将自定义操作代码中连接到组合框的属性设置为所需的值,它就会在UI中预先选择。

例如,如果你有一个组合框

 <Control Id="WebSiteCombobox" Type="ComboBox" Property="IIS_WEBSITE_ID" Width="320" Height="16" X="20" Y="80" ComboList="yes" Sorted="yes"/>

然后,在你自定义动作的c#代码中:

foreach (Site site in iisSites)
{
    //code to fill the combobox
}

session["IIS_WEBSITE_ID"] = iisSites.First().Id.ToString(); //Or to any other value you want to be preselected