It doesn't sound like your problem is with Java being a service, but in case 
you have trouble with however your Java programs are bundled into exes to run 
as services and are looking for an alternative, thus far I've found the Java 
Service Launcher (http://jslwin.sourceforge.net/) works very well thus far and 
is easy to use. All the others Java-as-a-Windows-service solutions I found or 
were recommended were much heavier-weight and more difficult to use than I 
needed.

Alain

-----Original Message-----
From: Tim Hawes [mailto:haw...@anx.com] 
Sent: June 18, 2013 09:38
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