Needed help to detect programmatically whether MS Office 2010 installed on a m/c is 64 bit or 32 bit.
I came to know that If we have installed Office 2010 including Microsoft Outlook 2010, Outlook sets a registry key named Bitness(Registry path: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Outlook) of type REG_SZ on the m/c on which it is installed. The Bitness registry key indicates whether the Outlook 2010 installation is 32-bit or 64-bit.
But it will not help when we do not have outlook 2010 installed on a m/c.
- Changed type Dinesh Patil Thursday, July 08, 2010 9:03 AM
Thank you for using Office 2010 Setup and Deployment forum.
From your description, I understand that you want to programming detect whether the Office program installed on the computer is 32-bit or 64-bit. Normally, we can check the Bitness registry file under this registry subkey: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Outlook. However, the registry subkey is not available if Outlook is not installed. If there is any misunderstanding, please feel free to let me know.
If we want to detect from the registry, the registry subkey is a good path for us to detect. If Outlook is not installed, we can also try to detect the path of the Office installation.
Normally, 32-bit Office can be installed on 32-bit system or 64-bit system.
By default, If it is installed on a 32-bit system, the installation path is: C:\Program Files\Microsoft Office. Also, in the registry, the registry subkey is: HKEY_LOCAL_MACHINE\Software\Microsoft\Office
If it is installed on a 64-bit system, the installation path is: C:\Program Files(x86)\Microsoft Office. In the registry, the registry subkey is: HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Office
64-bit Office can only be installed on 64-bit system, the installation path is: C:\Program Files(x64)\Microsoft Office. In the registry, the registry subkey is: HKEY_LOCAL_MACHINE\Software\Microsoft\Office
I sincerely hope the information above helps. If anything is unclear or if there is anything I can do for you, please feel free to let me know.
- Proposed as answer by seanm413 Thursday, May 26, 2011 4:47 PM
Thanks for your response.
But problem we are facing that when we launch our application from 64 bit system and Internet Explore 32 bit then it reads the registry keys from HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Office path so we can't detect whether office 2010 64 bit is installed or not.
Can you please suggest any way to read registry entries from path( HKEY_LOCAL_MACHINE\Software\Microsoft\Office ) in case when we launch our application from 64 bit system and Internet explore 32 bit.
Do you have any info about key : HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\OfficeCompatible.Application.x64\\CurVer i observed that this key appeared when we have 64 bit Ms office 2010 installed on 64 bit system.
Sally's Answer seems to hold true,
I am interested in the Bitness of Word at the time of install of my application
If HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Office\Word exists it is 32-bit Word
If HKEY_LOCAL_MACHINE\Software\WOW6432Node\ does not exist it is a 32 OS and there must be 32-bit Word.
If HKEY_LOCAL_MACHINE\Software\WOW6432Node\ exists BUT HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Office\Word does not exists AND HKEY_LOCAL_MACHINE\Software\\Microsoft\Office\Word does exist it is 64-bit Word
and finally if neither HKEY_LOCAL_MACHINE\Software\\Microsoft\Office\Word or HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Office\Word exists then Word is not installed.