Yes. Very sensible. Just keep an eye on the GUIDs for a while until you are sure it all works.
John Aldridge wrote: > I asked... > > >> From: John Aldridge [mailto:j...@jjdash.demon.co.uk] >> >> Are there any guidelines for how best to create both a 32 and a 64 bit >> installer from a single WiX >> source file? I can use variable substitution to set the Platform attribute >> and pick up the right >> versions of the various executable files, but I'm puzzled about how to >> manage Component GUIDs. Do they >> need to be different for the 32 & 64 bit installers, and if so does >> WiX/Votive provide me any tools >> which can be used to manage this difference? It is possible that both the 32 >> and 64 bit versions will >> need to be installed at once, if that matters. >> >> A separate but perhaps related question is how to manage a new product >> version which can be installed >> side-by-side with the current version. My understanding is that I need to >> allocate new Component GUIDs, >> but I'd rather not spend hours with GUIDGEN copy & pasting hundreds of new >> entries! I guess I could >> write a utility to process a WiX source file and replace every GUID in it, >> but is there a better way? >> > > Replies pointed me at > > <http://blogs.msdn.com/heaths/archive/2005/10/24/windows-installer-on-64-bit-platforms.aspx> > > which includes the advice > > >> If a 32-bit component is contained in both a 32-bit installation package >> and a 64-bit installation package it may have the same component ID but >> 32- and 64-bit components should have different component IDs, just as >> 32- and 64-bit products should have different product codes. >> > > which seems clear enough. In addition, labour saving ways of replacing GUIDs > were suggested. Thank you all for the help so far. > > I do need to support patching, so automatic GUID replacement as part of the > build process won't do. My tentative plan is to use > > Guid="*" > > rather than explicit GUIDs, and to rely on the autogeneration mechanism to > keep the GUIDs stable but different for things installed to ProgramFiles and > those installed to Program64Files. > > This seems to work nicely for the installer itself, but I'm also generating > 32 & 64 bit versions of a merge module. The 64 bit installer includes both > versions of the msm, the 32 bit installer just the 32 bit msm). I plan to > have the Votive project define, for each target platform, a different GUID as > the value of the 'Seed' preprocessor variable, and then to code the merge > module like the following: > > <Module Id="SomeModule" ... > > <Package Id="$(var.Seed)" Platform="$(var.Platform)" ... /> > <Directory Id="TARGETDIR" Name="SourceDir" ... > > <Directory Id="MergeRedirectFolder" > ComponentGuidGenerationSeed="$(var.Seed)" ... > > <Component Id="SomeFile.dll" Guid="*" ... > > : > > Does this all seem sensible? > > -- > Cheers, > John > > > ------------------------------------------------------------------------------ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users