Click here to Skip to main content
15,887,683 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello All,

I have one 64 bit applicatoin , which uses some 32 bit graphic exes.
While i am doing createprocess for that 32 bit exes , its looks for registry path in "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyApp" .
But as my application is 64 bit , all registry entries is in
"HKEY_LOCAL_MACHINE\SOFTWARE\MyApp".
As result creatprocess fot 32 bit graphic exe fails.
My Question is that "Is there any way so those 32 bit exe also looks for there registry path in default 64 bit registry path instead of wow6432node ?"

P.S. I cant convert those 32 bit exe into 64 bit as I don't have the source code for those 32bit graphic exes .

Please provide me any help to resolve this issue.

Regards..
Posted

There are several things you can do:
1. In your 64-bit application, copy all entries under HKEY_LOCAL_MACHINE\SOFTWARE\MyApp to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyApp. AFAIK, explicit access to Wow6432Node in 64-bit programs is allowed.
3. If your 32-bit application can get these entries from an alternate source, provide that. For instance, I've seen applications that expect parameters in the command line; if those weren't provided, the application reads them from the registry; if not present, the application uses default values. If the 32-bit application you use can accept parameters in the command line, you can read the registry in the 64-bit application and pass them.

Hope this helps,
Pablo.
 
Share this answer
 
Comments
NikhilSisodia 23-Aug-12 5:25am    
Hello Pablo,
Thanks for your suggestions , but i dont want to create any regstry entry in wow6432node, Is there any way that my 32 bit exe looks reg path in default 64 location instead of wow6432node.
Pablo Aliskevicius 23-Aug-12 7:58am    
As far as I know, there isn't. The wow6432node provides a 'virtual registry' for 32 bit processes, and they can't see the 64 bit areas. Even if you could DLL injection it would not help: the injected DLL would also be 'tricked into believing' that the wow6432node is the actual registry.
So, I don't see any solution but to place the information where the third-party application would look for it.

Hope this helps,
Pablo.
There is no way so those 32 bit exe also looks for their registry path in default 64 bit registry path instead of wow6432node ?"

The only possible solution is to port 32 bit exe into 64 bit :-)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900