United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-7152068 : For 32 bit jre in 64 bit machine, fxreg.exe looks into system32 for npDeployJava1.dll

Details
Type:
Bug
Submit Date:
2012-03-07
Status:
Closed
Updated Date:
2012-04-13
Project Name:
JDK
Resolved Date:
2012-04-13
Component:
deploy
OS:
windows
Sub-Component:
deployment_toolkit
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
7u4
Fixed Versions:

Related Reports
Backport:
Backport:

Sub Tasks

Description
on 64 bit windows machine, there's system32 folder for 64 bit application and sysWOW64 folder for 32 bit application.

However, during fx installation, fxreg.exe will look into both system32 and sysWOW64 for npdeployJava1.dll. This is wrong because if we have dtplugin for 64bit then we won't install 32 bit dtplugin anymore.

                                    

Comments
EVALUATION

Switched to use of syswow64 for 32 bit apps running on 64 bit system. Propagate error codes to the callee
                                     
2012-03-11
SUGGESTED FIX

http://sa.sfbay.sun.com/projects/deployment_data/8/7152068.2/
                                     
2012-03-11
EVALUATION

We found out another functions that's also not get redirected, GetFileVersionInfoSize() and GetFileVersionInfo(). This might be the root cause of why we're not seeing dt dll get copied to sysWOW64 if there's a later version of dt dll exists in system32. And it's likely to happen when we have 64 bit jre8 installed on the system.
                                     
2012-03-09
EVALUATION

GetSystemDir in RegFX always get C:\Windows\system32 no matter it's calling from an 32 bit application and 64 bit application. 

However, in a normal 32 bit application testcase, when u try to 1) check file exist or 2) copy file to system32 folder, it get redirect to sysWOW64.
                                     
2012-03-08



Hardware and Software, Engineered to Work Together