开发者

Apply a transform to the binary table to alter a custom action

We recently had an MSI go out the door with a bad bug in a custom action. I was able to create a transform for the MSI binary table and this did work but I think I was lucky. I altered the custom action (Installscript), comp开发者_开发问答iled the script and then exported the binary table. I imported the binary table into a copy of the base MSI and then created an MST from the base MSI and the copy with the new binary table. I basically replaced ISSetup.dll by doing this.

My question is, was I lucky to get this to work? What are the pitfalls of this process that I'm not thinking of and is there a better way to do this?


In my days repackaging software for enterprise distribution, I certainly made patches, transforms, and version upgrades by methods like you have described, with no issues. However, I don't recall if I ever replaced a binary file via the the binary table alone...

Instead, I typically used MSIDB.EXE to extract the files or CAB, then added my changes, then re-imported the file(s). There's are some extensive instructions here, although you probably won't need more than the syntax for the MSIDB.EXE program to do it yourself.

I can't think of a reason why your method of importing the entire binary table would cause problems, as long as you're only replacing an existing file. But for future reference, you may find the above technique to be faster and easier.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜