Jump to content

Installing Java 32 bit on a 64 bit OS using a service


Recommended Posts

Has anyone had any success installing 32 bit Java on Win7 (64bit) using a Windows Service (Primasoft RunAsSvc)?

When trying to run, I am getting an 1619 error.

The 64 bit version works fine using this same method.

If I run the same script as a user, the 32bit installs succesfully.  

I have found some info on this website, but I have been unable to get it to work: https://harryjohnston.wordpress.com/2011/02/20/installing-32-bit-software-as-system-in-windows-7-x64/#comment-409

Here is the command I am running for the install:

;; 64bit
If @OSArch = "x64" then RunWait('C:\troyit\AutoInstaller\java\JavaInstall64.exe /s /L C:\TROYIT\AutoInstaller\java\JavaDeployLog-64.txt')

;; 32bit
RunWait('C:\troyit\AutoInstaller\java\JavaInstall32.exe /s /L C:\TROYIT\AutoInstaller\java\JavaDeployLog-32.txt')

Any help would be greatly appricated!

Thanks,

Rich

Link to comment
Share on other sites

Try adding this to your script when run on a 64 bit OS, it might work.

DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

  • Moderators

MSI error 1619 means the installation package could not be opened. What account are you installing this under (user's account, system, admin account, etc.). Is the install local to the workstation or on a share? Does the account you're installing with have access to that location?

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

Hi Jlogan3o13,

Thanks for your reply.

I am using the Primasoft RunAsSvc , which I believe uses the "local system" account to run.

The files for install are located locally in a directory called "C:troyitAutoInstallerjava" . The everyone group has access to this location.

The 64bit version works just fine.   The website I linked above, gives more details of the issue and why its happening.  Here is a quick blurb from the website that explains it a bit better than I could.

 

Installing the 32-bit JRE results in error code 1619, which NET HELPMSG translates as “This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package.”  Running the installer in interactive mode produces the same message.  The installer works normally when run from the context of a logged-in user.

Several hours of troubleshooting later, I identified the source of the problem.  Startup scripts run as local system.  In Windows 7, processes that run as local system have a special profile found in C:\Windows\System32\configsystemprofile.  Unfortunately, on 64-bit systems, there are two system32 folders; one for 64-bit processes,and another (whose real name is syswow64) for 32-bit processes.  As a result, there are two separate system profiles; one for 32-bit, one for 64-bit.

So what?  Well, the Sun Java installer unpacks into a subfolder of the LocalLow application data directory.  In this case, the folder in question is C:\Windows\System32\configsystemprofileAppDataLocalLowSunJavajre1.6.0_24.  Because this is a 32-bit process, though, it is really writing to syswow64 instead of system32.

The Windows Installer, however, is a 64-bit process.  So when it is asked to open the MSI file, it’s looking in the wrong place; hence error code 1619.  The file can’t be opened because it can’t be found.

 

I was just hoping that someone already tackled this issue and could point me in the right direction.

Rich

Link to comment
Share on other sites

So for now I got around the issue by extracting the msi and cab files, then running the the msi silently to install.  Its not optimal since there is not an easy way to extract the files from the executable but it will have to do for now.

Thanks,

Rich

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...