You need 2 MSI packages, one for the 64 bit components and one for the x86 
components. You can utilize burn to do the bitness of the OS test and then 
decide which installer to invoke.

-----Original Message-----
From: Tim Hawes [mailto:haw...@anx.com] 
Sent: Tuesday, June 18, 2013 8:38 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Java Program Installer

I have a product that will use a 64bit installer. It uses an exe wrapper for 
the jar files so that the programs can be entered as Windows services and the 
config programs can run from the Start menu. The wrapper requires different 
binaries for the type of JVM installed, 32bit executables for runnning the jars 
under a 32bit JVM, and 64bit executables for running the same jars under a 
64bit JVM.

The requirements for the 64bit installer is to detect which JVM is installed. 
If it finds the 64bit JRE, it stops there and installs the 64bit exe's (and the 
associated jar files) under ProgramFiles64Folder, upon failing that, it should 
search for the 32bit JRE, and then install the 32bit exe's (and associated jar 
files) under ProgramFilesFolder.

Here is the WiX snippet I have:

    <Property Id="JRE64">
      <RegistrySearch Id="J64REVER" Type="raw"
        Root="HKLM" Key="Software\JavaSoft\Java Runtime 
        Environment\CurrentVersion" Name="JavaVersion" />
    </Property>

    <Property Id="JRE32">
      <RegistrySearch Id="J32REVER" Type="raw"
        Root="HKLM" Key="Wow6432Node\JavaSoft\Java Runtime 
        Environment\CurrentVersion" Name="JavaVersion" />
    </Property>

    <Condition Message="This application requires Java Version 7 
    or higher">
      <![CDATA[ (Installed OR JRE32 OR JRE64) AND JRE32 < "1.7" 
      AND JRE64 < "1.7"  ]]>
    </Condition>

I don't think my condition is right. What I want it to say, in pseudo code, is:
 
IF (
      (NOT JRE32 OR JRE32 < "1.7")
     AND
      (NOT JRE64 OR JRE64 < "1.7")
   )
THEN stop install with the message.

Since it is possible to have both an 32bit JRE and 64bit JRE installed on a 
64bit system, it is important to check for both, but default to the 64bit JRE 
if it is up-to-date and available.

Thanks!

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to