As you can see, the error messages are not terribly descriptive and don’t really give any indication as to possible causes. The initial assumption is that there is some issue with SideBySide on these systems (we’ll be covering SideBySide in more detail in a future post). However, that is actually not the case.
If you use Process Monitor to monitor the startup of the MMC.EXE on a working and a non-working system, what you would actually find is that prior to the installation of the hotfix, MMC.EXE was being launched from the Windows\System32 folder. However, after installing the hotfix, MMC.EXE was being launched from the Windows\SysWOW64 folder. The MMC.EXE does not launch because it is attempting to use the 64-bit SideBySide files. So … what happened?
Microsoft 64-bit operating systems can run both 32- and 64-bit MMC’s (MMC32 and MMC64). However, a 64-bit MMC cannot run a 32-bit snap-in, nor can a 32-bit MMC run a 64-bit snap-in. However, it is possible to control which version of the MMC is executed by using command-line parameters, or switches. Stepping away from Windows Server 2003, and looking at 64-bit operating systems in general, let’s take a look at how this would work using the Computer Management snap-in. Most administrators are familiar with right-clicking on the Computer icon and selecting the “Manage” option from the context menu. When you launch the Computer Management snap-in in this fashion, the 64-bit version of MMC is launched. However, to launch the 32-bit version, you could either run MMC.EXE –32 from the Run line, or run COMPMGMT.MSC –32 from the Run line. You can confirm which version is running by looking in Task Manager:
Right-click on the Computer Icon and choose Manage | Run COMPMGMT.MSC from the Run Line |
Run COMPMGMT.MSC –32 from the Run Line |
|
So as you can see by looking in Task Manager, the 32-bit version of MMC is distinguished by the *32 suffix, denoting the application as 32-bit. Thus there are ways to manipulate the version of MMC.EXE used. When specifying a console file there are some considerations. If MMC64 is started from the command line without the –32 or –64 switch, but the command line does contain a console file name, then MMC64 examines the console file before determining which version of MMC remains in execution using the following logic:
And that will do it for this post. Hopefully this helps answer some of your questions.
Additional Resources:
Share this post : |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.