安装大量数据包
我有大量(> 500)的数据包(不是程序文件)可以独立安装。数据包由我们的应用程序使用。安装这些数据包的最佳方法是什么?我想到了隐藏在删除软件控制面板中的msi文件。引导程序将用于选择要安装的软件包。
可能很难生成如此大量的数据 msi 文件,也很难为如此大量的 msi 文件生成更新。
对于这种情况有更好的选择吗?
I have a large number (> 500) of data packages (not program files) which can be independently installed. The data packages are used by our application. Whats the best way to install these data packages? I thought of msi files which are hidden in the remove software control panel. A bootstrapper would be used to select the packages to be installed.
It might be hard to produce this large number of data msi files and also hard to produce updates for such a large number of msi files.
Are there better alternatives for such a scenario?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果所有这些包都是真正独立的,那么使用您提出的机制可能是有意义的。如果包都非常小,则需要权衡,因为 Windows Installer 会为每个包添加一些启动命中。如果您可以将一些可能更新的软件包组合在一起,这可能有助于减少 MSI 的数量。
500只是很多单独的包。相比之下,所有 Visual Studio(恕我直言,这是一个巨大的产品)由约 130 个 MSI 组成。
我可以看到如何使用 WiX v3.6 中的 Burn 来很好地做到这一点
If all those packages are truly independent, then using the mechanism you are proposing might make sense. There are tradeoffs if the packages are all really small because the Windows Installer adds a bit of startup hit for each package. If you can combine some packages that are likely to be updated together, that might help reduce the number of MSIs.
500 is just a lot of separate packages. In comparsion all of Visual Studio (a huge product, IMHO) is made up of ~130 MSIs.
I could see how to do this well using Burn in WiX v3.6
这在一定程度上取决于您的具体要求和数据包的大小,但使用具有超过 500 个功能的单个安装程序可能会更容易。在这种情况下,它也不需要从控制面板隐藏。您可以从引导程序或脚本自动安装所需的功能,请参阅 WIX:如何从命令行选择功能。
无论哪种方式,如果您使用单个 msi 或 500 个不同的 msi,我建议投资于代码生成来创建 wxi 文件。也可以使用代码生成器同时生成支持文件,就像引导程序一样。当您有更新时,您希望代码生成器尽可能地避免进行 500 次相同的更改。可能可以使用 T4,请参阅 此示例。
It depends a bit on your exact requirements and the size of the data packages, but it might be easier to use a single installer with >500 features. In that case it also does not need to be hidden from the control panel. You can install the required features automatically from a bootstrapper or script, see WIX: How to Select Features From Command Line.
Either way if you use a single msi or 500 different msi's, I would suggest to invest in code generation to create the wxi files. And use the code generator too to generate support files at the same time, like the bootstrapper. When you have an update, you would like the code generator to do the most to avoid having to make the same change 500 times. Possibly it would be possible to use T4, see this example.