安装程序功能,WIX 与 InstallShield Express [英] Installer capabilities, WIX vs InstallShield Express

查看:28
本文介绍了安装程序功能,WIX 与 InstallShield Express的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

实际将其产品推向生产的程序员需要一个安装程序.(先发制人的编程相关"理由.)

Programmers that actually promote their products to production need an installer. (pre-emptive "programming related" justificaton.)

为了部署一套新的内部企业应用程序和服务,我试图在使用 WIX 和 Visual Studio 2010 附带的 InstallShield Express 版本之间做出决定.

For deploying a new suite of internal corporate apps and services, I'm trying to decide between using WIX and the InstallShield Express edition that comes with Visual Studio 2010.

我已经看过了,但还没有找到一个特征矩阵来突出那些在 express 版本中没有的特征.我希望 WIX 通常非常强大,但更难使用,并且听说过 WIX 的情况不支持.

I've looked, but haven't found a feature matrix that highlights the features that are not in the express edition. I expect WIX to be generally quite capable, but more difficult to use, and have heard of situations that WIX doesn't support well.

是否有人找到了功能矩阵,或者对管理内部部署的长期最佳方式有其他建议?

Has anyone found a feature matrix, or have other recommendations on the long-term best way to manage internal deployments?

推荐答案

如果您需要在复杂的环境,因为

I find that wix is a great choice (in spite of the very very steep learning curve) if you need to manage installers in a complex environment because

  • 设置定义以 XML 格式存储
  • 它使您可以完全控制底层的 Windows 安装程序技术;XML 架构通常紧跟 Windows 安装程序数据库架构(这也是学习曲线如此陡峭的主要原因)
  • 集成到您的自动构建中很容易
  • 部分设置可以自动生成
  • 它允许您定义小的可重用模块并管理它们之间的复杂依赖关系.
  • 没有成本或许可问题(在 wix 之前,我们都必须使用一台Installshield PC")

为什么 XML 格式是一个优势:这使您可以充分利用代码版本控制系统,如 subversion 或 mercurial.查看更改、检查历史甚至跨分支合并更改都是轻而易举的.将其与不透明二进制 blob 的 installshield 项目进行比较.

Why the XML format is an advantage: this allows you to fully leverage code versioning systems like subversion or mercurial. Reviewing changes, examining history or even merging changes across branches is a breeze. Compare that to installshield projects which are opaque binary blobs.

我所说的管理复杂依赖的意思是:在我们的例子中,我们有一个庞大的可重用组件库池,它们之间有一组复杂的依赖关系,以及许多构建在其之上的应用程序.在 wix 之前,当在某处引入新的依赖项时,这是一场噩梦:必须更新所有设置.

What I mean by managing complex dependencies: in our case we have a big pool of reusable component libraries with a complex set of dependencies between them, and many applications that were build on top of that. Before wix, this was a nightmare when a new dependency was introduced somewhere: ALL setups had to be updated.

现在有了 wix,我们为每个库都有一个 ComponentGroup,组织成一对 wixlibs.每个组件组通过 ComponentGroupRef 引用它所依赖的其他组件组.应用程序设置开发人员只需要引用直接依赖的组件组,wix 将按照引用完成其余的工作.因此,引入新的依赖项只需要进行一次本地更改.我们的自动化构建和 wix 会完成剩下的工作以重新生成所有设置.

Now with wix, we have a ComponentGroup for each library, organized into a couple wixlibs. Each component group references other component groups that it depends on with a ComponentGroupRef. Application setup developers only need to reference the component groups of direct dependencies, and wix will do the rest by following the references. As a result, introducing a new dependency only requires making a single local change. Our automated builds and wix do the rest to regenerate all the setups.

这篇关于安装程序功能,WIX 与 InstallShield Express的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆