Is no one able to help me? /Thomas > -----Original Message----- > From: Thomas Due > Sent: 13. maj 2013 08:48 > To: 'General discussion for Windows Installer XML toolset.' > Subject: RE: [WiX-users] Creating patches > > Hello, > > Yes I am using 3.7 for both installers, and the patch. There seems to be a bug > in 3.7 versus 3.5, but it turned out that 3.5 simply ignored the fact that the > transform was empty, so it generated an empty patch. > > This does not alter the fact though, that I am unable to make this patch > mechanism work. > > I have a fairly complex installer, which hundreds of files, windows services, > moving existing files and one or two custom actions. > I have built two versions of the installer, with the only real difference > being > the version nummer (1.2.0 and 1.2.5). > > I have then created a patch.wxs: > ============================ CODE START > ==================================== > <?xml version="1.0" encoding="utf-8"?> > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> > <?include ..\ScanXNETSetup\BuildVariables.wxi ?> > <Patch AllowRemoval="yes" Classification="Update" > Manufacturer="$(var.Manufacturer)" Description="$(var.Description)" > DisplayName="$(var.Description) ($(var.CurVersion))"> > <Media Id="5000" Cabinet="Patch.cab"> > <PatchBaseline Id="Patch" /> > </Media> > <PatchFamily Id="ApplicationPatch" Supersede="yes" > Version="$(var.CurVersion)"> > <ComponentRef Id="ComponentCommonExtensions" /> > <ComponentRef Id="ComponentMainClient" /> > </PatchFamily> > </Patch> > </Wix> > ============================ CODE END > ==================================== > > and a batch script to run it > > ============================ CODE START > ==================================== > @echo off > set wixdir=c:\Program Files (x86)\WiX Toolset v3.7\ set > oldmsi="..\..\..\..\..\Build\Debug\OldInstaller\x86\en- > us\Application.wixpdb" > set newmsi="..\..\..\..\..\Build\Debug\Installer\x86\en- > us\Application.wixpdb" > set output=..\..\..\..\..\Build\Debug\Patch\ > > del /f /q "%output%*.*" > > "%wixdir%bin\torch.exe" -p -xi %oldmsi% %newmsi% -v -out > "%output%diff.wixmst" > "%wixdir%bin\candle.exe" -v Patch.wxs > "%wixdir%bin\Light.exe" -v Patch.wixobj -out "%output%patch.wixmsp" > "%wixdir%bin\pyro.exe" -v "%output%patch.wixmsp" -out > "%output%patch.msp" -t ApplicationPatch "%output%diff.wixmst" > > ============================ CODE END > ==================================== > > But I get errors every time, regardless of what I do. This generates the > following output: > > pyro.exe : error PYRO0252 : No valid transforms were provided to attach to > the patch. Check to make sure the transforms you passed on the command > line have a matching baseline authored in the patch. Also, make sure there > are differences between your target and upgrade. > > I have a feeling that I have an ID mismatch somewhere, but I cannot figure > out where. > > > /Thomas > > > > -----Original Message----- > > From: Rob Mensching [mailto:r...@robmensching.com] > > Sent: 9. maj 2013 16:54 > > To: General discussion for Windows Installer XML toolset. > > Subject: Re: [WiX-users] Creating patches > > > > 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 > > > > (O > > > > bjec > > > > 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 > > >
------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users