2010-01-04 85 views
1

我有一个应用程序,在第一次安装程序运行时需要一个boostrapper,您可以选择已安装应用程序的语言,安装.net框架,如果它还没有还有其他一些先决条件。WiX安装程序设计选项,用于引导程序和无缝更新

  1. 我已经看到了在维克斯如何:Install the .NET Framework Using a Bootstrapper ,但我不明白如何使用此为其他自定义的先决条件。
    什么是最好的引导程序使用这个?

  2. 安装应用程序后,我们对应用程序启动进行了更新检查。如果存在新版本,我们需要下载并升级软件。
    这不会是一个无声的升级,因为EULA和其他一些东西可能会在此期间发生变化,所以我们仍然需要在updater msi中进行这些检查的GUI。所以我正在考虑如何做到这一点的不同选择。
    我的第一个想法是有2个独立的安装程序。 第一个将使用引导程序和完整的GUI,另一个将使用最少的GUI进行更新。 有更好的选择吗?

  3. 我还希望对更新安装程序的访问仅限于实际安装软件的用户。 我不太确定这样做的最佳方法。

我熟悉升级代码等WiX升级过程本身...所以这不是问题。
我只是在寻找一种可能的最佳方式来设计所有这些。

任何想法表示赞赏。我使用WiX的3.0.5419.0从Visual Studio 2008中

回答

4

我已经看到了在维克斯如何: 安装.NET Framework使用 引导程序,但我不知道如何 将其用于其他自定义 先决条件。

您可以使用相同的技术(即MSBuild的GenerateBootStrapper任务)安装自定义的先决条件,但你必须笔者自己的引导程序包。要做到这一点

的一种方法是研究现有的引导程序包中C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\(或Windows SDK的那些)和阅读documentation of the Bootstrapper Manifest XML formatbootstrapper generator工具也可能有所帮助。

至于自动更新您的应用程序:它不支持wix。我相信曾经有计划在名字clickthrough的基础上增加这个功能,但我认为这些计划不会成熟。如果他们这样做了,我找不到任何有关它的文档。

+0

我一直在玩dotnetInstaller http://dotnetinstaller.codeplex.com。看起来不错! 所以你说我的更新策略是健全的? – 2010-01-04 15:10:55

+0

我不确定。我的答案关注问题(1)。我所说的关于自动更新的唯一情况是它不受wix支持。另外,我的答案没有提到dotnetinstaller。这完全是一个替代答案。所以我对你在这里的评论有点困惑...... – 2010-01-04 22:31:34

+0

我刚才说我使用dotNetInstaller作为引导程序,它很好地工作。而已。我认为你的更新评论意味着我的更新想法是好的。猜我暗示错了:) – 2010-01-04 23:27:47