This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Adding PM snap-in to MMC

I am trying to add the patchmanager snap-in to an MMC that I use for my everyday admin tasks, but when I try to add it the mmc crashes.

pastedImage_0.png

  • This is correct, Andrew. With the migration of Patch Manager to the .NET Framework v4 in v1.85, it is no longer possible to incorporate the Patch Manager snap-in into a downlevel (CLRv2-based MMC). This was documented in the Release Notes for v1.80 and in the current release notes for v1.85. This was an architectural requirement in order to provide support for Windows Server 2012 and WSUS v6.

    However, for the most part, legacy snap-ins can be loaded into a CLRv4-based MMC, so if you open an empty CLRv4 MMC, you can then add the Patch Manager snapins as well as legacy CLRv2 snap-ins. This is discussed in more detail in the MSDN article MMC 3.0 and CLR 4.0 Support.

  • Thanks, that was a huge help! From your links I found that you can make mmc.exe load the CLR4.0 runtime by setting a system environment variable. From windows 7, you can do this from an administrative shell with the following command:

    C:\>setx COMPLUS_Version v4.0.30319 /M

    You can verify your version of the CLRv4.0 runtime on your machine by browsing to %WINDIR%\Microsoft.NET\Framework\ (%WINDIR%\Microsoft.NET\Framework64\ on a 64-bit edition)

    After setting the environment variable, restart the machine and any new instances of mmc.exe will use the CLR 4.0 runtime, allowing you to add the Solarwinds Patch Manager snap-in.

  • Cool. That I did not know. I knew you could 'choose' to use the CLRv4 MMC, but I didn't realize it was as simple as simply changing the runtime being called.

    I'll chat with our doc people and see about getting the docs updated to identify this as the fix, rather than simply stating it can't be done. :-)

  • I have found at least one snap-in that does not work in this configuration. The Citrix Single Sign-on component of the Citrix 6.5 AppCenter will throw an error message and fail to load if the Common Language Runtime has been set to version 4.

    To work around this, I removed the system environment variable COMPLUS_Version that sets the CLR to version 4 globally, and instead set the CLR version at runtime for just the specific instance of the MMC that would be loading the Patch Manager snap-in. The following batch file will set the CLR version and launch mmc.exe with a saved console file. Note that there are TWO underscores at the beginning of the __COMPAT_LAYER environment variable name:

    SET __COMPAT_LAYER=RUNASINVOKER

    SET COMPLUS_Version=v4.0.30319

    START C:\Windows\System32\mmc.exe "C:\Path\To\Console.msc"

    __COMPAT_LAYER=RunAsInvoker allows mmc.exe to run as a restricted user and prevents the UAC prompt. To run mmc with local admin privileges, you can remove the first line, but you must then run the batch file as administrator in order for the COMPLUS_Version setting to take effect.

    Sources:

    Exchange 2010 - installing EMC + SP2 on Windows 8

    __COMPAT_LAYER=RunAsInvoker | The almost not worth having blog

  • Thank you for the feedback, Andrew. I've shared this anomaly, along with the technique for invoking the CLR4 just for the PM console.