实际将其产品推广到生产环境的程序员需要一个安装器。(先发制人的“编程相关”的理由。)
为了部署一套新的企业内部应用程序和服务,我试图在使用WIX和Visual Studio2010附带的InstallShield速成版之间做出选择。
我已经找过了,但还没有找到一个特征矩阵,它突出显示了express版本中没有的特征。我希望WIX总体上相当有能力,但更难使用,并且听说过situations that WIX doesn't support well.。
是否有人找到了功能矩阵,或者对管理内部部署的长期最佳方法有其他建议?
发布于 2010-02-05 07:36:47
如果您需要在复杂的环境中管理安装程序,我发现wix是一个很好的选择(尽管的学习曲线非常非常陡峭),因为
为什么XML格式是一个优势:这允许您充分利用subversion或mercurial等代码版本控制系统。回顾变更,检查历史,甚至跨分支合并变更都是轻而易举的事情。与安装屏蔽项目相比,安装屏蔽项目是不透明的二进制blob。
我所说的管理复杂依赖关系的意思是:在我们的例子中,我们有一个巨大的可重用组件库池,它们之间有一组复杂的依赖关系,许多应用程序都是在它们之上构建的。在wix出现之前,当在某个地方引入新的依赖项时,这是一场噩梦:所有的设置都必须更新。
现在,在wix中,我们为每个库都有一个组织成两个wixlibs的ComponentGroup。每个组件组通过ComponentGroupRef引用它所依赖的其他组件组。应用程序设置开发人员只需要引用直接依赖的组件组,wix将按照引用完成其余的工作。因此,引入新的依赖项只需要进行一次本地更改。我们的自动构建和wix完成其余的工作来重新生成所有的设置。
发布于 2010-02-05 03:21:15
InstallShield Express是用于基本部署的(它只不过是美化了的WinZip)。你也可以查看我最喜欢的AdvancedInstaller。它们也有免费的速成版,但我认为它们对你都没有用处,因为如果你需要用IIS,MS SQL,Active directory,GAC等做任何事情,你将需要“企业级”版本。WiX是免费的,但学习曲线是如此陡峭,以至于它不值得学习。我后悔曾经学过它。
如果您只需要内部部署,并且不能在安装程序上花费1,000美元,只需从头开始创建您自己的“安装”项目。System.EnterpriseServices.Internal
命名空间包含一些有用的包装器,用于IIS、GAC等。System.Configuration.Install.ManagedInstallerClass
可以帮助您部署windows服务。换句话说,您可以从头开始创建自己的程序,该程序可以处理部署主要产品所需的所有步骤。许多公司的旗舰产品不使用商业安装器,他们自己制作。
发布于 2010-02-05 02:38:09
安装屏蔽的功能矩阵可以在这里找到:
http://www.flexerasoftware.com/products/installshield/features.htm
但是,对于IIS部分(根据我前面问题的链接,我假设您需要IIS ),它只显示“有限”。您可以猜测Limited是什么意思,但我敢打赌,它不会支持企业级部署。
https://stackoverflow.com/questions/2202210
复制相似问题