I have now modified my build script to use a locally build msi installer and comparing it with a version build on my build server yesterday. There is no practical difference between the two msi files except the version numbers.
Is that why I keep getting errors? I get the following error from Torch: error TRCH0279 : The table definition of 'WixVariable' in the target database does not match the table definition in the updated database. A transform requires that the target database schema match the updated database schema. And I get this from Pyro: Updating file information. Creating cabinet files. There will be '8' threads used to produce CAB files. MinorUpdate\Patch.wxs(13) : warning PYRO1079 : The cabinet Patch.cab' does not contain any files. If this patch contains no files, this warning can likely be safely ignored. Otherwise, try passing -p to torch.exe when first building the transforms, or add a ComponentRef to your PatchFamily authoring to pull changed files into the cabinet. Creating cabinet 'AppData\Local\Temp\q0qw3fj2\#Patch.cab'. Generating database. pyro.exe : error PYRO0001 : Cannot set column 'Protocol' with value 1 because it is less than the minimum allowed value for this column, 6. Exception Type: System.InvalidOperationException Stack Trace: at Microsoft.Tools.WindowsInstallerXml.ColumnDefinition.ValidateValue(Object value) at Microsoft.Tools.WindowsInstallerXml.Row.set_Item(Int32 field, Object value) at Microsoft.Tools.WindowsInstallerXml.Binder.BindTransform(Output transform, String transformFile) at Microsoft.Tools.WindowsInstallerXml.Binder.GenerateDatabase(Output output, String databaseFile, Boolean keepAddedColumns, Boolean useSubdirectory) at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, String databaseFile) at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file) at Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Run(String[] args) Any help will be appreciated. /Thomas Due > -----Original Message----- > From: uni [mailto:unigauld...@gmail.com] > Sent: 2. maj 2013 12:07 > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Creating patches > > 于02 May 2013 17:31:10,Thomas Due写到: > > Hello, > > > > I am trying to grasp the concept of minor and small upgrades, but I am > having some trouble with getting it to work. > > > > First of all, it doesn't seem to work at all with 3.7. > > I have downgraded my WiX to 3.5, and there something happens at least, > but my msp seems to be empty when I examine it with instead > (http://www.instedit.com/). > > > > A bit about what I do: > > I have a fairly complex installer with a couple of hundred files total, > > divided > among 4 features. I build this with TeamCity, and I have two separate > installers (no real changes, except for the version nummer - 1.2.0.22679 and > 1.2.5.22754). I imagine that this should be enough to generate something. > > > > I have a build script, a simple batch file, which executes the four steps > described in both the WiX doc and Nick Ramirez' book. > > > > My patch.wxs then includes a couple of file components, as I want these > replaces (mind you, I am still in the testing phase, trying to understand the > concept). > > > > First my "build script": > > ======================================= > > "%wixdir%bin\torch.exe" -p -xi %oldmsi% %newmsi% -v -out diff.wixmst > > "%wixdir%bin\candle.exe" -v Patch.wxs "%wixdir%bin\Light.exe" -v > > Patch.wixobj -out patch.wixmsp "%wixdir%bin\pyro.exe" -v "patch.wixmsp > > -out patch.msp -t Patch diff.wixmst > > > > %oldmsi% and %newmsi" are complete paths to the wixpdb files for > respectively old and new installer. > > Then my Patch.wsx: > > ======================================= > > <?xml version="1.0" encoding="utf-8"?> <Wix > > xmlns="http://schemas.microsoft.com/wix/2006/wi" > > > <?include BuildVariables.wxi ?> > > <Patch AllowRemoval="yes" > > Classification="Update" > > Manufacturer="$(var.Manufacturer)" > > Description="Patch" > > DisplayName="Patch $(var.CurVersion)"> > > <Media Id="1000" Cabinet="´Patch.cab" EmbedCab="yes"> > > <PatchBaseline Id="Patch" /> > > </Media> > > <PatchFamily Id="ScanXNETPatchFamily" > > Version="$(var.CurVersion)" > > Supersede="yes"> > > <ComponentRef Id="ComponentCommonExtensions" /> > > <ComponentRef Id="ComponentMainClient"/> > > </PatchFamily> > > </Patch> > > </Wix> > > > > BuildVariables.wxi is simply a number of preprocessor variables, which is > shared with the installer project. > > > > Now, as I said, with 3.7 I get this result: > > Updating file information. > > Creating cabinet files. > > There will be '8' threads used to produce CAB files. > > Patch.wxs(20) : warning PYRO1079 : The cabinet 'ïPatch.cab' does not > contain any files. If this patch contains no files, this warning can likely > be > safely ignored. Otherwise, try passing -p to torch.exe when first building > the > transforms, or add a ComponentRef to your PatchFamily authoring to pull > changed files into the cabinet. > > Creating cabinet '\Local\Temp\kvov1bbk\#ïPatch.cab'. > > Generating database. > > diff.wixmst : error PYRO0227 : The transform being built did not contain any > differences so it could not be created. > > > > Which is probably an indication of what is actually wrong. With 3.5 I get an > empty msp. > > > > What am I doing wrong? > > > > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > -------- Introducing AppDynamics Lite, a free troubleshooting tool for > > Java/.NET Get 100% visibility into your production application - at no > > cost. > > Code-level diagnostics for performance bottlenecks with <2% overhead > > Download for free and get started troubleshooting in minutes. > > http://p.sf.net/sfu/appdyn_d2d_ap1 > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > Sounds wixpdb files only contain infomation about where to find the files. > For example, > 1,You have a ".\a.txt" file,it's content is "old version". > 2,After you build the old version,"old.wixpdb" refer to ".\a.txt". > 3,You change the ".\a.txt"'s content to "new version". > 4,You build the new version,now "new.wixpdb" also refer to ".\a.txt". > 5,You use torch.exe to calculate the difference between the "old.wixpdb" > and "new.wixpdb", they both refer to ".\a.txt" and the content is "new > version". > > Maybe you can put the old version files and new version files in different > directory and try. > ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users