I decided to go with your advice and build a simple installer to get that working first... so I basically copied the Wix tutorial for building patches and kept updating it until I now have the same installer and patch, only that they work this time. I still have no idea why it didn't work before, which annoys me, but at least the installer system is working and I can move on to things that make more sense to me. ;)
Thanks for your help Peter. Regards /Tobias Dersén On Wed, Jun 15, 2011 at 10:55 AM, Peter Shirtcliffe <pshirtcli...@sdl.com>wrote: > That's a shame. We are currently struggling with a C#-based installation > product written in-house by another team so we've seen how trading for > short-term control yields long-term problems. Since we adopted Wix some > years > ago, which admittedly has a big learning curve mostly due to the underlying > Windows Installer, the deployment side of our products has improved > substantially. Getting the first version out is the hardest, but later > versions get easier. > > > Have a quick look at your build. We make our patches from admin > installations > rather than the full Wix-only method - if youre using the pure-Wix method > then it'll differ somewhat. These are the command lines, taken from an > MSBuild file used to build them. Maybe you can glean something from them. > > <!-- Uses -ax (admin) instead of -xi (xml input) and add -xo when using > -ax. > --> > torch.exe -t patch -xo -ax "$(WorkingDir)\Binaries" -p > "$(WorkingDir)\Release\$(MSIName)" "$(WorkingDir)\Update\$(MSIName)" -out > "$(WorkingDir)\Diff.Wixmst" > > candle.exe "$(MSBuildProjectDirectory)\Patch.wxs" -out > "$(WorkingDir)\Patch.wixobj" > > light.exe "$(WorkingDir)\Patch.wixobj" -out "$(WorkingDir)\Patch.WixMsp" > > pyro.exe" "$(WorkingDir)\Patch.WixMsp" -out > "$(MSBuildProjectDirectory)\$(PatchName)" -pdbout > "$(WorkingDir)\$(PatchName).wixpdb" -t $(Baseline) > "$(WorkingDir)\Diff.wixmst" > > ! Note that the $(BaseLine) value must be the same as PatchBaseLine/@Id > value > in the patch wxs file. > > After checking your build I'd suggest two things that help me: trying and > make a simple 1 file installer and patch. If that doesn't work then you > have > narrowed your search down. If it does work then you've verified that you > are > doing the right thing and just have to find where you didn't do it in the > product. > The other thing is to look at other patch logs and see what a successful > patch looks like and where your log differs. The answer is nearly always > there if only you know what to look for. Perhaps someone on here with > better > knowledge of patching can suggest where to look in the log, given the > information so far. > > -----Original Message----- > From: Tobberoth [mailto:tobber...@gmail.com] > Sent: 15 June 2011 09:01 > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Component Request: null eventhough > parentfeatureisinADDLOCAL > > I did indeed retain the code. Since nothing has changed except the > internals > of the two files, both heat-generated .wxs are identical. > > I'm glad to hear that it looks OK since I was worried I had made some > obvious embaressing mistake... that said, it's quite unsettling that you > can't find any problem. I've had SO many issues with Wix and I think my > boss > is getting less and less happy that I chose Wix for our development. While > Major Upgrades are working well, I've been trying to get some form of MSP > system to work for ages now and it just refuses to work. First I had major > issues with the SqlExtension where SQL refused to run during MSPs. I never > got that to work and I'm currently using a CAQuietExec to run sqlcmd > instead. (At that point in time, the MSP actually did update files though). > Now this. > > I'm on the verge of thinking that coding a whole installer myself in C# > would have been easier and faster. > > On Tue, Jun 14, 2011 at 2:06 PM, Peter Shirtcliffe > <pshirtcli...@sdl.com>wrote: > > > Did you run heat twice, once each on the original and upgrade MSIs, or > did > > you retain the same source code for both versions ? You should be > retaining > > the code. > > > > Other than that, it seems OK. > > > > -----Original Message----- > > From: Tobberoth [mailto:tobber...@gmail.com] > > Sent: 14 June 2011 12:33 > > To: General discussion for Windows Installer XML toolset. > > Subject: Re: [WiX-users] Component Request: null eventhough parent > > featureisinADDLOCAL > > > > Absolutely, let me know what information is needed. Here's my patch file, > > which is basically straight up from the tutorial on the wix page: > > > > <Patch > > AllowRemoval="yes" > > Manufacturer="Syscase" > > DisplayName="Test Patch" > > Description="Small Update Patch" > > Classification="Update" > > > > > > > <Media Id="5000" Cabinet="Sample.cab"> > > <PatchBaseline Id="Sample"/> > > </Media> > > > > <PatchFamilyRef Id="SamplePatchFamily"/> > > </Patch> > > > > <Fragment> > > <PatchFamily Id='SamplePatchFamily' Version='5.1.0.0' > > Supersede='yes'> > > <ComponentRef Id="cmp432C3967A6AA13C06D8D1E0E95348403"/> > > <ComponentRef Id="cmpTestsql"/> > > <CustomActionRef Id="sqlcmd.cmd" /> > > </PatchFamily> > > </Fragment> > > > > The components are defined in a .wxs created by heat, something like > this: > > <Fragment> > > <DirectoryRef Id="INSTALLDIR"> > > <Directory Id="dirFC51653BB9D6AD82C52CC25E1257C927" > > Name="readme"> > > <Component Id="cmp432C3967A6AA13C06D8D1E0E95348403" > > Guid="84E0BEA1-95DA-4D37-A838-EAB8D0556A75"> > > <File Id="filFBC7318D3D0A5C9BDF1AE0C50DB2AF45" > > KeyPath="yes" Source="SourceDir\..\Files\readme.txt" /> > > </Component> > > </Directory> > > <Component Id="cmpTestsql" Guid="58BE1C34-46EE-4AC0-98C4-58DF2C4726CF"> > > <File Id="filTestSql" KeyPath="yes" > > Source="SourceDir\..\Files\Test.sql" /> > > </Component> > > </DirectoryRef> > > </Fragment> > > <Fragment> > > <ComponentGroup Id="NewFilesGroup"> > > <ComponentRef Id="cmp432C3967A6AA13C06D8D1E0E95348403" /> > > <ComponentRef Id="cmpTestsql" /> > > </ComponentGroup> > > </Fragment> > > > > If I can post anything more to help you help me, just let me know. > > > > > > On Mon, Jun 13, 2011 at 11:34 AM, Peter Shirtcliffe > > <pshirtcli...@sdl.com>wrote: > > > > > Sorry I was ambiguous. When I say "edited", I mean "edited the > installed > > > version", not the version used to build the MSI. It sounds like you've > > done > > > it correctly. > > > > > > If the file was not edited on the target machine and you didn't find > any > > > advertising in the log and vamus doesn't help, then I'm not sure what > > could > > > be wrong from the information given. Can you post extracts of your > patch > > > wxs > > > and component definitions ? > > > > > > -----Original Message----- > > > From: Tobberoth [mailto:tobber...@gmail.com] > > > Sent: 13 June 2011 09:00 > > > To: General discussion for Windows Installer XML toolset. > > > Subject: Re: [WiX-users] Component Request: null eventhough parent > > > featureis > > > inADDLOCAL > > > > > > Thanks for your reply. > > > > > > Yes, the text file has been edited after the install. I build msi 1, > > > install > > > it. I edit the text file, create msi 2, create msp from the two msi's > and > > > run it (with REINSTALLMODE=vamus). File is not updated nor requested. > > > I looked at your link and only found 2 parts. In both, the problem > > seemed > > > to have something to do with advertise, but "advertise" is not > mentioned > > in > > > my patch log, so I don't think either article is relevant to my issue > :( > > > > > > Any more advice would be very appreciated. > > > On Fri, Jun 10, 2011 at 4:36 PM, Peter Shirtcliffe > > > <pshirtcli...@sdl.com>wrote: > > > > > > > Has the text file been edited since it was installed ? Ensure that > the > > > > modification and creation dates and times are the same before > applying > > > the > > > > msp. > > > > > > > > There is no reinstallmode at component level. You could try > > > > REINSTALLMODE=vamus to force an overwrite regardless of "version" > just > > to > > > > see > > > > if that works. > > > > > > > > This series of 3 articles may suggest avenues of inquiry > > > > > > > > > > > > > > > > > > > > http://blogs.msdn.com/b/windows_installer_team/archive/2005/08/17/451516.aspx > > > > > > > > > > > > -----Original Message----- > > > > From: Tobberoth [mailto:tobber...@gmail.com] > > > > Sent: 10 June 2011 15:11 > > > > To: wix-users@lists.sourceforge.net > > > > Subject: [WiX-users] Component Request: null eventhough parent > feature > > is > > > > inADDLOCAL > > > > > > > > Hello everyone, > > > > > > > > I'm trying to make an MSP which can update a few files and run a few > > SQL > > > > scripts. It has taken me ages to get anywhere because of boatloads of > > > > issues, but I'm finally in a situation where my MSP runs and > completes, > > > > updating the database properly. Unfortunately, it doesn't actually > > update > > > > files and I can't understand why. My setup is like this: > > > > > > > > * I make an msi which includes a .txt file. > > > > * I make a second msi which includes the same .txt after it has been > > > > updated. > > > > * I make a minor upgrade .msp from the two .msi files. > > > > > > > > I run the first msi, it works great. If I run the second one (as a > > major > > > > upgrade) that works as well, it contains the updated .txt file. > > However, > > > if > > > > I run the first msi then run the msp, the .txt file isn't updated, > even > > > > though opening the .msp in InstaEd! shows that the patch .cab > contains > > > the > > > > updated .txt file. Running with verbose log, it looks good for the > > > feature: > > > > > > > > MSI (s) (6C:00) [15:37:48:756]: Feature: FEAT_Main; Installed: Local; > > > > Request: Local; Action: Local > > > > > > > > It's installed but it's requested to be installed again, as it should > > be > > > > since I'm running with REINSTALL=ALL and REINSTALLMODE=vomus. Sweet. > > > > > > > > However, the component which is part of the feature is showing > > something > > > > else: > > > > > > > > MSI (s) (6C:00) [15:37:48:756]: Component: > > > > cmp432C3967A6AA13C06D8D1E0E95348403; Installed: Local; Request: > Null; > > > > Action: Null > > > > > > > > What? How can the component possibly not be requested when the > feature > > > > which > > > > owns it is? Another component in the same feature (.sql file) is > > > requested > > > > to local as expected. > > > > > > > > Does the MSP by default not understand that it's supposed to > overwrite > > > > files > > > > which have changed between packages? How can I force Request: local > on > > > the > > > > component level since it isn't enough on the feature level? > > > > > > > > Regards > > > > /Tobias Dersén > > > > > > > > > > > > > > > > > > > > ----------------------------------------------------------------------------- > > > > - > > > > EditLive Enterprise is the world's most technically advanced content > > > > authoring tool. Experience the power of Track Changes, Inline Image > > > > Editing and ensure content is compliant with Accessibility Checking. > > > > http://p.sf.net/sfu/ephox-dev2dev > > > > _______________________________________________ > > > > WiX-users mailing list > > > > WiX-users@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > SDL PLC confidential, all rights reserved. > > > > If you are not the intended recipient of this mail SDL requests and > > > > requires that you delete it without acting upon or copying any of its > > > > contents, and we further request that you advise us. > > > > SDL PLC is a public limited company registered in England and Wales. > > > > Registered number: 02675207. > > > > Registered address: Globe House, Clivemont Road, Maidenhead, > Berkshire > > > SL6 > > > > 7DY, UK. > > > > > > > > > > > > > > > > > > > > > > > > > > > > ----------------------------------------------------------------------------- > > > - > > > > EditLive Enterprise is the world's most technically advanced content > > > > authoring tool. Experience the power of Track Changes, Inline Image > > > > Editing and ensure content is compliant with Accessibility Checking. > > > > http://p.sf.net/sfu/ephox-dev2dev > > > > _______________________________________________ > > > > WiX-users mailing list > > > > WiX-users@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > > ----------------------------------------------------------------------------- > > > - > > > EditLive Enterprise is the world's most technically advanced content > > > authoring tool. Experience the power of Track Changes, Inline Image > > > Editing and ensure content is compliant with Accessibility Checking. > > > http://p.sf.net/sfu/ephox-dev2dev > > > _______________________________________________ > > > WiX-users mailing list > > > WiX-users@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > ----------------------------------------------------------------------------- > > - > > > EditLive Enterprise is the world's most technically advanced content > > > authoring tool. Experience the power of Track Changes, Inline Image > > > Editing and ensure content is compliant with Accessibility Checking. > > > http://p.sf.net/sfu/ephox-dev2dev > > > _______________________________________________ > > > WiX-users mailing list > > > WiX-users@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > ----------------------------------------------------------------------------- > > - > > EditLive Enterprise is the world's most technically advanced content > > authoring tool. Experience the power of Track Changes, Inline Image > > Editing and ensure content is compliant with Accessibility Checking. > > http://p.sf.net/sfu/ephox-dev2dev > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > ----------------------------------------------------------------------------- > - > > EditLive Enterprise is the world's most technically advanced content > > authoring tool. Experience the power of Track Changes, Inline Image > > Editing and ensure content is compliant with Accessibility Checking. > > http://p.sf.net/sfu/ephox-dev2dev > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ----------------------------------------------------------------------------- > - > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users