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

Reply via email to