我目前正在学习如何使用 WiX 创建 msi 安装程序,但似乎遇到了困难。
当我创建一个包含单个环境所需的所有内容的 MSI 时,一切都很好。
我有功能和组件,并且可以安装我的 MSI。
现在我正处于想要将其转换为 SQL Server 样式安装程序的阶段,您可以在其中支持多个实例。
一开始,我希望用户获得一个屏幕,允许他创建新实例或管理已经存在的实例。 (更新/删除它们)
我花了整整两天的时间到处寻找解决方案,但运气不佳。
我找到了以下资源,其中包含一些信息,但它们要么在实例数量上受到限制,要么没有描述如何为用户提供上述选项的引导程序。
有人已经使用 WiX 实现了这一点吗? 或者有人可以向我指出一些关于如何实现这一目标的工作示例吗?
我知道 Installshield 2009 可以做到这一点,但由于这只是一个爱好,我没有钱购买它。 我还想在 WiX 中执行此操作,因为即将推出的 Visual Studio 2010 将改进对其的支持。
I'm currently learning how to create msi installers using WiX and it seems I've hit a wall.
All is well when I create an MSI containing everything needed for a single environment.
I have features, and components, and can install my MSI.
Now I'm at the stage where I want to convert this in a SQL Server-style installer, where you have multiple instances support.
At the start I want to user to get a screen which allows him to create a new instance, or manage already existing instances. (to update/remove them)
I've spend 2 full days looking everywhere for a solution, without much luck.
I've found the following resources with some info on it, but either they're limited in the number of instances, or don't describe how to such a bootstrapper which gives a user the option described above.
Has anyone achieved this already using WiX? Or can anyone point me towards some working examples on how this is achieved?
I know Installshield 2009 can do this, but since this is just a hobby, I don't have the money to buy that. Also I'd like to do it in WiX, since the upcoming Visual Studio 2010 will improve support for it.
发布评论
评论(2)
使用 WiX v3 创建多个实例非常容易。 您只需使用 InstanceTransform 和 Instance 元素来创建所有内容。 现在,引导程序问题需要 WiX 工具集之外的东西,因为我们还没有burn。 我不确定我们是否会在 WiX v3.5(带burn)中获得此功能,但它在我们的burn post v3.5列表中。
Creating multiple instances is pretty easy with WiX v3. You just use the InstanceTransform and Instance elements to create everything. Now, the bootstrapper problem requires something outside of the WiX toolset since we don't have burn, yet. I'm not sure we'll get this functionality in WiX v3.5 (with burn) but it is on our list for burn post v3.5.
虽然我从未创建过多实例设置,但我也注意到 Acresso 在 IS 2009 中宣布了 MI 支持。我们有 IS 2009,但没有使用此功能。
然而,Installshield 通常只是通过向新的 MSI 功能提供“直观”的前端来利用它们(例如将多个 MSI 链接在一起)。 因此,您可能需要查找有关如何使用 MSI SDK 实现此目的的一般信息。
以下是一些有用的链接,可能会为您指明正确的方向:
Although I've never created a multi-instance setup, I also noticed that Acresso announced MI support in IS 2009. We have IS 2009 but didnt use this feature.
However, Installshield often simply makes use of new MSI features by offering an "intuitive" frontend to them (like for chaining multiple MSIs together into one). So you might want to look for general information on how to achieve that by using the MSI SDK.
Here are some useful links that might point you to the right direction: