【发布时间】:2012-01-11 04:41:26
【问题描述】:
我有一个用 Wix 编写的安装程序。安装程序 UI 允许用户选择一些设置。例如,有一个复选框可以为 Web 服务启用 https。这些设置的值使用 Rob Mensching 的"Remember Property" pattern 存储在 Windows 注册表中。他们使用 WixUtilExtension XmlFile 更新配置文件。第一次安装应用程序就可以了。
当用户再次运行安装程序时(当应用程序已经安装时),他们可以选择通过 MaintenanceTypeDlg 更改功能。用户可以在 CustomizeDlg 中添加或删除功能。然后安装程序向导允许用户更改设置(例如 https 网络服务)。功能更改工作正常,但是当用户更改设置时,它会被忽略(配置文件和注册表项未更新)。大概是因为已经安装了配置文件和注册表项。
在进行功能更改时,如何让安装程序进行设置更改(更新配置文件和注册表项)?或者这不是使用 Windows 安装程序的正确方法吗?
【问题讨论】:
-
在维护期间创建一个详细的 msi 日志文件,它应该告诉您文件、组件和功能的状态和计划操作。
-
好主意。日志文件确认在维护安装期间未将注册表值写入注册表(WriteRegistryValues 操作不执行任何操作)。那么是否有可能让安装程序在维护安装期间重写注册表值?
标签: wix windows-installer