【发布时间】:2013-01-04 02:43:34
【问题描述】:
背景资料:
我们曾经有一个基于 Visual Studio 2010 的安装程序项目,但我们的安装情况变得更加复杂,而且随着项目在 2012 年消失,我们认为我们应该开始学习 WiX / InstallShield LE。
问题:
InstallShield LE 在它创建的 MSI 文件中似乎太有限了,无法满足我们的需求——(例如,如果您检查 Office 2007 先决条件,即使错误说您需要“Office 2007 或更高版本”,它也会失败如果您安装了 Office 2010 - 您可以检查一个或另一个,但不能创建 OR 条件 - 还有很多只是冰山一角)。 -- 另一方面,它创建的引导程序非常棒!
另一方面,WiX 非常适合制作我们的 MSI,但 Burn Bootstrapper 只是一个接一个地让人头疼——我们终于让它工作了——但现在在我们客户的盒子上,它不仅没有在启动 MSI 文件时提升,但它被Symantec SONAR 检测为病毒,并且安装被阻止! (InstallShield LE 不会发生这种情况,而且代码签名证书对于这个项目来说成本太高。)老实说,我很想不使用 Burn Bootstrapper。
问题:
WiX Burn Bootstrapper 有哪些替代品?可以使用 InstallShield LE 吗? NSIS 呢? (它是否与 Visual Studio 2010/Visual Studio 2012 完全集成?)——我希望对我们的先决条件进行网络安装以减小安装程序文件的大小——是的,我还必须维护 .MSI (否则,此时我将切换到完全开启的 NSIS)。
分辨率:
虽然我无法让Christopher Painter's solution 工作,但我将其标记为答案,因为我相信这是建议的最佳方法。我选择了pretty evil little hack 的解决方案,但如果你能让克里斯托弗的方法奏效,我认为这就是要走的路。如果你不能,也许我的 hack 会让你摆脱困境。
【问题讨论】:
-
顺便说一句,接受的答案和赞成票表示赞赏。查阅 RFP 更是如此。 :)
-
+1 FWIW,我认为您很好地描述了您的问题并提前列出了具体条件(事实证明,没有人需要在这个 cmets 区域提出其他问题.. .)
-
病毒检查器烧录误报的唯一问题是什么?如果病毒检查程序导致问题,则提升失败很可能是这种情况的症状(因为大多数病毒检查程序会阻止/终止他们怀疑是病毒的进程)。
-
@BrainSlugs83 从外部不清楚为什么 Burn 可执行文件会被选中。在这些 cmets 中的一些全部弹出后,我将可执行文件发送给所有主要供应商,以便他们可以更新他们的签名。从那时起,这个问题似乎已经减少了很多,现在通常是过时的防病毒产品出现问题。此外,签署 Bundle 似乎总是可以避免工具误报。如果我们可以在 WiX 工具集中做更多事情,我们会去做。目前尚不清楚那是什么......或者这仍然是一个主要问题。
-
@BrainSlugs83 大约一个月前。
标签: visual-studio-2010 wix windows-installer installshield nsis