I finally got this to work. The only thing missing after my last setup was to have a PatchFamily element for each language's ProductCode in MSP.wxs.
Thanks again for all your help! On Thu, Nov 12, 2009 at 11:19 PM, Blair <os...@live.com> wrote: > You have different MSIs for the different languages. Any chance you could > release different MSPs (one for each language) in the same fashion? > > The only further insight I could give would probably require digging into > your actual MSIs. > > -----Original Message----- > From: Shawn Dwyer [mailto:shawn.o.dw...@gmail.com] > Sent: Thursday, November 12, 2009 10:38 AM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] One MSP for multiple MSI > > I'm afraid I spoke too soon at 2am last night.... although they apply to > the > Spanish MSI just fine when verifying with Orca, when actually trying to > install against the Spanish version yeilds "No valid sequence could be > found > for the set of patches." It works fine against English version of the MSI. > > I tried putting the torch arguments back to "-serr a -serr b -serr c -serr > d > -serr e -val g -val u -val x" but I get the same error. I will continue to > experiment but was hoping someone here might have some insight, as we're > hoping to release these patches today. > > Thanks > > On Thu, Nov 12, 2009 at 2:21 AM, Shawn Dwyer <shawn.o.dw...@gmail.com > >wrote: > > > I've finally got a solution that works I think. I've basically gone back > > to option 1 - having an admin old and admin new image for each language > and > > running torch for each one. However, because the actual files installed > are > > the same regardless of language, I don't have to carry around the full > set > > for each language, but just one file set and each MSI generated from > doing > > and admin install. My new structure looks like this: > > > > Admin > > PFiles > > Installer_English.msi > > Installer_Spanish.msi > > .... > > Patch > > PFiles > > Installer_English.msi > > Installer_Spanish.msi > > ... > > MSP.wxs > > > > My new torch and pyro commands look like: > > > > setlocal EnableDelayedExpansion > > set LANGUAGES=English French German Italian Japanese Portuguese Spanish > > > > for %%l in (%LANGUAGES%) do ( > > torch -t patch -p -xo -ax Patch\torch\%%l\bin Admin\Installer_%%l.msi > > Patch\Installer_%%l.msi -out Patch\torch\%%l\Diff.wixmst -v > >Patch\torch.log > > || EXIT /B > > ) > > > > for %%l in (%LANGUAGES%) do ( > > set PYROT=!PYROT! -t RTM Patch\torch\%%l\Diff.wixmst > > ) > > pyro Patch\MSP.wixmsp -out Patch\Patch.msp %PYROT% -delta -v > > >Patch\pyro.log || EXIT /B > > > > This seems to allow the MSP to be applied to any language installer. I > > still don't understand what I was missing about the other method and why > I > > couldn't get that to work, but I didn't want to waste anyone's time > looking > > into it since I will be going with this other method now. > > > > Thanks again for all your help, I've learned a lot about how this works > > through your explanations that I just wasn't picking up from the help > files. > > > > Thanks, > > > > Shawn > > > > > > > > On Wed, Nov 11, 2009 at 1:26 PM, Shawn Dwyer > <shawn.o.dw...@gmail.com>wrote: > > > >> Hi Blair, > >> > >> > >> > >> Thanks again for the prompt and detailed response. I'm sorry to say > even > >> with the updated command line it's still failing to apply to the Spanish > >> install (it applies fine to the English install). I'm thinking maybe > the > >> command line options aren't where my misunderstanding is, but perhaps > the > >> setup for running the tools. Here is my setup: > >> > >> > >> > >> Admin > >> > >> PFiles > >> > >> Installer.msi > >> > >> Patch > >> > >> PFiles > >> > >> Installer.msi > >> > >> MSP.wxs > >> > >> > >> > >> The Admin folder is an admin install of the English version of my > >> installer. The Patch folder is an exact copy of the Admin folder, and > >> then replacing a couple of the dlls under PFiles. MSP.wxs has only one > >> PatchFamily element with the ProductCode matching the ProductCode in the > >> English version of Installer.msi. (It didn't help to add a PatchFamily > >> for the Spanish ProductCode) > >> > >> > >> > >> I then run the following commands > >> > >> > >> > >> torch -serr a -serr b -serr c -serr d -serr e -val g -val u -val x -p > -xo > >> -ax Patch\torch\bin Admin\Installer.msi Patch\Installer.msi -out > >> Patch\torch\Diff.wixmst -v >Patch\torch.log || EXIT /B > >> > >> > >> > >> candle Patch\MSP.wxs -out Patch\MSP.wixobj -v >Patch\candle.log || EXIT > /B > >> > >> > >> > >> light Patch\MSP.wixobj -out Patch\MSP.wixmsp -v >Patch\light.log || EXIT > >> /B > >> > >> > >> > >> pyro Patch\MSP.wixmsp -out Patch\Patch.msp -t RTM > Patch\torch\Diff.wixmst > >> -delta -v >Patch\pyro.log || EXIT /B > >> > >> > >> All commands complete successfully and I end up with an MSP that I can > >> apply to the English version of Installer.msi but not the Spanish > version. > >> > >> Thanks again, > >> > >> Shawn > >> > >> On Wed, Nov 11, 2009 at 2:06 AM, Blair <os...@live.com> wrote: > >> > >>> Digging out the sources for 3.0 RTM, here is what I see: > >>> > >>> The help built into the tool says that the accepted values for the -val > >>> argument are (all are in the list of accepted values): > >>> > >>> g UpgradeCode must match > >>> l Language must match > >>> r Product ID must match > >>> s Check major version only > >>> t Check major and minor versions > >>> u Check major, minor, and upgrade versions > >>> v Upgrade version < target version > >>> w Upgrade version <= target version > >>> x Upgrade version = target version > >>> y Upgrade version > target version > >>> z Upgrade version >= target version > >>> > >>> Also, the -serr argument accepts (via the same form) the following > >>> values: > >>> > >>> a Ignore errors when adding an existing row > >>> b Ignore errors when deleting a missing row > >>> c Ignore errors when adding an existing table > >>> d Ignore errors when deleting a missing table > >>> e Ignore errors when modifying a missing row > >>> f Ignore errors when changing the code page > >>> > >>> If the "-t" argument (such as "-t patch") is also present the command > >>> will > >>> fail and you will be shown the help, so make sure that is gone (if you > >>> removed just the "-t" and not its argument that followed, that may be > the > >>> issue). "-t" sets both the -val and the -serr values. > >>> > >>> For reference, "-t patch" = -serr a -serr b -serr c -serr d -serr e > -val > >>> g > >>> -val r -val u -val x > >>> > >>> * a Ignore errors when adding an existing row > >>> * b Ignore errors when deleting a missing row > >>> * c Ignore errors when adding an existing table > >>> * d Ignore errors when deleting a missing table > >>> * e Ignore errors when modifying a missing row > >>> > >>> * g UpgradeCode must match > >>> * r Product ID must match > >>> * u Check major, minor, and upgrade versions > >>> * x Upgrade version = target version > >>> > >>> What we want to eliminate is "-val r". So, the command line we really > >>> want > >>> is > >>> > >>> "-serr a -serr b -serr c -serr d -serr e -val g -val u -val x" > >>> > >>> Let us know what it does with that. > >>> > >>> Blair > >>> > >>> -----Original Message----- > >>> From: Shawn Dwyer [mailto:shawn.o.dw...@gmail.com] > >>> Sent: Tuesday, November 10, 2009 1:06 PM > >>> To: General discussion for Windows Installer XML toolset. > >>> Subject: Re: [WiX-users] One MSP for multiple MSI > >>> > >>> Thanks Blair. What you've described makes perfect sense, I wish I had > >>> reviewed the command line options more thoroughly before posting :) > >>> > >>> > >>> > >>> I'm afraid I might have misunderstood something though, because I still > >>> can't get this to work. I'm attempting to go with option 2 to reduce > the > >>> size of the MSP and so I don't have to have an admin image for each > >>> language. So if I undestand correctly, I should be able to have only > the > >>> 'English old' and 'English new', and by passing "-val gstu" to torch I > >>> will > >>> be able to take the MSP that I eventually generate and apply it to any > >>> MSI > >>> with the same UpgradeCode, regardless of ProductCode and Language? I > >>> attempted a number of combinations but I couldnt quite get it. > >>> > >>> First I tried > >>> > >>> -val gstu > >>> > >>> and got > >>> > >>> torch.exe : error TRCH0251 : val is expected to be followed by a value > >>> argument. > >>> > >>> > >>> > >>> Then looking at examples online I figured I had to split them up: > >>> > >>> -val g -val s -val t -val u > >>> > >>> But torch then spat out the usage statement > >>> > >>> > >>> > >>> Then I guessed that s, t, and u were overlaps, and so all I really > needed > >>> was 'u' > >>> > >>> -val g -val u > >>> > >>> This generated an MSP, however when I applied to the Spanish MSI I was > >>> back > >>> to: > >>> > >>> "This patch can not be applied to packages with the current Product > >>> Code." > >>> > >>> > >>> > >>> I then hoped that the validation flags might really mean what to -not- > >>> validate, so I tried > >>> > >>> -val l -val r > >>> > >>> However I still got the same error. > >>> > >>> "This patch can not be applied to packages with the current > Product > >>> Code." > >>> > >>> > >>> Thanks again, > >>> > >>> Shawn > >>> > >>> On Mon, Nov 9, 2009 at 9:44 PM, Blair <os...@live.com> wrote: > >>> > >>> > The safest way requires that you prepare both admin images and call > >>> torch > >>> > twice, once for the English old against the English new and the other > >>> time > >>> > for the Spanish old and Spanish new. You then need to supply both > >>> wixmst > >>> > files to pyro by supplying the -t argument twice. This means you will > >>> be > >>> > using two different baselines (one for each wixmst file), both of > which > >>> > need > >>> > to be represented under the Media element and on the command-line > (one > >>> with > >>> > each instance of the -t argument). > >>> > > >>> > The biggest disadvantage with above is that the patch is roughly > twice > >>> as > >>> > big as with just one baseline, since you have basically the same > >>> transforms > >>> > in there twice. > >>> > > >>> > There is an alternative way of using just one baseline: pass "-val > >>> gstu" > >>> as > >>> > an argument to torch to change the validation flags (and don't use > the > >>> "-t" > >>> > argument). However, any changes to the text in the admin image you > use > >>> will > >>> > be applied to both languages without regard to the language itself > >>> (meaning > >>> > you will bleed those text changes across the translations, losing > your > >>> > localization). > >>> > > >>> > -----Original Message----- > >>> > From: Shawn Dwyer [mailto:shawn.o.dw...@gmail.com] > >>> > Sent: Monday, November 09, 2009 2:32 PM > >>> > To: General discussion for Windows Installer XML toolset. > >>> > Subject: [WiX-users] One MSP for multiple MSI > >>> > > >>> > Hello, > >>> > > >>> > > >>> > > >>> > I've seen multiple similar posts but none seemed quite what I was > >>> looking > >>> > for, sorry if this has already been answered. > >>> > > >>> > > >>> > > >>> > We have released one MSI for each language we support - each with > it's > >>> own > >>> > ProductCode and CodePage. > >>> > > >>> > > >>> > > >>> > Using Wix only patching, I thought it should be possible to specify > the > >>> > patch in such a way that it would apply to multiple products > >>> > > >>> > > >>> > > >>> > <!-- English --> > >>> > > >>> > <PatchFamily > >>> > > >>> > ProductCode="68B543C9-2412-45AB-9327-D49189A8A13B" > >>> > > >>> > Id='XPIM30059' > >>> > > >>> > Version='3.0.60.0' > >>> > > >>> > Supersede='no' /> > >>> > > >>> > <!-- Spanish --> > >>> > > >>> > <PatchFamily > >>> > > >>> > ProductCode="7E481F23-6792-4F89-A7CA-2F889FFE4DE7" > >>> > > >>> > Id='XPIM30059' > >>> > > >>> > Version='3.0.60.0' > >>> > > >>> > Supersede='no' /> > >>> > > >>> > > >>> > > >>> > However, when using Orca to apply the MSP to the Spanish MSI I get > >>> "This > >>> > patch can not be applied to packages with the current Product Code." > >>> > > >>> > > >>> > > >>> > I'm using the admin image / loose file patching method described > here: > >>> > > >>> > > >>> > > >>> > >>> > > http://blogs.msdn.com/pmarcu/archive/2008/05/30/Patching-something-you-didnt > >>> > > >>> -build-with-WiX-using-WiX-.aspx< > >>> http://blogs.msdn.com/pmarcu/archive/2008/05 > >>> /30/Patching-something-you-didnt-build-with-WiX-using-WiX-.aspx> > >>> > > >>> > > >>> > > >>> > I'm assuming this has something to do with the fact that the admin > >>> image > >>> > has > >>> > the English MSI. If I instead point to the Spanish admin image I > have > >>> the > >>> > reverse problem. Is there any way this can be done? > >>> > > >>> > > >>> > > >>> > In future releases I'm planning on having the Product Code be the > same > >>> for > >>> > all languages since the only difference between the MSIs will be the > >>> text > >>> > on > >>> > the screen. I think this would greatly simplify creating patches, > will > >>> > there be any issues with this method? > >>> > > >>> > > >>> > > >>> > Thanks, > >>> > > >>> > > >>> > > >>> > Shawn > >>> > > >>> > > >>> > >>> > > ---------------------------------------------------------------------------- > >>> > -- > >>> > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > >>> 30-Day > >>> > trial. Simplify your report design, integration and deployment - and > >>> focus > >>> > on > >>> > what you do best, core application coding. Discover what's new with > >>> > Crystal Reports now. http://p.sf.net/sfu/bobj-july > >>> > _______________________________________________ > >>> > WiX-users mailing list > >>> > WiX-users@lists.sourceforge.net > >>> > https://lists.sourceforge.net/lists/listinfo/wix-users > >>> > > >>> > > >>> > > >>> > > >>> > >>> > > ---------------------------------------------------------------------------- > >>> -- > >>> > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > >>> 30-Day > >>> > trial. Simplify your report design, integration and deployment - and > >>> focus > >>> > on > >>> > what you do best, core application coding. Discover what's new with > >>> > Crystal Reports now. http://p.sf.net/sfu/bobj-july > >>> > _______________________________________________ > >>> > WiX-users mailing list > >>> > WiX-users@lists.sourceforge.net > >>> > https://lists.sourceforge.net/lists/listinfo/wix-users > >>> > > >>> > >>> > > ---------------------------------------------------------------------------- > >>> -- > >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > >>> 30-Day > >>> trial. Simplify your report design, integration and deployment - and > >>> focus > >>> on > >>> what you do best, core application coding. Discover what's new with > >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july > >>> _______________________________________________ > >>> WiX-users mailing list > >>> WiX-users@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/wix-users > >>> > >>> > >>> > >>> > > ---------------------------------------------------------------------------- > -- > >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > >>> 30-Day > >>> trial. Simplify your report design, integration and deployment - and > >>> focus on > >>> what you do best, core application coding. Discover what's new with > >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july > >>> _______________________________________________ > >>> WiX-users mailing list > >>> WiX-users@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/wix-users > >>> > >> > >> > > > > ---------------------------------------------------------------------------- > -- > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users