It is not possible using MSI. On Thu, Oct 30, 2008 at 2:15 AM, MAKARAND HAZARIKA < [EMAIL PROTECTED]> wrote:
> Hello everyone, > > Actually I am new to the world of Wix and Windows Installers. And the > first task I get is to combine a 32bit and a 64bit installer. Now > looking at all the gentlemen's discussions, I figure the problem is not > as simple as I had pictured the first time. > > So what is the final conclusion? That it is not possible at all to have > one single msi for both 32 and 64bit OS?? > > > Thanks and Regards, > Makarand > > > -----Original Message----- > From: Bryan Turner [mailto:[EMAIL PROTECTED] > Sent: 28 October 2008 PM 9:54 > To: [EMAIL PROTECTED]; General discussion for WindowsInstaller XML > toolset.; Pally Sandher > Subject: Re: [WiX-users] Question regarding the attribute"Win64" > in"Component" > > One approach to this that I have seen work is where you have one .wxs > file that generates both a 32-bit and a 64-bit .msi through conditional > logic. You then wrap both the 32-bit and 64-bit .msi in a bootstrapper > that determines the correct .msi to install at runtime. The > bootstrapper can be pretty simple, with no UI that does nothing other > than determine the OS and launch the correct .msi. While not perfect, > this allows you to only have to manage one set of .wxs files to generate > two almost identical installations, targeting two different platforms. > > To generate two installers, one 32-bit and one 64-bit from a single .wxs > file, you would do something like this... > > <?xml version="1.0" encoding="utf-8"?> > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> > <?ifndef X64 ?> > <?define var.win64=no ?> > <?define var.PLATFORM="x86" ?> > <?define var.PROGRAMFILESFOLDER="ProgramFilesFolder" ?> > <?else ?> > <?define var.win64=yes ?> > <?define var.PLATFORM="x64" ?> > <?define var.PROGRAMFILESFOLDER="ProgramFiles64Folder" ?> > <?endif ?> > <Product Id="{GUID}" Language="1033" Manufacturer="you" Name="product > name" UpgradeCode="{GUID}" Version="version"> > <Package Comments="" Description="description" > InstallerVersion="200" Keywords="Installer,MSI,Database" > Languages="0,1033" Manufacturer="you" > Platform="$(var.PLATFORM)" SummaryCodepage="0" Compressed="yes" /> > > <Component Id="Component" Guid="{GUID}" Win64="$(var.win64)"> > <File Id="file" Name="youfile" KeyPath="yes" /> > </Component> > > > -----Original Message----- > From: Michael Owings [mailto:[EMAIL PROTECTED] > Sent: Tuesday, October 28, 2008 8:32 AM > To: Pally Sandher > Cc: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Question regarding the attribute "Win64" > in"Component" > > A mixed install will *always* be unavoidable for us. > > Some of our components are plugins for other applications -- which may > themselves be 32-bit or 64-bit (even on a 64-bit platform, a 32-bit app > could be in use, or a particular app may ONLY be 32-bit), which requires > the plugins built for the appropriate architecture. We don't know what's > installed where until runtime. > > We actually determine the correct place to drop the plugins via custom > actions sequenced prior to LaunchConditions. The plugin install paths > could be anywhere -- very possibly (and not uncommonly) NOT under > ProgramFiles64Folder or even ProgramFilesFolder. In fact, we really for > the most part don't care about the values of these properties and don't > use them, as we have to determine component locations via custom > actions, always. There is a single exception to this rule -- a 32-bit > app, but the MSI always does the right thing with this (we use > ProgramFilesFolder, and it drops it into the correct place) > > However, I might be concerned if our *own* location properties were bing > transformed somehow. In other words, If I set a property to C:\Program > Files\foo on a 64-bit machine and I get redirected to c:\Program Files > (x86)\foo on the component install I might be concerned -- but I haven't > seen evidence of this (yet -- I have a lot more 64-bit testing to do). > Nothing is dropped into System32 in all cases. > > Having said all that -- I'm not averse to building a 64-bit installer, > but (per another email) 64-bit MSIs with WIX 2.x don't seem to work for > me: > > I've noticed that my MSI will not run on a Vista-64 box if I add the > Platforms="x64" attribute. The error is something to the effect of : > "This installation package could not be opened. Contact the application > vendor to verify that this is a valid Windows Installer package." Should > my custom actions dll be built 64-bit? The MSI can be opened with Orca > and examined without issues. > > Any help on *that* issue would be appreciated, as I do have an upcoming > install where I really will need a 64-bit MSI. > > Pally Sandher wrote: > > If your MSI is built for x86 (i.e. Platform = "Intel") try as you may, > > you will *not* be able to access the 64-bit system directories > > ProgramFiles64Folder, System64Folder or CommonFiles64Folder. You may > get > > an MSI to build & even look as though it installs but it won't ever > > access these areas. When (if) you check the log you'll see properties > > being transformed by something called WIN64DUALFOLDERS from the 64-bit > > directory to the corresponding 32-bit directory. > > > > You can however build a x64 MSI which can access both 64-bit & 32-bit > > system directories which WIN64DUALFOLDERS won't touch but as stated > > before you will get ICE80 errors for every 32-bit directory you > > reference. > > > > Why does your application have 32-bit & 64-bit components? > > > > > > Palbinder Sandher > > Software Deployment and IT Administrator > > > > T: +44 (0) 141 945 8500 > > F: +44 (0) 141 945 8501 > > http://www.iesve.com > > > > **Design, Simulate + Innovate with the <Virtual Environment>** > > > > Integrated Environmental Solutions Limited. Registered in Scotland No. > > SC151456 > > Registered Office - Helix Building, West Of Scotland Science Park, > > Glasgow G20 0SP > > > > Email Disclaimer > > > > > > > > -----Original Message----- > > From: Christopher Karper [mailto:[EMAIL PROTECTED] > > Sent: 28 October 2008 14:28 > > To: [EMAIL PROTECTED] > > Cc: General discussion for Windows Installer XML toolset. > > Subject: Re: [WiX-users] Question regarding the attribute "Win64" > > in"Component" > > > > MSI doesn't support a single installer for multiple architectures. > > That's > > the problem. You'll never get a 32bit installer to validate with 64 > > bit > > components in it, period. MSI requires that you build a single > > installer for each architecture you target. You can use conditional > > statements and variable replacement in your .wxs file to have a single > > source file, but generate the two .msi files, but you must have the > two. > > *shrug* Just how it is. > > > > Chris > > > > On Tue, Oct 28, 2008 at 10:13 AM, Michael Owings <[EMAIL PROTECTED]> > > wrote: > > > >> Hmmm -- I guess my question is -- what am I risking? Getting rid of > >> the 32-bit installer is a non-starter for us (this isn't a corporate > >> environment), and the 32-bit mixed installer works perfectly in both > >> environments. (Our 64-bit components don't actually take up much > > room). > >> A single installer (at least for this product) seems to be a cleaner > >> approach. Is there some gotcha I'm missing here? > >> > >> Christopher Karper wrote: > >> > >>> If you need a mixed installer, then you have to make it a 64 bit > >>> installer. It doesn't make sense to install 64 bit components on a > > 32 bit > >>> system anyway, so just don't include those components in your 32 bit > >>> installer, or alternately, don't offer a 32 bit installer. In some > >>> corporate environments, that might work. > >>> > >>> Chris > >>> > >>> On Tue, Oct 28, 2008 at 9:19 AM, Michael Owings > > <[EMAIL PROTECTED]<mailto: > >>> [EMAIL PROTECTED]>> wrote: > >>> > >>> Pally Sandher wrote: > >>> > Yes but you will get an ICE80 error when compiling if you set > >>> > Win64="yes" on a component when your MSI is an x86 build & > >>> vice-versa. > >>> > > >>> > Why would you want to? > >>> > >>> If you install mixed 32 and 64-bit components in a single > install? > > We > >>> have an installer that MUST do this. What would be a better > > approach? > >>> -- > >>> Teleoperate a roving mobile robot from the web: > >>> http://www.swampgas.com/robotics/rover.html > >>> > >>> > >>> > > > ------------------------------------------------------------------------ > > - > >>> This SF.Net email is sponsored by the Moblin Your Move > Developer's > >>> challenge > >>> Build the coolest Linux based applications with Moblin SDK & win > >>> great prizes > >>> Grand prize is a trip for two to an Open Source event anywhere in > >>> the world > >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>> <http://moblin-contest.org/redirect.php?banner_id=100&url=/> > >>> _______________________________________________ > >>> WiX-users mailing list > >>> WiX-users@lists.sourceforge.net <mailto: > >>> WiX-users@lists.sourceforge.net> > >>> https://lists.sourceforge.net/lists/listinfo/wix-users > >>> > >>> > >>> > >> -- > >> Teleoperate a roving mobile robot from the web: > >> http://www.swampgas.com/robotics/rover.html > >> > > > ------------------------------------------------------------------------ > > - > > This SF.Net email is sponsored by the Moblin Your Move Developer's > > challenge Build the coolest Linux based applications with Moblin SDK & > > win great prizes Grand prize is a trip for two to an Open Source event > > anywhere in the world > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > -- > Teleoperate a roving mobile robot from the web: > http://www.swampgas.com/robotics/rover.html > > ------------------------------------------------------------------------ > - > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the > world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------ > - > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the > world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users