When running in 64-bit mode, the installer needs to register both 32- and 64-bit COM classes, so I am writing registry values to both HKLM\\SOFTWARE\\Classes\\CLSID and HKLM\\SOFTWARE\\Wow6432Node\\Classes\\CLSID. The problem is that no registry data is written to the Wow6432Node.
I have debugged the script, and the Write Registry Key commands to Wow6432Node are executed, but when I investigate using regedit after the installation, no values exists.
Below is an excerpt of the installer script:
Code: Select all
Write Registry Key HKLM\\SOFTWARE\\Wow6432Node\\Classes\\CLSID\\{E82491FC-2234-4FFC-BC73-D05B27FF3B0F}\\InprocServer32\\ThreadingModel, Both
Write Registry Key HKLM\\SOFTWARE\\Wow6432Node\\Classes\\CLSID\\{E82491FC-2234-4FFC-BC73-D05B27FF3B0F}\\InprocServer32\\, <PathToDll>Code: Select all
MSI (s) (8C:B0) [07:25:09:774]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\\Wow6432Node\\Classes\\CLSID\\{E82491FC-2234-4FFC-BC73-D05B27FF3B0F}\\InprocServer32,,BinaryType=1,)
MSI (s) (8C:B0) [07:25:09:774]: Executing op: RegAddValue(Name=ThreadingModel,Value=Both,)
MSI (s) (8C:B0) [07:25:09:776]: Executing op: RegAddValue(,Value=<PathToDll>,)Another issue I have encountered is a problem with retrieving the 64-bit architecture. In your documentation you suggest the the PROCESSOR_ARCHITECTURE environment variable should be used to find out the processor architecture. When I try this I always get X86 (not AMD64). I believe that this is expected since the install script is running as a 32-bit process. I have not tested on an IA64 processor, but I assume that the architecture will be reported as X86 on IA64 as well. Is that correct? If it is, do yo have any other suggestion on how to detect the architecture?
/Andreas

