代码之家  ›  专栏  ›  技术社区  ›  Nick

自定义安装程序操作期间的用户界面

  •  1
  • Nick  · 技术社区  · 16 年前

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

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

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

    1 回复  |  直到 16 年前
        1
  •  3
  •   mdb    16 年前

    显示任何类型的非标准UI都需要更改UI处理程序对象。这并不简单,实现依赖于用于编写MSIs的工具包:我不确定VS安装项目是否可能实现。

    显示简单的状态/进度消息并将其记录到MSI日志并不难,但是,至少不使用 Windows Installer XML (WiX) toolset ,这就是我用自己来达到这个目的。

    使用WiX编写自定义操作时,可以通过Microsoft.Deployment.WindowsInstaller.session对象访问活动的安装程序会话,该对象具有“Log”(如果启用了日志记录,则将消息写入日志)和“message”(执行任何启用的日志记录操作并将执行推迟到与发动机)功能,以及许多其他优点。

    如果您目前已经在C#中创建了自定义操作,那么您可能可以在当前环境中找到类似的内容(我从未使用过VS.net安装程序项目,因此我不太确定它们是如何工作的——实际上,这些允许您创建托管的自定义操作…,这让我非常惊讶。否则,我肯定会推荐查看WIX的自定义操作:这些工作与任何MSI创作环境,是相当灵活的。