In the registry view, I manually created Programmable key using the following path HKCR\CLSID\{MYGUID}\Programmable. I think there’s no problem on 32-bit OS.
However, on 64-bit OS, Programmable somehow gets missed. I guess it probably has something to do with registry redirection on 64-bit. Taking a look at the
registry, I find CLSID\{MYGUID} is actually located @HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{MYGUID}
and there is no Programmable key created under {MYGUID}.
So my question is – do I have to manually specify the Programmable key @HKLM\SOFTWARE\CLasses\Wow6432Node\CLSID\{MYGUID}\Programmable as well? Do I need to change the target platform to x64?
Not sure exactly what you are asking but it certainly seems that you are facing a problem caused by registry redirection of a 32 bit process on 64 bit Windows.
This problem only occurs on 64 bit Windows. If your application requires some values in the registry you should set these values using a tool that runs using "the same number of bits" as your application. For instance you can use Regedit:
Your application is a 32 bit application: Use 32 bit Regedit (
%SystemRoot%\SysWOW64\regedit.exe).Your application is a 64 bit application: Use 64 bit Regedit (
%SystemRoot%\regedit.exe).If for some reason you want to use a 64 bit tool to set registry keys and values for a 32 bit application you need to understand how registry redirection is performed. For instance,
HKLM\Softwareis redirected toHKLM\Software\Wow6432Node. The details are explained in the Microsoft Support article linked above.