开发者

XP/2003 Windows Installer 4.5 differential patching problem

I've encountered a problem regarding the Windows Installer program. I am using one of the popular install wizard programs, which use the MSI installation engine. It provides the 开发者_如何学Godifferential patching capabilities, which is of course supported by the Windows Installer.

However, I've encountered a problem while trying to apply patch on WinXP (SP3) and 2003 (SP2).

I get the 1328 Windows Installer Error:

"Error applying patch to file [dll_name] It has probably been updated by other means, and can no longer be modified by this patch. For more information, contact your patch vendor. [Abort/Retry/Ignore]"

The dll_name is my dll file, and this error occurs only with this particular file.

It has a bit over 20 MB size, and the Total Commander plugin to compare files by content shows about 2,800 byte differences.

I've found in the depths of Internet that older versions of MSI had problem with large files with many changes in them, however I haven't been able to find any updates or hotfixes for XP to resolve this issue and make my patch work.

The only hotfix I have found was the : WindowsServer2003-KB983280-x86-ENU.exe for Windows 2003 Server, but it didn't make the patch work.

I have no more further ideas on how to resolve this issue and I would be glad to receive any help, which could lead to making this file patch properly.


I've run into this one before using InstallShield's tools.

In our case, it was due to producing a byte-level patch, which essentially only contains the bytes that are different between the original release and the current build. The advantage to this approach is the patch is as small as possible.

The disadvantage to the approach is if another earlier patch had already been applied affecting one or more of the files in your latest patch, it can no longer piece together an updated binary, and you'll get the error message you mentioned.

We were able to overcome the issue in our product by selecting the "Include whole files" option in the patch IDE, and then we rebuilt the patch. This made the patch include the entire binaries.

Here's more info about the error:

http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q107088&sliceId=

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜