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

Reply via email to