如何使用WIX在网络中获得可用的活动目录域?

时间:2013-12-03 13:56:23

标签: wix windows-installer custom-action

我正在开发一个WIX安装程序。设置需要活动域名作为输入,而单击按钮安装时请说“浏览”。我google了很多但没有办法实现。请帮助实现相同或建议其他方式来实现这一点。 感谢。

1 个答案:

答案 0 :(得分:4)

以下是如何做你想做的事情的高级概述。

创建具有浏览按钮的对话框。 (Dialog Parent) 创建将显示域列表的对话框(Dialog Child) 在对话框父浏览按钮上配置发布元素(ControlEvents)以生成子对话框。

在C ++或C#中创建一个自定义操作,用于查询Windows API以获取林的域列表。使用Windows Installer API将临时行填充到ListBox表中。此表将用于Child对话框上的ListBox控件。您可能需要使用EnsureTable元素来确保创建ListBox表。

在C#中,您可以在此处阅读如何获取域列表:How to get a list of all domains?

要了解临时记录,请查看我的博客:Dynamic Windows Installer UI

安排自定义操作在AppSearch之后在UI序列中运行。构建和测试。

这是它的工作原理。安装程序启动并运行CA. CA获取域列表并将临时行插入到ListBox表中,就好像它们是在构建时编写的一样。用户进入父对话框并单击浏览按钮。生成子对话框(模式在顶部)并显示域列表。他们选择一条记录,并将与记录关联的值设置为与ListBox关联的属性。他们点击OK然后点击Next并继续他们的快乐方式。稍后您可以通过说[SELECTEDDOMAIN]或其他任何您称为属性的内容来使用属性,例如注册表项。

由于我们正在谈论具有用户配置数据的属性,现在正是提及的好时机:

The WiX toolset's "Remember Property" pattern

这是我可以提供的最详细的答案,而无需为您完成工作。其他援助按小时计算。