Running 32-Bit and 64-Bit Snap-ins on 64-Bit Windows Operating Systems

Applies To: Windows Server 2008, Windows Vista

Microsoft 64-bit operating systems can run both 32-bit MMC (MMC32) and 64-bit MMC (MMC64). MMC64 cannot run 32-bit snap-ins, and MMC32 cannot run 64-bit snap-ins. Some snap-ins are available in both 32-bit and 64-bit form. A snap-in is considered available in 64-bit form if it exists as an HKEY_CLASSES_ROOT\CLSID\snap-in clsid\InprocServer32 key in the registry, where snap-in clsid is the registered CLSID for the snap-in.

This topic describes how to determine and control which version of MMC is executed in a Microsoft 64-bit operating system.

Start-up considerations if /32 or /64 is used

MMC can be executed with command-line parameters, including a console file name and, on a 64-bit Windows operating system, the following command-line switches:

/32

Specifies MMC32.

/64

Specifies MMC64. This is the default on a 64-bit Windows operating system.

If both of these command-line options are used, the last one on the command line takes effect. MMC64 will yield transparently to MMC32 if certain conditions are met, as described in the following section.

Start-up considerations if a console file is specified

If the MMC command line does not contain a /32 or /64 command-line option, but the command line does contain a console file name, then MMC64 examines the console file before determining which version to run. The decision sequence is as follows:

  1. If all snap-ins in the console are available in 64-bit form, then MMC64 is used.

  2. If all snap-ins in the console are available in 32-bit form and some are not available in 64-bit form, then MMC32 is used. (MMC64 starts MMC32, and then MMC64 terminates.)

  3. If the list of available 64-bit snap-ins is a superset of the available 32-bit snap-ins, then MMC64 is used. Similarly, if the list of available 32-bit snap-ins is a superset of the available 64-bit snap-ins, then MMC64 starts MMC32 and MMC64 terminates.

    For example, if a console contains three snap-ins that are available only in 32-bit form, and two snap-ins that are available both in 64-bit and 32-bit form, the five 32-bit-compatible snap-ins together would be considered a superset of the 64-bit snap-ins, and MMC32 would be started.

  4. If some of the snap-ins are available only in 64-bit form and some snap-ins are available only in 32-bit form, you are prompted to specify which version of MMC to run. If you choose MMC64, only the 64-bit snap-ins are loaded. If you choose MMC32, only the 32-bit snap-ins are loaded.

When to specify the path to the console file

System files are stored in the %windir%\system32 folder. In the 64-bit versions of Windows operating systems, the \system32 folder contains 64-bit files, including 64-bit consoles such as eventvwr.msc. If there is also a 32-bit version of the snap-in, it resides in the %windir%\syswow64 folder. In this example, the 32-bit version of Event Viewer would be %windir%\syswow64\eventvwr.msc. If there is both a 64-bit version of the console in the \system32 folder and a 32-bit version in the \syswow64 folder and you want to explicitly run the 32-bit version, you must bypass the MMC decision-making process by specifying both the path and the /32 command-line parameter. For example:

MMC /32 %windir%\syswow64\eventvwr.msc

Note

Double-clicking a shortcut to a file in the \syswow64 folder is like double-clicking the file in Windows Explorer, because it will run MMC without the /32 command-line parameter. To open the 32-bit consoles in the \syswow64 folder, click Start, click Search, and then type the command specifying both the path and the /32 command-line parameter, instead of using a shortcut.