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

Reply via email to