English 中文(简体)
自定义安装程序操作期间的用户界面
原标题:
  • 时间:2008-09-24 12:56:14
  •  标签:

在自定义安装程序操作期间,显示UI的正确方式是什么?

我希望我的UI在安装对话框上是模态的,或者,我希望有一种方法来显示安装程序中自定义操作的文本/进度。

安装程序是VS2005安装程序项目,自定义操作是C#安装程序派生的类。

问题回答

显示任何类型的非标准UI都需要更改UI处理程序对象。这并不是小事,而且实现取决于您用来编写MSIs的工具包:我不确定VS设置项目是否可能实现这一点。

不过,通过自定义操作显示简单的状态/进度消息并记录到MSI日志并不难,至少不使用Windows Installer XML(WiX)工具集,这就是我自己为此使用的工具集。

使用WiX编写自定义操作时,您可以通过Microsoft.Deployment.WindowsInstaller.session对象访问活动安装程序会话,该对象具有Log(如果启用了日志记录,则向日志中写入消息)和message(执行任何已启用的日志记录操作,并将执行延迟到与引擎关联的UI处理程序对象)功能以及许多其他功能。

如果您目前已经在C#中创建自定义操作,那么您可能会在当前环境中找到类似的操作(我从未使用过VS.net安装程序项目,所以我不太确定它们是如何工作的——实际上,我很惊讶这些操作允许您创建托管自定义操作…)。否则,我绝对建议查看WiX中的自定义操作:这些操作适用于任何MSI创作环境,并且非常灵活。





相关问题
热门标签