1

最近我们遇到了一个支持并行安装的问题。

我们有一个客户安装了版本 1.0.0.0
现在我们开始发布版本 2.0.0.0。

该客户希望在同一服务器上(并排)安装 2.0.0.0 版本和 1.0.0.0 版本,就像 microsoft 和其他公司使用他们的产品一样。

然而我们的安装并不简单。它包括服务、dll/COM 注册、写入注册表、创建虚拟目录和应用程序池、GUID 等

问题是我什至不知道从哪里开始以及如何最有效地做到这一点。

任何帮助将不胜感激谢谢

4

1 回答 1

3

从安装程序的角度来看,您只需要打破这种关系。这意味着更改ProductCodeandUpgradeCode或更改ProductCode并删除将导致删除早期版本的主要升级项目。您还应该根据组件规则更新组件 ID。

但是,如果您的注册导致产品的并行功能出现问题,则安装无法解决此问题。您可以尝试将这些想法组合起来以使事情变得更加可行,其中一些仅在第一个分发之前运行良好。但是,我不确定如何最好地处理共享虚拟目录和/或应用程序池。

  • 将公共部分分解为共享文件,并注意向后兼容性
  • 更改所有 COM GUID、服务标识符和其他此类系统范围的项目,以便版本交叉引用
  • 尽可能使用无注册 COM 等操作系统功能来避免系统范围的注册
  • 如果应用程序的需求和您的客户允许,使用 App-V 等应用程序虚拟化技术将您的应用程序相互隐藏

最后,这可能会在您的应用程序中进行大量工作,因此您必须决定是否值得支持此方案。

于 2012-09-13T12:06:02.863 回答