我已经创建了基础产品,补丁和后续补丁。例如,有三个文件:AAA.dll将由第一个补丁和第二个补丁更新; BBB.dll将由第一个补丁更新,CCC.dll将由第二个补丁更新。 添加GUID是静态的。
任何想法,它可能是什么?
小更新:第一个修补程序包含多个注册表项,这些注册表项未包含在第二个修补程序中。这会导致错误的行为吗?
再次更新:添加了方案5。
看起来序列号有问题。这是日志文件的一小段日志:
MSI (c) (F4:00) [17:38:09:395]: Note: 1: 2262 2: _Tables 3: -2147287038
MSI (c) (F4:00) [17:38:09:395]: Note: 1: 2262 2: _Columns 3: -2147287038
MSI (c) (F4:00) [17:38:09:395]: The patch sequencer will optimize its execution by not checking the applicability of applied patches.
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: verifying the applicability of QFE patch D:\Vadim\Build 10878\Packages\Patch_5.3.1.152\Patch_5.3.1.152.msp against product code: {E19A7576-0466-4156-A8B1-2796EFBF38CD}, product version: 5.3.1.118, product language 1033 and upgrade code: {AB899CB4-E853-4203-B867-2B6E6A3F2F2B}
MSI (c) (F4:00) [17:38:09:395]: Validating transform '_5.3.1.118.1' with validation bits 0x922
MSI (c) (F4:00) [17:38:09:395]: Transform '_5.3.1.118.1' is valid.
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: QFE patch D:\Vadim\Build 10878\Packages\Patch_5.3.1.152\Patch_5.3.1.152.msp is applicable.
MSI (c) (F4:00) [17:38:09:395]: The original #_QFESequence table:
MSI (c) (F4:00) [17:38:09:395]: PatchGUID: {70D34A3C-342B-4DB9-A163-C26DC50342CF} ResultantVersion: 5.3.1.118 PatchFamily: Hotfix__3 Sequence: 5.3.1.148 Type: QFE
MSI (c) (F4:00) [17:38:09:395]: PatchGUID: {0678A98C-E04D-4FC2-96C3-CA850D964BD0} ResultantVersion: 5.3.1.118 PatchFamily: Hotfix__4 Sequence: 5.3.1.152 Type: QFE
MSI (c) (F4:00) [17:38:09:395]: The pre-sorted #_QFESequence table: - this is useful to see if patches had been ordered correctly within resultant versions and patch families
MSI (c) (F4:00) [17:38:09:395]: PatchGUID: {70D34A3C-342B-4DB9-A163-C26DC50342CF} ResultantVersion: 5.3.1.118 PatchFamily: Hotfix__3 Sequence: 5.3.1.148 VersionOrder: 0 SequenceOrder: 0 Type: QFE
MSI (c) (F4:00) [17:38:09:395]: PatchGUID: {0678A98C-E04D-4FC2-96C3-CA850D964BD0} ResultantVersion: 5.3.1.118 PatchFamily: Hotfix__4 Sequence: 5.3.1.152 VersionOrder: 0 SequenceOrder: 0 Type: QFE
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: The initial #_Predecessor table:
MSI (c) (F4:00) [17:38:09:395]: PatchFamily: Hotfix__3, PatchGUID: {70D34A3C-342B-4DB9-A163-C26DC50342CF}, Predecessor GUID: NULL
MSI (c) (F4:00) [17:38:09:395]: PatchFamily: Hotfix__4, PatchGUID: {0678A98C-E04D-4FC2-96C3-CA850D964BD0}, Predecessor GUID: NULL
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: Step 1
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: patch {70D34A3C-342B-4DB9-A163-C26DC50342CF} (PatchFamily Hotfix__3) will be sequenced.
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: patch {0678A98C-E04D-4FC2-96C3-CA850D964BD0} (PatchFamily Hotfix__4) will be sequenced.
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: The resulting #_OrderedGUIDs table:
MSI (c) (F4:00) [17:38:09:395]: Patch: {0678A98C-E04D-4FC2-96C3-CA850D964BD0} Order: 0 (Family: Hotfix__4)
MSI (c) (F4:00) [17:38:09:395]: Patch: {70D34A3C-342B-4DB9-A163-C26DC50342CF} Order: 1 (Family: Hotfix__3)
MSI (c) (F4:00) [17:38:09:395]: The ordered #_QFESequence table: - has the final sequence of QFEs. It lists each PatchGUID only once.
MSI (c) (F4:00) [17:38:09:395]: PatchGUID: {0678A98C-E04D-4FC2-96C3-CA850D964BD0} ResultantVersion: 5.3.1.118 PatchFamily: Hotfix__4 Sequence: 5.3.1.152 Order: 0
MSI (c) (F4:00) [17:38:09:395]: PatchGUID: {70D34A3C-342B-4DB9-A163-C26DC50342CF} ResultantVersion: 5.3.1.118 PatchFamily: Hotfix__3 Sequence: 5.3.1.148 Order: 1
MSI (c) (F4:00) [17:38:09:395]: PATCH SEQUENCER: there's no supersedence information available, so no patches will be superseded.
MSI (c) (F4:00) [17:38:09:395]: SequencePatches returns success.
MSI (c) (F4:00) [17:38:09:395]: Final Patch Application Order:
MSI (c) (F4:00) [17:38:09:395]: {0678A98C-E04D-4FC2-96C3-CA850D964BD0} - D:\Vadim\Build 10878\Packages\Patch_5.3.1.152\Patch_5.3.1.152.msp
MSI (c) (F4:00) [17:38:09:395]: {70D34A3C-342B-4DB9-A163-C26DC50342CF} -
MSI (c) (F4:00) [17:38:09:395]: Machine policy value 'DisablePatch' is 0
MSI (c) (F4:00) [17:38:09:395]: Machine policy value 'AllowLockdownPatch' is 0
MSI (c) (F4:00) [17:38:09:395]: Machine policy value 'DisableLUAPatching' is 0
MSI (c) (F4:00) [17:38:09:396]: Machine policy value 'DisableFlyWeightPatching' is 0
但为什么呢?我怎么能解决它?小型测试产品没有问题,它的构建方式与真实产品相同。但是在这种情况下,真实产品的基础MSI> 600Mb和补丁是约。 48MB。这可能是个问题吗?
我的建议是通过一个小补丁证明的。对我来说,这看起来像是一个MS bug。有没有人知道,如果有可能联系MS并询问它是否是一个已知的错误或功能?或者最终创建并跟踪错误报告?