Are you using a different version of the WiX toolset to patch than what was used to build the MSIs? That's not technically supported since there are a lot of fine details that can go awry. However, that error message is not terribly helpful and a bug certainly would in order for it.
On Tue, May 7, 2013 at 2:29 AM, Thomas Due <t...@scanvaegt.dk> wrote: > Hello, > > I am still looking for an answer to this problem. I have two versions of > my MSI installer, the only true difference is the version number. > I have a patch.wxs script which identitifies a couple of components which > are supposedly changed. In reality no file have been changed, except for > their version number. > > When I execute the tools sequence described in Nick Ramirez' book and the > WiX manual, nothing constructive happens. > > Both Torch and Pyro gives me errors, shown below. > > I am pretty much clueless as to what I am doing wrong, mainly because > neither the manual or the book properly explains WHAT I need to do, and WHY. > Mainly they just show me HOW. > > Is any able to help get past this issue? > > /Thomas Due > > > > -----Original Message----- > > From: Thomas Due [mailto:t...@scanvaegt.dk] > > Sent: 3. maj 2013 09:40 > > To: General discussion for Windows Installer XML toolset. > > Subject: Re: [WiX-users] Creating patches > > > > 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(Objec > > t 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. > > > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users