【问题标题】:MSI Error 2920: Source directory not specified for file [2] when patching via WiX/MSPMSI 错误 2920:通过 WiX/MSP 修补时未为文件 [2] 指定源目录
【发布时间】:2012-01-24 15:24:41
【问题描述】:

目前我们有一个场景,有一个 CD 版本 (A)、一个中间补丁 (B) 和一个即将发布的补丁 (C)。

安装 (A) 并直接修补到 (C) 工作正常,但是当用户修补到 (B) 再到 (C) 时,他们在“复制新文件”操作期间收到错误 2920(第一个文件按顺序)。

有趣的是这个问题不会出现在 Windows 7 上,而是出现在 Win2K3 和 XP 上,这表明不同版本的 Windows Installer 处理这种情况的方式不同。

当前的补丁实现创建管理员安装,为 MSP 准备 WiX 源文件,创建 PCP 文件,然后创建/签署 MSP 文件。

我已经到处找了,还没有确定的原因/解决方案。

感谢您的宝贵时间。

【问题讨论】:

    标签: wix windows-installer


    【解决方案1】:

    我从未使用 Wix 创建过补丁,但我使用其他创作工具做过,据我所知,Windows Installer 需要一组基本规则,必须遵循这些规则才能正确创建路径。其中一个说:“不要更改文件柜中文件的顺序。”。你在你的包裹里检查过吗?

    可以在此处找到有关补丁所需规则的更多详细信息: http://msdn.microsoft.com/en-us/library/aa367850.aspx

    【讨论】:

      【解决方案2】:

      在与 Microsoft 技术打完电话后,事实证明,无论您是从基线补丁还是中间补丁开始,问题都会发生。问题本身以 Windows Installer 版本不兼容的形式表现出来。

      基本上回到我们发布 CD 版本时,我们使用的是 VS2008。从那时起我们迁移到 VS2010,最新的补丁是用在 VS2010 中完成的文件制作的。 VS2010(根据技术人员告诉我的)依赖于 Windows Installer 4.5。

      早期的操作系统(例如 2K3 和 XP)带有早期版本的 Windows Installer,因此出现错误。

      我最终只是引导 Windows Installer 4.5 软件包并调整 lua 脚本以更加个性化用户体验。

      【讨论】:

        猜你喜欢
        • 2012-06-19
        • 1970-01-01
        • 2015-07-16
        • 1970-01-01
        • 2015-04-12
        • 2017-04-27
        • 2012-08-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多