Hi all,
Is there a reason there is not a 64-bit agent 4.6.6 build for Windows? We were using the 32 version but found that it would not notice a change of location of the 64 bit version of a java application / service that it was supposed to be monitoring. It turned out that Windows had cached the old location in the Wow6432 :
- A. The Wow6432 registry entry indicates that you're running a 64-bit version of Windows. The OS uses this key to present a separate view of HKEY_LOCAL_MACHINE\SOFTWARE for 32-bit applications that run on a 64-bit version of Windows. When a 32-bit application queries a value under the HKEY_LOCAL_MACHINE\SOFTWARE\<company>\<product> subkey, the application reads from the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\<company>\<product> subkey. The figure below shows the structure under Wow6432Node that 32-bit applications will see. A "registry reflector" copies certain values between the 32-bit and 64-bit registry views (e.g., mainly for COM registration) and resolves any conflicts using a last-writer-wins approach.
- http://www.windowsitpro.com/article/internals-and-architecture/what-s-the-wow6432node-under-the-hkey_local_machine-software-registry-subkey-
Deleting the registry entry made the problem go away, but Windows will keep putting it back.
I tried using 7-zip to unpack the noJRE version (so invocations would use the O/S Java - i.e. 64 bit) but that failed to unpack properly.
I feel this is a gotcha and should be addressed by the Hyperic team. Can someone perhaps verify and validate my thinking?
Thanks,
Martin