.Net 多应用产品 - 自动安装程序可行性

.Net multiple application product - Automatic installer feasibility

我有一个复杂的安装场景,其中有重要的用户交互需求。 以下是我在安装过程中需要支持的功能列表:

  1. 让用户确定一个数据库和数据 table 将在我的产品中用作知识库
  2. 让用户将知识库数据的列 table 映射到预期的列
  3. 创建一个新的 sql 数据库,该数据库将与步骤 1 中确定的数据库进行通信
  4. 安装 WPF 桌面应用程序
  5. 安装 windows 服务
  6. 安装新网站

我没有开发过安装包,想知道有没有现成的打包程序 可以帮我制作这样一个安装包。

非常感谢您的帮助!

我假设您想要基于 MSI 的设置,所以:

您列表中的最后三项非常简单。实际上,所有生成 MSI 设置的合理安装程序工具(我不包括 Visual Studio 安装程序项目)都对它们有很好的支持。它们是正常的安装任务。

前三个比较复杂。应用程序安装和应用程序配置之间存在界限,前三个属于应用程序配置,应在应用程序首次运行时在单独的应用程序中完成,因为在安装之外构建和调试会更容易;用户可能想休息一下并保存到目前为止所做的事情;用户可以选择重新运行它(并且您不能重新运行安装)。此外,本机 MSI 对话框不是很丰富,Next/Back/Cancel UI 向导步骤和集成代码的复杂性将是一个陡峭的学习曲线; UI 序列没有提升(它是为收集数据而设计的)所以如果你需要管理员权限,你就会被卡住。如果您的客户需要静默安装,那么您将需要弄清楚如何在命令行上传递所有这些数据。此外,协议是您不要在 UI 序列中修改系统(因为它可能会失败或被取消,并且没有恢复来清理它,这与 MSI 安装的执行序列不同)。

因此,当您快速了解 UI 的工作原理时,我将从最后三个项目中的一个完整安装工具开始,但很可能您会决定需要一个自定义 UI 用托管 code/WPF 或类似的东西编写的前三个步骤,并将其与安装分开会更可靠。