MSI 引导:外部 URL
经过大量搜索,我找到了一些有关如何创建引导 msi 的描述,但这些解决方案都假设 msi 是本地组件或标准 Windows 组件。 有没有办法让 msi 使用正常的 MSI 或 Wix 代码下载安装程序(这也是一个 msi),而不是让引导程序执行一些非本机程序来执行此操作?
Much searching has lead me to find several descriptions of how to create a bootstrapping msi, but these solutions all assume the msi is local or a standard Windows component. Is there a way to make an msi that downloads an installer (which is also an msi) with normal MSI or Wix code rather than by having the bootstrapper execute some non-native program to do so?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我对 msi 的经验是不可能同时运行 2 个。 (虽然可能是错误的)
我最终做的是使用 Inno Setup 制作一个安装程序 exe (http://www.jrsoftware.org)。 jrsoftware.org)和 ISTool(http://www.istool.org)下载并安装各种msi。 使用 ISTool,这很容易做到。
我知道它不像 Wix 那么别致或性感,但它对我来说非常有效。
My experience with msi's has been it's not possible to run 2 at the same time. (could be wrong though)
What I ended up doing was to instead make an installer exe using Inno Setup (http://www.jrsoftware.org) and ISTool (http://www.istool.org) which downloads and installs the various msi's. With ISTool it's very easy to do.
I know it's not as chic or sexy as Wix, but it worked for me very well.
我将创建一个在 InstallUISequence 中运行的自定义操作。 如果需要,这将下载 MSI(到源文件夹),然后尝试将其作为嵌套安装启动。
I would create a custom action that runs in the InstallUISequence. This would download the MSI if necessary (to the source folder), and then try to launch it as a nested installation.
Windows 会阻止两个安装同时出现在
InstallExecuteSequence
中,因此,如果您正在寻找带有引导程序的静默安装解决方案,那么您就是 SOL。但是,您可以从 UI 序列开始另一个安装,这可能是一个不错的解决方案,只要您建议您的客户如果要通过组策略进行部署,则必须首先安装某些其他依赖项,或者其他一些“沉默”的方法。
如果有帮助,我很确定您还可以使用 URL 调用 MSIEXEC,例如。
msiexec.exe /i http://some.domain/blah.msi /passive
Windows prevents two installs from being in the
InstallExecuteSequence
at the same time, so if you're looking for a silent install solution with a bootstrapper, you're SOL.However you can start another install from the UI sequence, which is probably an OK solution as long as you advise your customers that certain other dependencies must be installed first if they're going to deploy via group policy or some other 'silent' method.
If it helps, I'm pretty sure you can also call MSIEXEC with a URL, eg.
msiexec.exe /i http://some.domain/blah.msi /passive
我建议您编写一个本机应用程序并让它运行第一个 msi,然后运行 seccons msi。 我写了一篇关于如何执行此操作的博客。 这是一个 链接 (http://blog.foldertrack.com/?p=45)
I would suggest that you write a native app and have it run the first msi and then run the seccons msi. I wrote a blog on how to do this. Here is a link (http://blog.foldertrack.com/?p=45)