0

我正在开发一个由 Web 应用程序和 Windows 服务组成的 .NET 3.5 项目。两者都需要部署在服务器机器上。

我使用 Wix 3 创建了一个 msi 包,它安装应用程序文件、创建快捷方式并注册服务。

我的下一个任务是实现以下内容:

  • 允许通过向导式 GUI 配置 Windows 服务的安装后步骤
  • 允许从文件加载安装设置的预安装步骤
  • 允许将配置备份到文件的预卸载步骤

我看到了两个选项:

  • 通过自定义操作调整 msi 以执行我想要的操作
  • 为 msi (Setup.exe) 创建一个包装器,它将处理所有自定义任务并使用 msiexec 在后台静默运行 msi 包

理想情况下。我想选择选项 2。你的想法是什么?

任何建议将不胜感激。

谢谢,

阿尼

4

2 回答 2

1

如果通过添加/删除程序或 msiexec 使用产品 ID 删除,围绕 msi 的包装器将无法处理任务 #3。我会使用自定义操作,或者可以由 msi 生成的辅助实用程序。

这取决于服务需要的配置量。对于我们一些只需要在连接字符串中更新服务器名称的小型配置文件,我们使用 util:XmlFile 元素在安装期间更新文件。

我们还有一个更复杂的配置实用程序,我们有条件地在安装结束时使用

要从文件加载设置,您可以使用自定义操作来执行此操作,然后使用这些设置更新配置文件在安装时使用 XmlFile 或自定义操作。或者将“从文件加载设置”作为向导 gui 的选项并启动该安装后。

于 2009-01-08T22:35:58.563 回答
0

最后我决定使用安装后配置实用程序创建一个 MSI。

不像我想要的那么优雅,但会确保安装和卸载清理以事务方式正确完成。

于 2009-01-11T10:52:12.033 回答