Detect whether Office is 32bit or 64bit via the registry

calendar_today Asked Feb 4, 2010
thumb_up 45 upvotes
history Updated April 14, 2026

Direct Answer

From TechNet article on 64-bit editions of Office 2010: If you have installed Office 2010 including Microsoft Outlook 2010, Outlook sets a registry key named Bitness of type…. This is an advisory response with reference links, ranked #3rd of 95 by community upvote score, from 2010.


The Problem (Q-score 44, ranked #3rd of 95 in the VBA Core archive)

The scenario as originally posted in 2010

Now that Office also comes in a 64bit install, where in the registry do you find out if the version of Office installed is 32bit or 64bit?

Why community consensus is tight on this one

Across 95 VBA Core entries in the archive, the accepted answer here holds elite answer (top 10 %%) status — meaning voters are unusually aligned on the right fix.


The Verified Solution — elite answer (top 10 %%) (+45)

Advisory answer — community consensus with reference links

Note: the verified answer below is a reference / advisory response rather than a copy-ready snippet.

From TechNet article on 64-bit editions of Office 2010:

If you have installed Office 2010
including Microsoft Outlook 2010,
Outlook sets a registry key named
Bitness of type REG_SZ on the computer on which it is installed. The
Bitness registry key indicates whether the Outlook 2010 installation
is 32-bit or 64-bit. This may be
useful to administrators who are
interested in auditing computers to
determine the installed versions of
Office 2010 in their organization.

  • Registry path: HKEY_LOCAL_MACHINESoftwareMicrosoftOffice14.0Outlook
  • if you have installed Office 2013 then use this
    Registry path: HKEY_LOCAL_MACHINESoftwareMicrosoftOffice15.0Outlook
  • Registry key: Bitness
  • Value: either x86 or x64

and elsewhere in the same article:

Starting with Office 2010, Outlook is
available as a 32-bit application and
a 64-bit application. The version
(bitness) of Outlook that you choose
depends on the edition of the Windows
operating system (32-bit or 64-bit)
and the edition of Office 2010 (32- or
64-bit) that is installed on the
computer, if Office is already
installed on that computer.

Factors that determine the feasibility
of installing a 32-bit or a 64-bit
version of Outlook include the
following:

  • You can install 32-bit Office 2010 and 32-bit Microsoft Outlook 2010 on a supported 32-bit or 64-bit edition of the Windows operating system. You can install the 64-bit version of Office 2010 and 64-bit Outlook 2010 only on a supported 64-bit operating system.
  • The default installation of Office 2010 on a 64-bit edition of the Windows operating system is 32-bit Office 2010.
  • The bitness of an installed version of Outlook is always the same as the bitness of Office 2010, if Office is installed on the same computer. That is, a 32-bit version of Outlook 2010 cannot be installed on the same computer on which 64-bit versions of other Office 2010 applications are already installed, such as 64-bit Microsoft Word 2010 or 64-bit Microsoft Excel 2010. Similarly, a 64-bit version of Outlook 2010 cannot be installed on the same computer on which 32-bit versions of other Office applications are already installed.


When to Use It — vintage (14+ years old, pre-2013)

A top-10 VBA Core pattern — why it still holds up

Ranks #3rd of 95 in the VBA Core archive. The only pattern ranked immediately above it is “VBA – how to conditionally skip a for loop iteration” — compare both if you’re choosing between approaches.

What changed between 2010 and 2026

The answer is 16 years old. The VBA Core object model has been stable across Office 2013, 2016, 2019, 2021, 365, and 2024/2026 LTSC, so the pattern still compiles. Changes that might affect you: 64-bit API declarations (use PtrSafe), blocked macros in downloaded files (Mark-of-the-Web), and the shift toward Office Scripts for web-first workflows.

help
Frequently Asked Questions

Why is this answer the top decile of VBA Core Q&A?
expand_more

Answer score +45 vs the VBA Core archive median ~15; this entry is elite. The score plus 44 supporting upvotes on the question itself (+44) means the asker and 44 subsequent voters all validated the approach.

This answer links out — what are the reference links worth following?
expand_more

Read the first external link for the canonical reference, then search this archive for a top-10 entry in the same category — advisory answers are best paired with a ranked code snippet to close the loop.

This answer is 16 years old. Is it still relevant in 2026?
expand_more

Published 2010, which is 16 year(s) before today’s Office 2026 build. The VBA Core object model has had no breaking changes in that window. Three things to re-test: (1) blocked macros on downloaded files (Mark-of-the-Web), (2) 64-bit API declarations (PtrSafe, LongPtr), (3) any shift toward Office Scripts for web scenarios.

Which VBA Core pattern ranks just above this one at #2?
expand_more

The pattern one rank above is “VBA – how to conditionally skip a for loop iteration”. If your use case overlaps, compare both before committing.

Data source: Community-verified Q&A snapshot. Q-score 44, Answer-score 45, original post 2010, ranked #3rd of 95 in the VBA Core archive. Last regenerated April 14, 2026.