Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Issues Installing / Upgrading Java 7 (Update 21)

Posted on 2013-05-09
8
Medium Priority
?
2,406 Views
Last Modified: 2013-07-09
Hey All -

I've worked with automating deployments using SCCM for a few years now and love it.  A week ago, I went through the usual steps to deploy the latest Java 7 Update 21.  During testing, though, it didn't work.

When installing Java 7 Update 21, the installation status gets to about 80%, then hangs.  A window appears in the background which says "There was a problem starting C:\Program Files (x86)\Java\jre7\bin\installer.dll.  The specified module could not be found"
Error MSG
Since then, I have spent more time trying to get it to work than on anything else recently.  I mean hours upon hours.  I'm applying it to our company Gold Image (which currently has Java 7 Update 17 installed) and for testing have been using 4 Hyper-V VMs so that after a test, I can restore to checkpoint and test again in seconds.  Below are some stats as well as
a list of what I've tried so far...

Stats
- Installing to Gold Image which is Windows 7 x64
- Windows is fully updated to this month
- Java 7 Update 17 previously installed

What I've Tried
- Uninstalling Java 7u17 first
- Rebooting after uninstall
- Cleaning registry of Java-related keys (numerous different key combinations)
- Java cleaning scripts (Example)
- Registry / File snapshot comparisons
- Copying Java 7 Update 21's installer.dll (with and without all other installed files) to destination before installation
- Above step + registering it with regsvr32 (fails)
- Redownloading installation package / files
- Creating MST files / Not using MST files
- Installing straight from EXE (Usually I extract the MSI from deployment)
- Trying different MSIEXEC installation string switches
- Adding logging switches to MSIEXEC string (logs didn't show anything helpful)
Searched Google for hours
- Countless combinations of the above

Nothing ever appears in the Event Logs.  Sometimes I can get it to install using some of the above methods without an error and it is even listed in Add/Remove Programs.  When I go to Java's site to "verify the version", though, it errors out.

I'm at my wit's end.  Any suggestions?
0
Comment
Question by:BzowK
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 14

Expert Comment

by:shahzoor
ID: 39154329
uninstall it completely using Revo Uninstaller and remove its entries from the registry completely
Reboot and install again
0
 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 39155106
The screen shot show TWO slashes between the file and the path.

Maybe you have a legitimate case of a malfunction of the installer in your run conditions.

You never mentioned if this is the 32-bit or 64-bit edition.

SCCM agent is usually deployed as 32-bit and therefore starts everything as 32-bit by default.

It is possible that the 64-bit java installer is not correctly built and get's redirected to the 32-bit Program Files (x86) when making a custom action call to this DLL.

Here are some things to try:

Thing 1 (assuming you are on 64-bit):
Manually run the installer you are using from both a 32-bit cmd prompt (c:\windows\syswow64\cmd.exe) and a 64-bit (cmd.exe) - figure out if you get the same results.  If it works properly from a 64-bit command prompt, then I have code that can help force your script to process as 64-bit even when started by 32-bit SCCM agents.

Thing 2:
Make sure you install 32-bit first, then 64-bit installers if doing both.

Thing 3:
Have you tried Java 7, update 20 to see if you get the same results?

Thing 4 (assumes the double backslash does not matter - might just be bad screen output):
Extract the entire .MSI using abc.msi /a.
Acquire a copy of the installer.dll
During install, manually place it on the above path before running the Java installer.

Thing 5:
Run a procmon trace and see what is actually happening during install - the error may be a red herring - in otherwords it may be something else that makes the installer *think* it can't find the dll.
0
 

Author Comment

by:BzowK
ID: 39155873
OK - thanks for the suggestions.  Here are my answers...

You never mentioned if this is the 32-bit or 64-bit edition
It's the x32 Offline Installer of Java 7 Update 21 but being installed on Windows 7 x64.  I don't install the x64 of Java anymore since we don't have any apps that use it and it would just be a security risk

Have you tried Java 7, update 20 to see if you get the same results?
Yes - The image has u17 on it, but on our image have sent out deployment packages for each released version up to u20 for every release.  Just need to update the version on our image.

Extract the entire .MSI using abc.msi /a.
Acquire a copy of the installer.dll
During install, manually place it on the above path before running the Java installer.
I've already tried that using a installer.dll from a Java 7 Update 21 I got to somewhat install.  Never could get files using /a with this MSI.  Even set up a task sequence in SCCM to copy the file before install.  Java installed, but when I go to Verify Java on Oracle's site, it errored out

Run a procmon trace and see what is actually happening during install - the error may be a red herring - in otherwords it may be something else that makes the installer *think* it can't find the dll.
Working on that now

One thing I did do was attempt to install the MSI using all of msiexec's logging options.  Attached is the log file it created...JavaLog.txt
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 10

Expert Comment

by:CSI-Windows_com
ID: 39156353
If that fails, Rohitab API monitor might be able to reveal more details about the call to RunDLL.

http://www.rohitab.com/apimonitor
0
 

Author Comment

by:BzowK
ID: 39156657
OK...

Thank you again for your higher level suggestions.  I've tried a few things, but am not really sure how to interpret them.  

I downloaded the portable version of API Monitor v2 x64.  I restored a VM with our Gold Image on it to what it should be right after imaging (Windows 7 SP1 x64 + Jav 7 Update 17 installed)  I started monitoring, then double clicked to open jre1.7.0_21.msi (extracted from exe but untouched).  I not only captured the data, but manually logged each window that appeared asking if I wanted to monitor a process.  

A list of the procedure (in order) including processes I accepted to have monitored during installation are below. The whole process took about 3-4 minutes due to me logging everything as it happened.

1. Downloaded / Copied portable install of API to VM's desktop.  Started app with no other apps running (except background ones).  Capture seemed to start upon app start.
2.  Double clicked jre1.7.0_21.msi to start installation
3. Prompted & accepting monitoring of "Windows Installer - jre1.7.0_21"
4. Prompted & accepting monitoring of "WMI Provider Host"
5. Prompted & accepting monitoring of "msiexec"
6. Java Installation Welcome Screen was displayed - clicked Install
7. Prompted & accepting monitoring of "Monitor MS Volume Shadow Copy"
8. Prompted & accepting monitoring of "Host Process for Windows"
9. Prompted & accepting monitoring of "MS Windows search filter host"
10. Prompted & accepting monitoring of "MS Malware Protection Command Line Utility"
11. Prompted & accepting monitoring of "Driver Installation Module"
12. Prompted & accepting monitoring of "Windows host proicess Rundll32
Monitor RunDll3213. Prompted & accepting monitoring of "Rundll32"
Exact same as above
14. Prompted & accepting monitoring of "Update Trusted Sites"
15. The Java Error Pop-up appears minimized.  I restore it and click OK - installation continues
Java Error16. Prompted & accepting monitoring of "Host processes for Windows Services"
17. Prompted & accepting monitoring of "Windows problem reporting"
18. Installation complete

At this point I saved the capture into the attached capture file.  I could only upload a txt file so please rename it's extension to .apmx64 Java-7-Update-21-Capture.txt

If you wouldn't mind taking a quick look to see what you think, I'd really appreciate it - Thanks!
0
 
LVL 10

Accepted Solution

by:
CSI-Windows_com earned 2000 total points
ID: 39156792
This is awesome - I didn't know the latest version finally allowed saving traces!

Unfortunately I am not seeing any "calls" in any of the data you sent me.

Here are some thoughts:
*) Only monitor msiexec.exe and the installer.exe
*) Use display filters to knock out calls you see 1,000,000 times - like all the heap calls*) Search the call records for the message in the error dialog box (e.g. "The specified module cannot be found") - most times it will be in clear text as a parameter to a Windows API.
*) Your error should be sometime "shortly" before that.  Shortly can be a lot of records.
0
 
LVL 1

Expert Comment

by:JTOCCO
ID: 39189012
Did anyone find a resolution to this issue?
0
 

Expert Comment

by:A-Sec
ID: 39309619
Im having the exact same problem updating some of the latter java-installations.
All tho some are fine and some arent - I think it depends on the machine it is being installed on.
For example - I can deploy the new java to "clean" machines but not machines which an older java on it. When I try updating I mostly get the same installer.dll-error but not on all of my machines.

For example I can update alot of Windows Server 2008 without any problems, all of them are 64bit.

Best regards Niklas.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

By default the complete memory dump option is disabled in windows . If we want to enable the complete memory dump for a diagnostic purpose, we have a solution for it. here we are using the registry method to enable this.
A quick guide on how to use Group Policy to create a custom power plan and set it active on Windows 7.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
This Micro Tutorial will give you a basic overview of Windows DVD Burner through its features and interface. This will be demonstrated using Windows 7 operating system.
Suggested Courses

604 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question