WiX: Patching something you didnt build with WiX using WiX
This post has moved here.
Comments
Anonymous
May 30, 2008
PingBack from http://www.doctordeploy.com/blog/wix/wix-patching-something-you-didnt-build-with-wix-using-wix.htmlAnonymous
September 02, 2008
With WiX build 4415 I get: torch.exe : error TRCH0001 : The Windows Installer service failed to start. Contact your support personnel Exception Type: System.ComponentModel.Win32Exception Stack Trace: at Microsoft.Tools.WindowsInstallerXml.Msi.Database.GenerateTransform(Databas e referenceDatabase, String transformFile) at Microsoft.Tools.WindowsInstallerXml.Binder.BindTransform(Output transform, String transformFile) at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file ) at Microsoft.Tools.WindowsInstallerXml.Tools.Torch.Run(String[] args) Binder temporary directory located at 'C:UsersmeAppDataLocalTempbhbh zyew'. Unbinder temporary directory located at 'C:UsersmeAppDataLocalTempbh bhzyew'. Torch temporary directory located at 'C:UsersmeAppDataLocalTempkd0mm uii'.Anonymous
September 02, 2008
Can you provide more info? The command lines you ran. Possibly the msi's for the target and upgrade?Anonymous
September 02, 2008
The comment has been removedAnonymous
September 08, 2008
The comment has been removedAnonymous
September 10, 2008
Will do! WiX version is 3.0.4415.0. Thanks.Anonymous
November 19, 2008
It seems you need to provide -xo also when doing a diff on msi files. That makes the output format to be of wixout format which is implicitly done when using -xi. At least that solved the same problem for me.Anonymous
November 23, 2008
The comment has been removedAnonymous
November 23, 2008
The comment has been removedAnonymous
November 23, 2008
The comment has been removedAnonymous
May 15, 2009
hello, after some troubles regarding to use torch on MSI I have finally made a sample msp. I only wondered what does the ComponentRef tag beyond <PatchFamily> element in patch.wxs? When entering a reference there, the patch file is really small instead when leaving it blank (none ref tags)???Anonymous
June 22, 2009
The comment has been removedAnonymous
October 07, 2009
Peter, I have a 3rd party setup.exe which internally extracts am MSI and installs some setup. As MSI cannot be installed from inside an MSI, i want to create a merge-module for the setup.exe itself, coz the MSI that the setup.exe extracts has some other dependency file and hence the msi wouldnt run when clicked on it. Is there any way to get msm for the setup.exe file? ThanksAnonymous
October 07, 2009
You probably don't want to get in the business of repackaging msi's. That 3rd party relies on the MSI registration in order to be able to service the product. If you use an MSM, you could be left with a security vulnerability and the product you installed wont get the update from the vendor. Is it correct to assume that you are installing the 3rd party setup.exe as a customaction from within your msi? If thats what you are doing, I would recommend taking a look at using a chainer/bootstrapper such as the one provided by the Visual Studio "Setup and Deployment" projects, Install Shield, or the chainer being developed as we speak by the WiX community called Burn.Anonymous
October 12, 2009
Patch.msp created and installed but it doesnot update the files. What might the issue? In the logs it has picked up the diff file Ids.Anonymous
October 13, 2009
The comment has been removedAnonymous
October 13, 2009
Referring to log of patch installation. msiexec /update patch.msp REINSTALL=ALL REINSTALLMODE=amus /L*v patchinst.log Files which differs are .aspx files and they are unversioned. Replace/overwrite existing unversioned (i.aspx) to unversioned (i.aspx)Anonymous
October 14, 2009
Thanks,i did follow the above examples fully. it works now. After manually added the componentRef to patch.wxs file. But i have huge lists of componentRef, is it possible to specify the ComponentGroupRef instead and I use Paraffin to generate .wxs files and i was trying to avoid the manually task in adding the componentRef. Pls suggest.Anonymous
October 15, 2009
just went through the child elements of patchfamily and added DirectoryRef instead of componentRef under patchfamily. it works great now.Anonymous
October 15, 2009
The comment has been removedAnonymous
October 20, 2009
The comment has been removedAnonymous
October 21, 2009
Did you try doing what the error suggests? The 'Patch' element's attribute 'AllowRemoval' should be set to 'no' This error comes up because what you are doing will prevent the patch from being uninstalled. If you are ok with that then you have to explicitly say that the patch is not uninstallable on the Patch attribute.Anonymous
October 21, 2009
The comment has been removedAnonymous
October 25, 2009
The comment has been removedAnonymous
October 28, 2009
The comment has been removedAnonymous
October 29, 2009
The comment has been removedAnonymous
October 29, 2009
The comment has been removedAnonymous
October 29, 2009
The comment has been removedAnonymous
November 20, 2009
The comment has been removedAnonymous
November 20, 2009
I should have added in my epic comment above that I have tried this with and without using the PatchFamilyRef. Doesn't make any difference if I include the PatchFamily element within the Patch element.Anonymous
November 21, 2009
The comment has been removedAnonymous
November 21, 2009
The comment has been removedAnonymous
April 28, 2010
Can you please document this step by step. The above instructions are not clear enough and there is no where else on the net that I can see similar instructions. Thanks, WilAnonymous
April 28, 2010
Hi Wil, can you tell me where you need more clarity so I can help and update accordingly?Anonymous
June 14, 2010
Hi Peter, after playing with patches for MSI files (using the admin installation way), I decided to write it down for reference: blog.stephenreindl.de/.../creating-patches-with-wixAnonymous
August 16, 2011
The comment has been removed