Why my 64 architecture exe is not able to read registry?
-
I am having a project which is for 32 bit platform. I am adding 64 bit support also. 32 bit compilation is able to open & read registry while 64 bit compilation is not able to open registry. I was opening HKEY_CLASSES_ROOT. I guess it might be related to permissions but I could not figure it out. Even worse 64 bit compilation is not able to load swf while 32 compilation does it successfully. Any guess why?
-
I am having a project which is for 32 bit platform. I am adding 64 bit support also. 32 bit compilation is able to open & read registry while 64 bit compilation is not able to open registry. I was opening HKEY_CLASSES_ROOT. I guess it might be related to permissions but I could not figure it out. Even worse 64 bit compilation is not able to load swf while 32 compilation does it successfully. Any guess why?
-
32 bit compilation works in both 32 bit & 64 bit. But I need a separate 64 bit edition so I am trying to do that. 64 bit runs but not able to open registry and swf. 64 bit compilation does not run on 32 bit
-
32 bit compilation works in both 32 bit & 64 bit. But I need a separate 64 bit edition so I am trying to do that. 64 bit runs but not able to open registry and swf. 64 bit compilation does not run on 32 bit
Could you debug through the 64 bit compilation and specifically post the return values from the registry functions, like RegCreateKeyEx (or RegOpenKeyEx) and also what the RegQueryValueEx function returns, and any other you are using in the particular piece of code that does not work. It'd also help if you post your code. Without more information, we're flying blind here
-
I am having a project which is for 32 bit platform. I am adding 64 bit support also. 32 bit compilation is able to open & read registry while 64 bit compilation is not able to open registry. I was opening HKEY_CLASSES_ROOT. I guess it might be related to permissions but I could not figure it out. Even worse 64 bit compilation is not able to load swf while 32 compilation does it successfully. Any guess why?
Most likely the 32 bit EXE was given a local registry to play with, this is part of UAC legacy application handling. The 64 bit EXE is not seen as a legacy application, and gets a proper slap on the fingers. Usually it is during installation that one chooses what files should be opened with the application. Not something the application changes after installation.