简体   繁体   English

支持并排安装

[英]Supporting Side By Side Installation

Recently we came across an issue to support side by side installation. 最近我们遇到了一个支持并排安装的问题。

We have a customer that installed version 1.0.0.0 我们有一个客户安装了1.0.0.0版
Now we started publishing version 2.0.0.0. 现在我们开始发布2.0.0.0版。

This customer wants to install version 2.0.0.0 next to version 1.0.0.0 on the same server(side by side) like microsoft and other companies do it with thier products. 该客户希望在同一服务器(并排)上安装1.0.0.0版本旁边的版本2.0.0.0,如微软和其他公司使用他们的产品。

However our installation is not simple. 但是我们的安装并不简单。 it includes Services, dll/COM Registration, writing to the registry, creating virtual directories and application pool, GUIDs etc . 它包括服务,DLL / COM注册,写入注册表,创建虚拟目录和应用程序池,GUID等

The problem is I dont even know where to begin and how to do it most efficiently. 问题是我甚至不知道从哪里开始以及如何最有效地完成它。

Any help will be appreciated Thanks 任何帮助将不胜感激谢谢

From the installer perspective, you just have to break the relation. 从安装程序的角度来看,您只需打破关系。 Either this means changing the ProductCode and UpgradeCode , or changing the ProductCode and removing the Major Upgrade items that would cause the earlier version to be removed. 这意味着更改ProductCodeUpgradeCode ,或更改ProductCode并删除可能导致删除早期版本的主要升级项。 You should also update component IDs according to component rules. 您还应该根据组件规则更新组件ID。

However if your registration causes problems with side by side functionality of your product, the installation cannot fix this. 但是,如果您的注册导致产品并排功能出现问题,则安装无法解决此问题。 You can try some combination of these ideas to make things more feasible, some of which only work well before the first is distributed. 您可以尝试这些想法的某些组合,以使事情更加可行,其中一些只有在第一次分发之前才能正常工作。 I'm not sure how best to address a shared virtual directory and/or application pool, however. 但是,我不确定如何最好地解决共享虚拟目录和/或应用程序池。

  • factor out the common parts into shared files, and be careful about backwards compatibility 将公共部分分解为共享文件,并注意向后兼容性
  • change all your COM GUIDs, service identifiers, and other such system-wide item such that neither version cross-references 更改所有COM GUID,服务标识符和其他此类系统范围的项目,以便两个版本都不会交叉引用
  • use OS functionality like Reg-Free COM to avoid system-wide registration where possible 使用像Reg-Free COM这样的操作系统功能,以尽可能避免系统范围的注册
  • use Application Virtualization technology like App-V to hide your applications from each other, if the app's needs and your customers allow for it 如果应用程序的需求和您的客户允许,请使用App-V等Application Virtualization技术来隐藏您的应用程序

In then end this will probably be a lot of work within your application, so you will have to decide whether it's worth supporting this scenario. 在最后,这可能会在您的应用程序中进行大量工作,因此您必须决定是否值得支持此方案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 WiX 项目允许并排安装 - WiX project allowing side-by-side installation 并行安装中的.NET MMC管理单元 - .NET MMC Snap-ins in Side-by-side Installation 这意味着“在执行托管安装时可以将msi属性传递到服务器端吗?”是什么意思? - What does it means that “a msi property can be passed to the server side when doing a managed installation?” wix安装程序-支持升级并同时进行多个安装 - wix installer - supporting upgrade and more than one installation at the same time 使用Windows Installer启动依赖于并行程序集的服务 - Starting services that depend on side-by-side assemblies using Windows Installer SQL CE和Vista的并行配置异常/ VC ++运行时问题 - Side-by-side configuration exception / VC++ runtime issue with SQL CE and Vista 是否可以将MySQL Server与独立客户端软件一起安装? - Is it possible to install MySQL Server along with standalone client-side software? 如何在服务器端下载的setup.exe中输入参数? - How to input parameters into the downloaded setup.exe on the server side? Visual Studio安装程序附带自更新逻辑吗? - Visual Studio setup project along-side self-updating logic? 如何在MSI安装程序中包含pdb文件以与应用程序的其余部分一起部署? - How to include pdb files in MSI installer to deploy along side the rest of the app?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM