Partager via


WiX: Building a Patch using the new Patch Building System - Part 3

This post has moved here.

Comments

  • Anonymous
    July 02, 2007
    The comment has been removed

  • Anonymous
    July 03, 2007
    Yes, good catch. I've updated the instructions. Thanks!

  • Anonymous
    July 16, 2007
    The comment has been removed

  • Anonymous
    July 17, 2007
    The comment has been removed

  • Anonymous
    July 17, 2007
    The comment has been removed

  • Anonymous
    July 17, 2007
    Peter Marcu posted a couple of items on his blog recently that I wanted to link to here so hopefully

  • Anonymous
    July 17, 2007
    The duplicate variable problem is a known issue with a complex fix. Noone has gotten to fixing it yet...

  • Anonymous
    July 17, 2007
    Peter Marcu posted a couple of items on his blog recently that I wanted to link to here so hopefully

  • Anonymous
    July 24, 2007
    The comment has been removed

  • Anonymous
    July 24, 2007
    The comment has been removed

  • Anonymous
    July 24, 2007
    I had the source code unchanged. The text file sample.txt in the sudirs differ a lot. The only difference, I see, is that I put the object files not in the two subdirs, but I generated Product10.wixobj anbd Product11.wixobj. I worked with Wix V3 3.0.3120.0. Is "torch -p ..." a must?  I thought -xi automatically includes -xo and -o.

  • Anonymous
    August 09, 2007
    The comment has been removed

  • Anonymous
    August 09, 2007
    I fixed the duplicate wix variable problem in a recent build of wix. Try grabbing the latest.

  • Anonymous
    August 15, 2007
    "Your WiX toolset version should be at least 3.0.3001.0" Where can I find the 3.0.3001.0 binaries?  Do have to build WiX myself?  The latest version I see on sourceforge is  3.0.2925.0.

  • Anonymous
    August 15, 2007
    nevermind I am just now seeing the 'weekly releases' http://wix.sourceforge.net/releases/

  • Anonymous
    September 13, 2007
    The comment has been removed

  • Anonymous
    October 16, 2007
    I'm using 3.0.3412.0 and seeing the same thing as Tony.

  • Anonymous
    October 16, 2007
    The comment has been removed

  • Anonymous
    October 17, 2007
    Thanks for the clarification. I figured that little bit of personal idiocy out yesterday afternoon. Thank you very much for taking the time to put together the article series on patch building.

  • Anonymous
    October 17, 2007
    The comment has been removed

  • Anonymous
    October 21, 2007
    Think of references inside a <PatchFamily> as a way of selecting exactly what you want in your patch. You have 2 options: 1: No <PatchFamilies> with references inside them will result in all the differences between your target and upgrade being included. 2: Including <PatchFamilies> with references inside them will result in only those things that are referenced being included in the patch. Does that answer your question?

  • Anonymous
    October 22, 2007
    Thanks, that answers my question perfectly.

  • Anonymous
    October 26, 2007
    My new team is using WiX v3.0 to create the MSI-based setups for the upcoming XNA Game Studio 2.0 product

  • Anonymous
    October 26, 2007
    My new team is using WiX v3.0 to create the MSI-based setups for the upcoming XNA Game Studio 2.0 product

  • Anonymous
    October 26, 2007
    The comment has been removed

  • Anonymous
    October 26, 2007
    The comment has been removed

  • Anonymous
    October 26, 2007
    Not off hand. What did you change? I also need to post an updated sample that matches the current tools and shows how PatchFamilies work.

  • Anonymous
    October 26, 2007
    I'd get the latest. Lots of stuff is being fixed in the patching feature. As recently as this thursday...

  • Anonymous
    December 14, 2007
    I have a problem for creating patch file : warning PYRO1079 : The cabinet 'RTM.cab' does not contain any files.  If this installation contains no files, this warning can likely be safely ignored.Otherwise, please add files to the cabinet or remove it. error PYRO0227 : The transform being built did not contain any differences so it could not be created. I certainly two files *.wixout are different.

  • Anonymous
    December 14, 2007
    What differences are there? What are you expecting to show up in your patch?

  • Anonymous
    January 24, 2008
    The comment has been removed

  • Anonymous
    January 28, 2008
    Please log a bug with full details on SourceForge so we can take a look at this and hopefully get it fixed. The more information you can provide to help us reproduce this, the better. If you dont want to share your source with the world but are willing to provide it just to me, let me know.

  • Anonymous
    February 01, 2008
    The comment has been removed

  • Anonymous
    February 03, 2008
    The servicing story for the Wix3 msi is major upgrade and not patch. They are not designed to be patched. The product code changes build to build. This does not mean it couldnt be patched but probably shouldnt be. The other problem you are hitting is probably because the patching tools work for two msi's built with the same version of WiX. There are often changes between wix builds that make patching not possible. This is probably the reason you are seeing the exceptions while patching. Can you file a bug on Sourceforge with more details of the exception so we can try to figure out how to provide a better error message? Thanks!

  • Anonymous
    February 14, 2008
    The comment has been removed

  • Anonymous
    February 14, 2008
    The comment has been removed

  • Anonymous
    February 14, 2008
    The comment has been removed

  • Anonymous
    March 12, 2008
    Hi all, my problem is that I have a few custom actions in my base installer(rtm) and have the same ones in my latest one,  the differences are just base in the files contain within it(add, erased or update) but I keep having thir error: torch.exe : error TRCH0001: Item has already been added. Key in dictionary: 'InstallExecuteSequence/ConfigureIIs'  Key being added: 'InstallExecuteSequence/ConfigureIIs' I thought that if the custom action is present in both installer it's shouldn't  be taken as a difference by torch... am I right? I would really appreciate the help

  • Anonymous
    March 19, 2008
    The comment has been removed

  • Anonymous
    March 19, 2008
    The comment has been removed

  • Anonymous
    March 26, 2008
    The comment has been removed

  • Anonymous
    May 28, 2008
    The comment has been removed

  • Anonymous
    May 28, 2008
    The comment has been removed

  • Anonymous
    May 30, 2008
    Many times people want to take advantage of the Wix v3 patch building features but didnt build their

  • Anonymous
    May 30, 2008
    Many times people want to take advantage of the Wix v3 patch building features but didnt build their

  • Anonymous
    June 16, 2008
    I have tried this example and works fine with .net assemblies and executables. but how about the assemblies in the GAC if I did not change the assembly version but file version is changed? it does not replace. please advice.

  • Anonymous
    June 18, 2008
    The comment has been removed

  • Anonymous
    July 18, 2008
    I am considering switching to a new patching system and I wonder how does it deal with, in my case, troublesome file sequence numbers? Namely, I have so many files changing between the versions (but changes themeselves are typically very small) that I am afraid I will hit a 16-bit integer limit on file index. There is a way to upgrade this field to 32 bit integer but I have no idea how to accomplish that in WiX? Wishful thinking: could it be that we are automagically spared from having to think about the file sequence numbers with this new system? Just use it and everything will be just fine ... dreaming ...

  • Anonymous
    July 19, 2008
    Sequences in your upgrade are ignored and any files with differences are put in the media entry you authored in your patch. This media entry should be higher than your last sequence. Wix v3 automatically sets the column type of the sequence to i4 so you shouldnt have any problems with a large number of files.

  • Anonymous
    July 29, 2008
    Could you, please, elaborate a bit more on 'this media entry should be higher than your last sequence' ? If I start with media at 5000 and patch 10 files my next entry should be 5010? Then, the next patch, if there are 15 files to be patched, would push this number to 5025?

  • Anonymous
    August 16, 2008
    It needs to be higher than the last sequence in the baseline you are targeting. So if the last sequence in your original product is 5000 then you need to make the media at least 5001 for all patches that apply to the original product. The more I think about this the more I think that we can do the right thing for you in the tools but right now, this is something you have to handle.

  • Anonymous
    August 31, 2008
    The comment has been removed

  • Anonymous
    August 31, 2008
    The comment has been removed

  • Anonymous
    September 01, 2008
    Yes, that helps, thanks! However, I didn't explain why did I stick to using -xo option. It is because I wanted wixpdb that includes binaries, as I can't exactly reproduce original MSI build environment paths when patching. However light help says:  -bf        bind files into a wixout (only valid with -xo option) So I guess I would have to start working with administrative image and -ax option to torch.

  • Anonymous
    September 01, 2008
    Yes, if you didn't keep your original build around then you are likely going to find admin image patching to be more friendly to you. Also, if you build a product that you would like to create patches for, you should not update to a newer version of WiX when you build the upgrades or patches. Stick to exactly the same toolset or you are likely to hit problems.

  • Anonymous
    October 06, 2008
    The comment has been removed

  • Anonymous
    October 07, 2008
    The comment has been removed

  • Anonymous
    October 07, 2008
    The comment has been removed

  • Anonymous
    November 25, 2008

  1. Create the transform between your products: > torch.exe -p -xi 1.0Product.wixpdb 1.1Product.wixpdb -out PatchDiff.Wixmst in the above step where we get Product.wixpdb  file? i haven't found any such file. Plesae tell me what are those files?
  • Anonymous
    November 25, 2008
  1. Create the transform between your products: > torch.exe -p -xi 1.0Product.wixpdb 1.1Product.wixpdb -out PatchDiff.Wixmst in the above step where we get Product.wixpdb  file? i haven't found any such file. Plesae tell me what are those files?
  • Anonymous
    November 26, 2008
    The comment has been removed

  • Anonymous
    December 22, 2008
    I have installed Wix version 3.0.2925. is is not enough? Plesae let me know which version i have to install.

  • Anonymous
    February 08, 2009
    The comment has been removed

  • Anonymous
    February 17, 2009
    The comment has been removed

  • Anonymous
    February 17, 2009
    The comment has been removed

  • Anonymous
    February 17, 2009
    The comment has been removed

  • Anonymous
    April 02, 2009
    The comment has been removed

  • Anonymous
    April 03, 2009
    The comment has been removed

  • Anonymous
    April 20, 2009
    The comment has been removed

  • Anonymous
    April 20, 2009
    The comment has been removed

  • Anonymous
    April 21, 2009
    Hello, I sent email (not sure if I have the correct address).  Here is the command: C:Wix_3.0.4909.0>pyro c:WiXPatchingPatchpatch.wixmsp -out c:WiXPatchingPatchpatch.msp -t RTM c:WiXPatchingPatchdiff.wixmst Microsoft (R) Windows Installer Xml Patch Builder version 3.0.4909.0 Copyright (C) Microsoft Corporation. All rights reserved. Here is the Patch.wxs: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">    <Patch        AllowRemoval="yes"        Manufacturer="Symantec Corporation"        MoreInfoURL="http://www.Symantec.com/"        DisplayName="Sample Patch"        Description="Small Update Patch"        Classification="Update"        >        <Media Id="5000" Cabinet="RTM.cab">            <PatchBaseline Id="RTM"/>        </Media>        <PatchFamilyRef Id="SamplePatchFamily"/>    </Patch>    <Fragment>            <PatchFamily Id='SamplePatchFamily' Version='1.0.0' Supersede='yes'>            <ComponentRef Id="bengine.exe.06609F4A_77E8_4877_8B18_0B805D349FD8"/>        </PatchFamily>    </Fragment> </Wix> Not sure how to attach the wixmst??

  • Anonymous
    April 21, 2009
    The comment has been removed

  • Anonymous
    April 28, 2009
    Peter - I have a question about the source attribute: Source=".$(var.Version)Sample.txt" If your going from v1.0 to v1.1, and the file is new to v1.1, how do you keep a build of v1.0 from aborting?  I am having a hard time figuring out how to structure my versioning folders, where files are introduced in subsequent minor versions, while keeping a common set of wxs files.  Using $(var.Version) seems to be part of the answer... Thanks,

  • Troy
  • Anonymous
    April 30, 2009
    Hi Troy, One option would be to use the preprocessor to only include the new content in the higher version. Not sure if this xml sample is going to come through. <?if $(var.Version) > 1.0 ?> Put your added content here. <?endif ?> If that doesn't make things easier for you, I can try to think of other ways.

  • Anonymous
    May 18, 2009
    Hi Peter - This worked!  Thanks.  However I ran into another small issue.  It seems like the patch process will only work for new or existing files .. meaning we are pushing the entire file.  It appears my ComponentRefs, which reference util:XmlConfig patches, are not being applied when I pass in the msp.  Is there some trick to getting these applied?  I am wondering if the "diff" process, using torch, somehow skips these? Thanks.

  • Anonymous
    May 19, 2009
    How to remove a file with a minor or small upgrade patch?

  • Anonymous
    May 19, 2009
    Hello, Peter: I am working on how to make a patch for a product. I have a baseline installation which install a file 123.jar; now I want to make a patch to remove this jar file, how to do? Wait for your reply, thank you!

  • Anonymous
    May 19, 2009
    Lucky you! I actually had a post written about remove files in patches that I never published. Here it is: http://blogs.msdn.com/pmarcu/archive/2009/05/19/wix-removing-files-with-patches.aspx

  • Anonymous
    May 23, 2009
    Troy, sorry, I glanced over your question. Can you share your wix files with me? Are you using PatchFamilies? If so, are you referencing something in the same Fragment as the XmlConfig entries?

  • Anonymous
    May 25, 2009
    I have a multi-language installer and want to make a corresponding multi-language patch. I went through your posts about patching with WiX v3. I'm wondering if the patching system in WiX v3 is able to produce a multi-language patch. If so, could you list the step-by-step instructions based on the example in this blog entry? Thank you.

  • Anonymous
    May 25, 2009
    What method are you using to create your multi-language installer? Are you using language transforms applied to the database at runtime? If so, are you using a bootstrapper to apply the right transform? Unfortunately, I haven't seen a good answer to shipping multi-language patches that doesn't involve writing a bunch of customactions to apply localized data to the patch at runtime depending on the current locale.

  • Anonymous
    May 26, 2009
    Hi Peter, Thank you for the quick reply. Yes, I'm using language transforms to build a multi-language installer and using a bootstrapper at runtime to install the right language depending on the locale. Could you elaborate a little more on what the custom actions would do in a multi-language patch? In my case, there would be updated localized strings and updated locale-dependent data in the patch. I read another of your posts: WiX: Patching something you didnt build with WiX using WiX. If I understand correctly, torch can take msi as input for base product and upgraded product, but the msi must be admin image where locale has been chosen. My qeustion here is, if the input msi has transforms embedded, would torch be able to accept the transforms? In this case, locale is not chosen yet and thus no admin image is available to torch. Recently (in last couple days) in the WiX-user maillist 'General discussion for Windows Installer XML toolset', some people asks 'Passing TRANSFORMS into MSI patch'. I would have the same question except that I intend to pass language transforms into MSI patch. Would you give us some insights on that subject as well? Thank you very much for your time and help! Harry

  • Anonymous
    June 13, 2009
    The comment has been removed

  • Anonymous
    June 22, 2009
    Peter, I have to say that this is really helpfull. What about patching an MSI file created with Visual Studio 2005 and we don't have the product.wxs for it ??

  • Anonymous
    June 22, 2009
    Glad it's helped... Take a look at this post: http://blogs.msdn.com/pmarcu/archive/2008/05/30/Patching-something-you-didnt-build-with-WiX-using-WiX-.aspx

  • Anonymous
    June 29, 2009
    I've done a bit of searching and I still can't find the solution for this:  when I try to change the text file in the example to an executable, the executable does not get updated when I run the patch.  Do I have to set some attributes and/or compile the files differently so that executables get patched properly?

  • Anonymous
    June 29, 2009
    Is there a difference between the executables? If there is no difference, it will be dropped from the patch.

  • Anonymous
    June 30, 2009
    The comment has been removed

  • Anonymous
    June 30, 2009
    Can you email me the .wixpdb that is output next to the patch as well as your Patch.wxs authoring?

  • Anonymous
    July 02, 2009
    The comment has been removed

  • Anonymous
    July 21, 2009
    Peter, Thanks for the article. Two questions please. Wonder if you can help:

  1.  LGHT0094 -Unresolved reference I am trying on my files, with patch.wxs file: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">    <Patch        AllowRemoval="yes"        Manufacturer="Dynamo Corp"        MoreInfoURL="http://www.dynamocorp.com/"        DisplayName="Sample Patch"        Description="Small Update Patch"        Classification="Update"        >        <Media Id="5000" Cabinet="RTM.cab">            <PatchBaseline Id="RTM"/>        </Media>        <PatchFamilyRef Id="SamplePatchFamily"/>    </Patch>    <Fragment>            <PatchFamily Id='SamplePatchFamily' Version='1.0.0.0' ProductCode='C7A17B92-870D-4C5E-996D-AF7E7A895C1A' Supersede='yes'>           <ComponentRef Id="cmp12733BDD65D71D0AA0A0B70A8E1ED36D" />           <ComponentRef Id="cmp515292379E42BE2D327CC29237D973DA" />           <ComponentRef Id="cmpCA1D24E6B837BE4DEE02C4F246C609AF" />           <ComponentRef Id="cmpD4DB2A5185C5511E06E6A225782D756C" />           <ComponentRef Id="cmpD885D72F377ACF30547586DCB601D4A0" />           <ComponentRef Id="cmpEC4E40176AB70D2F5E33648B18843D06" />           <ComponentRef Id="cmpE37C52FC1518E696598C4C592EF410BF" />        </PatchFamily>    </Fragment> </Wix> I got an error saying: light patch.wixobj -out patch.wixmsp Microsoft (R) Windows Installer Xml Linker version 3.0.5419.0 Copyright (C) Microsoft Corporation. All rights reserved. patch.wxs(16) : error LGHT0094 : Unresolved reference to symbol 'MsiPatchSequence:SamplePatchFamily/' in section 'Patch:{65DB42A4-5A2E-4CF3-934E-EF125AC9A7D6}'.
  2. ComponentRef under PatchFamily Do I have to list all the component refs? Is there a way to default to all? Thanks, Shibo
  • Anonymous
    July 21, 2009
    Peter, Error goes away after removing fragment and insert PatchFamily inside patch. Can you still help with second question? Thanks, Shibo

  • Anonymous
    July 21, 2009
    If you want to include all the changes between your target and upgrade builds, you can either have no patch families, or patch families with no contents. The absence of any patch family contents tells the patch build system to include everything.

  • Anonymous
    April 11, 2010
    Great Blog.. Was wondering if somebody could help.  I'm trying to create a patch (MSP) for my installation. I had the original wixpdb for my original installation, which was handy :) I thought that I would start with the a simple project first.. So created the following wix project: <!--------------- Original install.wxs - Start ---------------!> <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">    <Product    Id="48C49ACE-90CF-4161-9C6E-9162115A54DD"                Name="WiX Patch Example Product"                Language="1033"                Version="1.0.0"                Manufacturer="Dynamo Corporation"                UpgradeCode="48C49ACE-90CF-4161-9C6E-9162115A54DD">            <Package    Compressed="yes"                        Description="Installs a file that will be patched."                        Comments="This Product does not install any executables"                        InstallerVersion="200"                        InstallScope="perMachine"                        />        <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />        <FeatureRef Id="SampleProductFeature"/>    </Product>    <Fragment>        <Feature Id="SampleProductFeature" Title="Sample Product Feature" Level="1">            <ComponentRef Id="SampleComponent" />            <ComponentRef Id="Sample2"/>        </Feature>    </Fragment>    <Fragment>        <DirectoryRef Id="SampleProductFolder">            <Component Id="SampleComponent" Guid="{C28843DA-EF08-41CC-BA75-D2B99D8A1983}" DiskId="1">                <File Id="SampleFile" Name="Sample.txt" Source="$(var.ProjectDir)..FilesorgReadme.txt"/>            </Component>        </DirectoryRef>    </Fragment>    <Fragment>        <DirectoryRef Id="SampleProductFolder">            <Component Id="Sample2" Guid="{923248E0-B4B5-4c8c-B343-420EE64CEF88}" DiskId="1">                <File Id="SampleFile2" Name="Sample2.txt" Source="$(var.ProjectDir)..FilesorgReadme2.txt"/>            </Component>        </DirectoryRef>    </Fragment>    <Fragment>        <Directory Id="TARGETDIR" Name="SourceDir">            <Directory Id="ProgramFilesFolder" Name="PFiles">                <Directory Id="SampleProductFolder" Name="Patch Sample Directory">                </Directory>            </Directory>        </Directory>    </Fragment> </Wix> <!--------------- Original install.wxs - End ---------------!> Build the install.wxs project in the normal way to get the install.wixpdb Then duplicated the original install.wxs to fixed.wxs and then duplicated the 2 original txt files, altered the content of both. Then altered fixed.wxs as follows: <!--------------- Fixed.wxs - Start ---------------!> <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">    <Product    Id="48C49ACE-90CF-4161-9C6E-9162115A54DD"                Name="WiX Patch Example Product"                Language="1033"                Version="1.0.1"                Manufacturer="Dynamo Corporation"                UpgradeCode="48C49ACE-90CF-4161-9C6E-9162115A54DD">        <Package    Compressed="yes"                    Description="Installs a file that will be patched."                    Comments="This Product does not install any executables"                    InstallerVersion="200"                    InstallScope="perMachine"                        />        <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />        <FeatureRef Id="SampleProductFeature"/>    </Product>    <Fragment>        <Feature Id="SampleProductFeature" Title="Sample Product Feature" Level="1">            <ComponentRef Id="SampleComponent" />            <ComponentRef Id="Sample2" />        </Feature>    </Fragment>    <Fragment>        <DirectoryRef Id="SampleProductFolder">            <Component Id="SampleComponent" Guid="{C28843DA-EF08-41CC-BA75-D2B99D8A1983}" DiskId="1">                <File Id="SampleFile" Name="Sample.txt" Source="$(var.ProjectDir)..FilesPatch1Readme.txt"/>            </Component>        </DirectoryRef>    </Fragment>    <Fragment>        <DirectoryRef Id="SampleProductFolder">            <Component Id="Sample2" Guid="{923248E0-B4B5-4c8c-B343-420EE64CEF88}" DiskId="1">                <File Id="SampleFile2" Name="Sample2.txt" Source="$(var.ProjectDir)..FilesPatch1Readme2.txt" />            </Component>        </DirectoryRef>    </Fragment>    <Fragment>        <Directory Id="TARGETDIR" Name="SourceDir">            <Directory Id="ProgramFilesFolder" Name="PFiles">                <Directory Id="SampleProductFolder" Name="Patch Sample Directory">                </Directory>            </Directory>        </Directory>    </Fragment> </Wix> <!--------------- Fixed.wxs - End ---------------!> Build the fixed.wxs project in the normal way to get the fixed.wixpdb I then created a patch.wxs to create the MSP: <!--------------- Patch.wxs - Start ---------------!> <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">    <Patch        AllowRemoval="yes"        Manufacturer="Dynamo Corp"        MoreInfoURL="http://www.dynamocorp.com/"        DisplayName="Sample Patch"        Description="Small Update Patch"        Classification="Update"        OptimizedInstallMode="yes"        >        <Media Id="5000" Cabinet="RTM.cab">            <PatchBaseline Id="RTM"/>        </Media>        <PatchFamily    Id='SamplePatchFamily'                        ProductCode="48C49ACE-90CF-4161-9C6E-9162115A54DD"                        Version='1.0.1'                        Supersede='no'>            <ComponentRef Id="SampleComponent"/>        </PatchFamily>    </Patch> </Wix> <!--------------- Patch.wxs - End ---------------!> Then ran the following commands: torch -p -xi install.wixpdb fixed.wixpdb -out Diff.wixmst candle.exe patch.wxs -out patch.wixobj light.exe patch.wixobj -out patch.wixmsp pyro.exe patch.wixmsp -out patch.msp -t RTM Diff.wixmst This build the MSP. I installed the installed the original msi (install.msi), then installed ran the patch.msp.  It managed to upgrade the txt files, but to my surprise it upgraded both txt files!! I had only specified in the Patch.wxs the component 'SampleComponent' to be included in the patch..  But seemed to have updated everything.. I check this using Orca and it appeared that the it was updating all components. Is there a know problem or am I doing something wrong ? Thanks whgibbo

  • Anonymous
    April 13, 2010
    From a quick look, everything appears to be correct and the behavior you are expecting should be the result. I can take a look at this on Thursday night when I work on WiX if you haven't figured it out yet.

  • Anonymous
    April 15, 2010
    The comment has been removed

  • Anonymous
    December 21, 2010
    Hey Peter I think you missed somthing please take look here he is using  Readme2.txt from patch1 folder & earlier in base version he is using org folder <File Id="SampleFile2" Name="Sample2.txt" Source="$(var.ProjectDir)..FilesPatch1Readme2.txt" /> Second file may get updated because of that.. I am not sure

  • Anonymous
    January 06, 2011
    The comment has been removed

  • Anonymous
    April 17, 2011
    By using the above steps, i created patch file. But the changes that are made in merge modules is not reflected after applying the patch. Please advice.

  • Anonymous
    August 17, 2011
    Just wondering if somebody could help on my below requirement. Is there any way of achieving this through patching. When you install the MSI in a fresh/new server, it should install all the files which are packed inside the MSI. When you install the MSI in an existing server, only the changed set of files needs to be deployed and not all the files. Thanks in advance.

  • Anonymous
    February 09, 2012
    The comment has been removed

  • Anonymous
    March 28, 2012
    Hi Peter, Thank you for the nice and useful articles. Wix rocks, even though the documentation is scarce and we struggle sometimes with errors and problems. I have installed Wix 3.6 and I'm trying to create a patch using your guidelines. It seems that something is wrong, because I keep getting an error saying: Patch.wxs(12) : warning PYRO1079 : The cabinet 'RTM.cab' does not contain any files.  If this installation contains no files, this warning can likely be safely ignored.  Otherwise, please add files to the cabinet or remove it. diff.wixmst : error PYRO0227 : The transform being built did not contain any differences so it could not be created. I'm trying to create the patch for a web application and I have modified two files: one dll (changed the version from 1.0.0.0 to 1.0.0.1) and one css file. I have checked the new MSI using ORCA and everything looks alright, the dll version is updated and the css is modified. It also works if I install the new MSI. However, I cannot create the patch. This guy is getting the same error: sourceforge.net/.../message.php Is there a known issue with creating patches in 3.6? Thanks, Dan

  • Anonymous
    June 17, 2012
    It may sound stupid but I am confused with these samples. Is there a straight forward tutorial which tells me how to create a patch (minor update) installer in Visual Studio 2010? The steps would be    a. Create New project -> Select Windows Installer XML->Setup Project.    b. Write the installer for a Sample Product which has 2 files. You right click and hit build and it creates the     .msi.    c. Now create a "Patch.wxs" in the same solution (?) for the minor update for the Sample Product which replaces only one of the 2 files installed.    d. What should be the tags for GUID, Family DiskID etc.?    e. Should it be separate VS solution?    f. Why does it not build and create a patch ".msi"? Any help is greatly appreciated!! Thanks, Aseem Chiplonkar