Click here to Skip to main content
15,893,814 members
Articles / Programming Languages / Visual Basic

Using managed code to detect what .NET Framework versions and service packs are installed

Rate me:
Please Sign up or sign in to vote.
4.85/5 (39 votes)
8 Sep 2008CPOL9 min read 281.8K   3K   172  
Explains how to use managed code to detect which .NET Framework versions and service packs are installed.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Campari.Software.Core</name>
    </assembly>
    <members>
        <member name="T:Campari.Software.InteropServices.SystemMetric">
            <summary>
            Flags used with the Windows API GetSystemMetrics(SystemMetric smIndex)
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXSCREEN">
            <summary>
             Width of the screen of the primary display monitor, in pixels. 
            This is the same values obtained by calling GetDeviceCaps as 
            follows: GetDeviceCaps( hdcPrimaryMonitor, HORZRES).
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYSCREEN">
            <summary>
            Height of the screen of the primary display monitor, in pixels. 
            This is the same values obtained by calling GetDeviceCaps as 
            follows: GetDeviceCaps( hdcPrimaryMonitor, VERTRES).
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYVSCROLL">
            <summary>
            Width of a horizontal scroll bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXVSCROLL">
            <summary>
            Height of a horizontal scroll bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYCAPTION">
            <summary>
            Height of a caption area, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXBORDER">
            <summary>
            Width of a window border, in pixels. This is equivalent to the
            SM_CXEDGE value for windows with the 3-D look. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYBORDER">
            <summary>
            Height of a window border, in pixels. This is equivalent to the 
            SM_CYEDGE value for windows with the 3-D look. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXDLGFRAME">
            <summary>
            Thickness of the frame around the perimeter of a window that has
            a caption but is not sizable, in pixels. SM_CXFIXEDFRAME is the
            height of the horizontal border and SM_CYFIXEDFRAME is the width
            of the vertical border. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYDLGFRAME">
            <summary>
            Thickness of the frame around the perimeter of a window that has
            a caption but is not sizable, in pixels. SM_CXFIXEDFRAME is the
            height of the horizontal border and SM_CYFIXEDFRAME is the width
            of the vertical border. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYVTHUMB">
            <summary>
            Height of the thumb box in a vertical scroll bar, in pixels
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXHTHUMB">
            <summary>
            Width of the thumb box in a horizontal scroll bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXICON">
            <summary>
            Default width of an icon, in pixels. The LoadIcon function can 
            load only icons with the dimensions specified by SM_CXICON and
            SM_CYICON
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYICON">
            <summary>
            Default height of an icon, in pixels. The LoadIcon function can 
            load only icons with the dimensions SM_CXICON and SM_CYICON.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXCURSOR">
            <summary>
            Width of a cursor, in pixels. The system cannot create 
            cursors of other sizes.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYCURSOR">
            <summary>
            Height of a cursor, in pixels. The system cannot create cursors
             of other sizes.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMENU">
            <summary>
            Height of a single-line menu bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXFULLSCREEN">
            <summary>
            Width of the client area for a full-screen window on the primary
            display monitor, in pixels. To get the coordinates of the portion 
            of the screen not obscured by the system taskbar or by application 
            desktop toolbars, call the SystemParametersInfo function with the
            SPI_GETWORKAREA value.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYFULLSCREEN">
            <summary>
            Height of the client area for a full-screen window on the primary
            display monitor, in pixels. To get the coordinates of the portion
            of the screen not obscured by the system taskbar or by application
            desktop toolbars, call the SystemParametersInfo function with the
            SPI_GETWORKAREA value.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYKANJIWINDOW">
            <summary>
            For double byte character set versions of the system, this is the
            height of the Kanji window at the bottom of the screen, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_MOUSEWHEELPRESENT">
            <summary>
            Nonzero if a mouse with a wheel is installed; zero otherwise
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYHSCROLL">
            <summary>
            Height of the arrow bitmap on a vertical scroll bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXHSCROLL">
            <summary>
            Width of the arrow bitmap on a horizontal scroll bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_DEBUG">
            <summary>
            Nonzero if the debug version of User.exe is installed; zero
            otherwise.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_SWAPBUTTON">
            <summary>
            Nonzero if the left and right mouse buttons are reversed; zero
            otherwise.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_RESERVED1">
            <summary>
            Reserved for future use
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_RESERVED2">
            <summary>
            Reserved for future use
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_RESERVED3">
            <summary>
            Reserved for future use
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_RESERVED4">
            <summary>
            Reserved for future use
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMIN">
            <summary>
            Minimum width of a window, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMIN">
            <summary>
            Minimum height of a window, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXSIZE">
            <summary>
            Width of a button in a window's caption or title bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYSIZE">
            <summary>
            Height of a button in a window's caption or title bar, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXFRAME">
            <summary>
            Thickness of the sizing border around the perimeter of a window 
            that can be resized, in pixels. SM_CXSIZEFRAME is the width of the
            horizontal border, and SM_CYSIZEFRAME is the height of the
            vertical border. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYFRAME">
            <summary>
            Thickness of the sizing border around the perimeter of a window 
            that can be resized, in pixels. SM_CXSIZEFRAME is the width of the
            horizontal border, and SM_CYSIZEFRAME is the height of the 
            vertical border. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMINTRACK">
            <summary>
            Minimum tracking width of a window, in pixels. The user cannot drag
            the window frame to a size smaller than these dimensions. A window
            can override this value by processing the WM_GETMINMAXINFO message.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMINTRACK">
            <summary>
            Minimum tracking height of a window, in pixels. The user cannot 
            drag the window frame to a size smaller than these dimensions. A 
            window can override this value by processing the WM_GETMINMAXINFO
            message
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXDOUBLECLK">
            <summary>
            Width of the rectangle around the location of a first click in a 
            double-click sequence, in pixels. The second click must occur 
            within the rectangle defined by SM_CXDOUBLECLK and SM_CYDOUBLECLK 
            for the system to consider the two clicks a double-click
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYDOUBLECLK">
            <summary>
            Height of the rectangle around the location of a first click in a
            double-click sequence, in pixels. The second click must occur 
            within the rectangle defined by SM_CXDOUBLECLK and SM_CYDOUBLECLK
            for the system to consider the two clicks a double-click. (The two
            clicks must also occur within a specified time.) 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXICONSPACING">
            <summary>
            Width of a grid cell for items in large icon view, in pixels. Each
            item fits into a rectangle of size SM_CXICONSPACING by 
            SM_CYICONSPACING when arranged. This value is always greater 
            than or equal to SM_CXICON
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYICONSPACING">
            <summary>
            Height of a grid cell for items in large icon view, in pixels. 
            Each item fits into a rectangle of size SM_CXICONSPACING by 
            SM_CYICONSPACING when arranged. This value is always greater than
            or equal to SM_CYICON.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_MENUDROPALIGNMENT">
            <summary>
            Nonzero if drop-down menus are right-aligned with the corresponding
            menu-bar item; zero if the menus are left-aligned.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_PENWINDOWS">
            <summary>
            Nonzero if the Microsoft Windows for Pen computing extensions are
            installed; zero otherwise.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_DBCSENABLED">
            <summary>
            Nonzero if User32.dll supports DBCS; zero otherwise. 
            (WinMe/95/98): Unicode
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CMOUSEBUTTONS">
            <summary>
            Number of buttons on mouse, or zero if no mouse is installed.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXFIXEDFRAME">
            <summary>
            Identical Values Changed After Windows NT 4.0  
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYFIXEDFRAME">
            <summary>
            Identical Values Changed After Windows NT 4.0
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXSIZEFRAME">
            <summary>
            Identical Values Changed After Windows NT 4.0
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYSIZEFRAME">
            <summary>
            Identical Values Changed After Windows NT 4.0
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_SECURE">
            <summary>
            Nonzero if security is present; zero otherwise.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXEDGE">
            <summary>
            Width of a 3-D border, in pixels. This is the 3-D counterpart 
            of SM_CXBORDER.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYEDGE">
            <summary>
            Height of a 3-D border, in pixels. This is the 3-D counterpart 
            of SM_CYBORDER.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMINSPACING">
            <summary>
            Width of a grid cell for a minimized window, in pixels. Each 
            minimized window fits into a rectangle this size when arranged. 
            This value is always greater than or equal to SM_CXMINIMIZED.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMINSPACING">
            <summary>
            Height of a grid cell for a minimized window, in pixels. Each 
            minimized window fits into a rectangle this size when arranged. 
            This value is always greater than or equal to SM_CYMINIMIZED.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXSMICON">
            <summary>
            Recommended width of a small icon, in pixels. Small icons typically
            appear in window captions and in small icon view
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYSMICON">
            <summary>
            Recommended height of a small icon, in pixels. Small icons 
            typically appear in window captions and in small icon view.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYSMCAPTION">
            <summary>
            Height of a small caption, in pixels
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXSMSIZE">
            <summary>
            Width of small caption buttons, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYSMSIZE">
            <summary>
            Height of small caption buttons, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMENUSIZE">
            <summary>
            Width of menu bar buttons, such as the child window close button
            used in the multiple document interface, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMENUSIZE">
            <summary>
            Height of menu bar buttons, such as the child window close button
            used in the multiple document interface, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_ARRANGE">
            <summary>
            Flags specifying how the system arranged minimized windows
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMINIMIZED">
            <summary>
            Width of a minimized window, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMINIMIZED">
            <summary>
            Height of a minimized window, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMAXTRACK">
            <summary>
            Default maximum width of a window that has a caption and sizing 
            borders, in pixels. This metric refers to the entire desktop. The
            user cannot drag the window frame to a size larger than these 
            dimensions. A window can override this value by processing the 
            WM_GETMINMAXINFO message.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMAXTRACK">
            <summary>
            Default maximum height of a window that has a caption and sizing 
            borders, in pixels. This metric refers to the entire desktop. The
            user cannot drag the window frame to a size larger than these 
            dimensions. A window can override this value by processing the 
            WM_GETMINMAXINFO message.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMAXIMIZED">
            <summary>
            Default width, in pixels, of a maximized top-level window on the
            primary display monitor.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMAXIMIZED">
            <summary>
            Default height, in pixels, of a maximized top-level window on the 
            primary display monitor.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_NETWORK">
            <summary>
            Least significant bit is set if a network is present; otherwise, 
            it is cleared. The other bits are reserved for future use
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CLEANBOOT">
            <summary>
            Value that specifies how the system was started: 0-normal, 
            1-failsafe, 2-failsafe /w net
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXDRAG">
            <summary>
            Width of a rectangle centered on a drag point to allow for limited
            movement of the mouse pointer before a drag operation begins, 
            in pixels. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYDRAG">
            <summary>
            Height of a rectangle centered on a drag point to allow for limited
            movement of the mouse pointer before a drag operation begins. This 
            value is in pixels. It allows the user to click and release the 
            mouse button easily without unintentionally starting a drag 
            operation.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_SHOWSOUNDS">
            <summary>
            Nonzero if the user requires an application to present information
            visually in situations where it would otherwise present the 
            information only in audible form; zero otherwise. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXMENUCHECK">
            <summary>
            Width of the default menu check-mark bitmap, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYMENUCHECK">
            <summary>
            Height of the default menu check-mark bitmap, in pixels.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_SLOWMACHINE">
            <summary>
            Nonzero if the computer has a low-end (slow) processor; 
            zero otherwise.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_MIDEASTENABLED">
            <summary>
            Nonzero if the system is enabled for Hebrew and Arabic languages,
            zero if not.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_MOUSEPRESENT">
            <summary>
            Nonzero if a mouse is installed; zero otherwise. This value is 
            rarely zero, because of support for virtual mice and because some 
            systems detect the presence of the port instead of the presence of
            a mouse.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_XVIRTUALSCREEN">
            <summary>
            Windows 2000 (v5.0+) Coordinate of the top of the virtual screen.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_YVIRTUALSCREEN">
            <summary>
            Windows 2000 (v5.0+) Coordinate of the left of the virtual screen.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXVIRTUALSCREEN">
            <summary>
            Windows 2000 (v5.0+) Width of the virtual screen.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYVIRTUALSCREEN">
            <summary>
            Windows 2000 (v5.0+) Height of the virtual screen.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CMONITORS">
            <summary>
            Number of display monitors on the desktop.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_SAMEDISPLAYFORMAT">
            <summary>
            Windows XP (v5.1+) Nonzero if all the display monitors have the 
            same color format, zero otherwise. Note that two displays can have
            the same bit depth, but different color formats. For example, the 
            red, green, and blue pixels can be encoded with different numbers
            of bits, or those bits can be located in different places in a 
            pixel's color value. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_IMMENABLED">
            <summary>
            Windows XP (v5.1+) Nonzero if Input Method Manager/Input Method 
            Editor features are enabled; zero otherwise.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CXFOCUSBORDER">
            <summary>
            Windows XP (v5.1+) Width of the left and right edges of the focus 
            rectangle drawn by DrawFocusRect. This value is in pixels. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CYFOCUSBORDER">
            <summary>
            Windows XP (v5.1+) Height of the top and bottom edges of the focus 
            rectangle drawn by DrawFocusRect. This value is in pixels. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_TABLETPC">
            <summary>
            Nonzero if the current operating system is the Windows XP Tablet PC 
            edition, zero if not.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_MEDIACENTER">
            <summary>
            Nonzero if the current operating system is the Windows XP, Media 
            Center Edition, zero if not.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CMETRICS_OTHER">
            <summary>
            Metrics Other
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CMETRICS_2000">
            <summary>
            Metrics Windows 2000
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_CMETRICS_NT">
            <summary>
            Metrics Windows NT
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_REMOTESESSION">
            <summary>
            Windows XP (v5.1+) This system metric is used in a Terminal 
            Services environment. If the calling process is associated with a 
            Terminal Services client session, the return value is nonzero. If 
            the calling process is associated with the Terminal Server console 
            session, the return value is zero. The console session is not 
            necessarily the physical console - see WTSGetActiveConsoleSessionId 
            for more information. 
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_SHUTTINGDOWN">
            <summary>
            Windows XP (v5.1+) Nonzero if the current session is shutting down; 
            zero otherwise.
            </summary>
        </member>
        <member name="F:Campari.Software.InteropServices.SystemMetric.SM_REMOTECONTROL">
            <summary>
            Windows XP (v5.1+) This system metric is used in a Terminal 
            Services environment. Its value is nonzero if the current session 
            is remotely controlled; zero otherwise.
            </summary>
        </member>
        <member name="T:Campari.Software.FrameworkVersion">
            <summary>
            Specifies the .NET Framework versions
            </summary>
        </member>
        <member name="F:Campari.Software.FrameworkVersion.Fx10">
            <summary>
            .NET Framework 1.0
            </summary>
        </member>
        <member name="F:Campari.Software.FrameworkVersion.Fx11">
            <summary>
            .NET Framework 1.1
            </summary>
        </member>
        <member name="F:Campari.Software.FrameworkVersion.Fx20">
            <summary>
            .NET Framework 2.0
            </summary>
        </member>
        <member name="F:Campari.Software.FrameworkVersion.Fx30">
            <summary>
            .NET Framework 3.0
            </summary>
        </member>
        <member name="F:Campari.Software.FrameworkVersion.Fx35">
            <summary>
            .NET Framework 3.5
            </summary>
        </member>
        <member name="T:Campari.Software.FrameworkVersionDetection">
            <summary>
            Provides support for determining if a specific version of the .NET
            Framework runtime is installed and the service pack level for the
            runtime version.
            </summary>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.CheckFxVersion(Campari.Software.FrameworkVersion)">
            <summary>
            Retrieves the .NET Framework version number from the registry
            and validates that it is not a pre-release version number.
            </summary>
            <param name="frameworkVersion"></param>
            <returns><see langword="true"/> if the build number is greater than the 
            requested version; otherwise <see langword="false"/>.
            </returns>
            <remarks>If mscorwks.dll can be found the version number of the DLL (looking
            at the ProductVersion field) is also used.
            </remarks>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetInstallRoot">
            <summary>
            Gets the installation root path for the .NET Framework.
            </summary>
            <returns>A <see cref="T:System.String"/> representing the installation root 
            path for the .NET Framework.</returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetMscorwksPath(Campari.Software.FrameworkVersion)">
            <summary>
            Gets the path to the Mscorwks.DLL file.
            </summary>
            <param name="frameworkVersion"></param>
            <returns>The fully qualified path to the Mscorwks.DLL for the specified .NET
            Framework.
            </returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetNetfx10SPLevel">
            <summary>
            Detects the service pack level for the .NET Framework 1.0.
            </summary>
            <returns>An <see cref="T:System.Int32"/> representing the service pack 
            level for the .NET Framework.</returns>
            <remarks>Uses the detection method recommended at
            http://blogs.msdn.com/astebner/archive/2004/09/14/229802.aspx 
            to determine what service pack for the .NET Framework 1.0 is 
            installed on the machine.
            </remarks>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetNetfxSPLevel(System.String,System.String)">
            <summary>
            Detects the service pack level for a version of .NET Framework.
            </summary>
            <param name="key">The registry key name.</param>
            <param name="value">The registry value name.</param>
            <returns>An <see cref="T:System.Int32"/> representing the service pack 
            level for the .NET Framework.</returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetNetfxExactVersion(System.String,System.String)">
            <summary>
            Retrieves the .NET Framework version number from the registry.
            </summary>
            <param name="key">The registry key name.</param>
            <param name="value">The registry value name.</param>
            <returns>A <see cref="T:System.Version"/> that represents the .NET 
            Framework version.</returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.IsNetfx10Installed">
            <summary>
            Detects if the .NET 1.0 Framework is installed.
            </summary>
            <returns><see langword="true"/> if the .NET Framework 1.0 is 
            installed; otherwise <see langword="false"/></returns>
            <remarks>Uses the detection method recommended at
            http://msdn.microsoft.com/library/ms994349.aspx to determine
            whether the .NET Framework 1.0 is installed on the machine.
            </remarks>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.IsNetfx11Installed">
            <summary>
            Detects if the .NET 1.1 Framework is installed.
            </summary>
            <returns><see langword="true"/> if the .NET Framework 1.1 is 
            installed; otherwise <see langword="false"/></returns>
            <remarks>Uses the detection method recommended at
            http://msdn.microsoft.com/library/ms994339.aspx to determine
            whether the .NET Framework 1.1 is installed on the machine.
            </remarks>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.IsNetfx20Installed">
            <summary>
            Detects if the .NET 2.0 Framework is installed.
            </summary>
            <returns><see langword="true"/> if the .NET Framework 2.0 is 
            installed; otherwise <see langword="false"/></returns>
            <remarks>Uses the detection method recommended at
            http://msdn.microsoft.com/library/aa480243.aspx to determine
            whether the .NET Framework 2.0 is installed on the machine.
            </remarks>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.IsNetfx30Installed">
            <summary>
            Detects if the .NET 3.0 Framework is installed.
            </summary>
            <returns><see langword="true"/> if the .NET Framework 3.0 is 
            installed; otherwise <see langword="false"/></returns>
            <remarks>Uses the detection method recommended at
            http://msdn.microsoft.com/library/aa964979.aspx to determine
            whether the .NET Framework 3.0 is installed on the machine.
            </remarks>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.IsNetfx35Installed">
            <summary>
            Detects if the .NET 3.5 Framework is installed.
            </summary>
            <returns><see langword="true"/> if the .NET Framework 3.5 is 
            installed; otherwise <see langword="false"/></returns>
            <remarks>Uses the detection method recommended at
            http://msdn.microsoft.com/library/cc160716.aspx to determine
            whether the .NET Framework 3.5 is installed on the machine.
            Also uses the method described at 
            http://blogs.msdn.com/astebner/archive/2008/07/13/8729636.aspx.
            </remarks>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.IsInstalled(Campari.Software.FrameworkVersion)">
            <overloads>
             Determines if the specified .NET Framework or Foundation Library is 
             installed on the local computer.
            </overloads>
             <summary>
             Determines if the specified .NET Framework version is installed
             on the local computer.
             </summary>
             <param name="frameworkVersion">The version of the .NET Framework to test.
             </param>
             <returns><see langword="true"/> if the specified .NET Framework
             version is installed; otherwise <see langword="false"/>.</returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.IsInstalled(Campari.Software.WindowsFoundationLibrary)">
            <summary>
            Determines if the specified .NET Framework Foundation Library is
            installed on the local computer.
            </summary>
            <param name="foundationLibrary">The Foundation Library to test.
            </param>
            <returns><see langword="true"/> if the specified .NET Framework
            Foundation Library is installed; otherwise <see langword="false"/>.</returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetServicePackLevel(Campari.Software.FrameworkVersion)">
            <overloads>
             Retrieves the service pack level for the specified .NET Framework or  
             Foundation Library.
            </overloads>
             <summary>
             Retrieves the service pack level for the specified .NET Framework
             version.
             </summary>
             <param name="frameworkVersion">The .NET Framework whose service pack 
             level should be retrieved.</param>
             <returns>An <see cref="T:System.Int32">integer</see> value representing
             the service pack level for the specified .NET Framework version. If
             the specified .NET Frameowrk version is not found, -1 is returned.
             </returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetServicePackLevel(Campari.Software.WindowsFoundationLibrary)">
            <summary>
            Retrieves the service pack level for the specified .NET Framework
            Foundation Library.
            </summary>
            <param name="foundationLibrary">The Foundation Library whose service pack 
            level should be retrieved.</param>
            <returns>An <see cref="T:System.Int32">integer</see> value representing
            the service pack level for the specified .NET Framework Foundation
            Library. If the specified .NET Frameowrk Foundation Library is not
            found, -1 is returned.
            </returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetExactVersion(Campari.Software.FrameworkVersion)">
            <overloads>
             Retrieves the exact version number for the specified .NET Framework or
             Foundation Library.
            </overloads>
             <summary>
             Retrieves the exact version number for the specified .NET Framework
             version.
             </summary>
             <param name="frameworkVersion">The .NET Framework whose version should be 
             retrieved.</param>
             <returns>A <see cref="T:System.Version">version</see> representing
             the exact version number for the specified .NET Framework version.
             If the specified .NET Frameowrk version is not found, a 
             <see cref="T:System.Version"/> is returned that represents a 0.0.0.0 version
             number.
             </returns>
        </member>
        <member name="M:Campari.Software.FrameworkVersionDetection.GetExactVersion(Campari.Software.WindowsFoundationLibrary)">
            <summary>
            Retrieves the exact version number for the specified .NET Framework
            Foundation Library.
            </summary>
            <param name="foundationLibrary">The Foundation Library whose version
            should be retrieved.</param>
            <returns>A <see cref="T:System.Version">version</see> representing
            the exact version number for the specified .NET Framework Foundation
            Library. If the specified .NET Frameowrk Foundation Library is not
            found, a <see cref="T:System.Version"/> is returned that represents a 
            0.0.0.0 version number.
            </returns>
        </member>
        <member name="P:Campari.Software.FrameworkVersionDetection.InstalledFrameworkVersions">
            <summary>
            Gets an <see cref="T:System.Collections.IEnumerable"/> list of the installed .NET Framework 
            versions.
            </summary>
        </member>
        <member name="T:Campari.Software.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.ApplicationExcpetion_UnableToDetermineInstallRoot">
            <summary>
              Looks up a localized string similar to Unable to determine the install root path for the .NET Framework..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_EnumIllegalVal">
            <summary>
              Looks up a localized string similar to Illegal enum value: {0}..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_InvalidEnumValue">
            <summary>
              Looks up a localized string similar to The value &apos;{0}&apos; is not valid for this usage of the type {1}..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_InvalidFlag">
            <summary>
              Looks up a localized string similar to Value of flags is invalid..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_InvalidIndexValuesString">
            <summary>
              Looks up a localized string similar to The starting index and ending index refer to the same location in the string..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_MustBeAttribute">
            <summary>
              Looks up a localized string similar to Argument must be an Attribute or derived from an Attribute..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_MustBeDateTime">
            <summary>
              Looks up a localized string similar to Object must be of type DateTime..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_MustBeIsoDateTime">
            <summary>
              Looks up a localized string similar to Argument must be an IsoDateTime..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_MustBeString">
            <summary>
              Looks up a localized string similar to Object must be of type String..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_NotSerializable">
            <summary>
              Looks up a localized string similar to Argument passed in is not serializable..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_StartIndexGreaterThanEndIndexString">
            <summary>
              Looks up a localized string similar to The starting index refers to a location in the string that is after the ending index..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Argument_StringZeroLength">
            <summary>
              Looks up a localized string similar to String cannot be of zero length..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.ArgumentNull_String">
            <summary>
              Looks up a localized string similar to String reference not set to an instance of a String..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.ArgumentOutOfRange_IndexLessThanLength">
            <summary>
              Looks up a localized string similar to Index must be less than the length of string..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.ArgumentOutOfRange_IndexLessThanZero">
            <summary>
              Looks up a localized string similar to Index must be non-negative..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.ArgumentOutOfRange_IndexString">
            <summary>
              Looks up a localized string similar to Index was out of range. Must be non-negative and less than the length of the string..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.DownloadInfoConnectionClosed">
            <summary>
              Looks up a localized string similar to Could not download {0} - FTP server closed the connection..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.DownloadInfoInvalidResponseReceived">
            <summary>
              Looks up a localized string similar to Could not download {0} - a web page was returned from the web server..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.FileDownloaderCancelled">
            <summary>
              Looks up a localized string similar to Download was cancelled..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.FileDownloaderDownloadLocation">
            <summary>
              Looks up a localized string similar to Downloading file to {0}..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_BadDatePattern">
            <summary>
              Looks up a localized string similar to Could not determine the order of year, month, and date from &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_BadDateTime">
            <summary>
              Looks up a localized string similar to String was not recognized as a valid DateTime..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_BadDateTimeCalendar">
            <summary>
              Looks up a localized string similar to The DateTime represented by the string is not supported in calendar {0}..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_BadDayOfWeek">
            <summary>
              Looks up a localized string similar to String was not recognized as a valid DateTime because the day of week was incorrect..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_BadFormatSpecifier">
            <summary>
              Looks up a localized string similar to Format specifier was invalid..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_BadQuote">
            <summary>
              Looks up a localized string similar to Cannot find a matching quote character for the character &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_DateOutOfRange">
            <summary>
              Looks up a localized string similar to The DateTime represented by the string is out of range..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_Dns_Bad_Ip_Address">
            <summary>
              Looks up a localized string similar to An invalid IP address was specified..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_EmptyInputString">
            <summary>
              Looks up a localized string similar to Input string was either empty or contained only white space..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_ExtraJunkAtEnd">
            <summary>
              Looks up a localized string similar to Additional non-parsable characters are at the end of the string..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_InvalidLen">
            <summary>
              Looks up a localized string similar to String was not of correct length..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_InvalidString">
            <summary>
              Looks up a localized string similar to Input string was not in a correct format..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_NeedSingleChar">
            <summary>
              Looks up a localized string similar to String must be exactly one character long..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_RepeatDateTimePattern">
            <summary>
              Looks up a localized string similar to DateTime pattern &apos;{0}&apos; appears more than once with different values..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_TwoTimeZoneSpecifiers">
            <summary>
              Looks up a localized string similar to The String being parsed cannot contain two TimeZone specifiers..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.Format_UnknowDateTimeWord">
            <summary>
              Looks up a localized string similar to The string was not recognized as a valid DateTime. There is a unknown word starting at index {0}..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.InvalidCast_FromTo">
            <summary>
              Looks up a localized string similar to Invalid cast from &apos;{0}&apos; to &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.MDA_InvalidFormatForLocal">
            <summary>
              Looks up a localized string similar to Cannot apply format &quot;{0}&quot; to the date &quot;{1}&quot; as the date is already in local time..
            </summary>
        </member>
        <member name="P:Campari.Software.Properties.Resources.MDA_InvalidFormatForUtc">
            <summary>
              Looks up a localized string similar to Cannot apply format &quot;{0}&quot; to the date &quot;{1}&quot; as the date is already in universal time..
            </summary>
        </member>
        <member name="T:Campari.Software.WindowsFoundationLibrary">
            <summary>
            Specifies the .NET 3.0 Windows Foundation Library
            </summary>
        </member>
        <member name="F:Campari.Software.WindowsFoundationLibrary.WCF">
            <summary>
            Windows Communication Foundation
            </summary>
        </member>
        <member name="F:Campari.Software.WindowsFoundationLibrary.WPF">
            <summary>
            Windows Presentation Foundation
            </summary>
        </member>
        <member name="F:Campari.Software.WindowsFoundationLibrary.WF">
            <summary>
            Windows Workflow Foundation
            </summary>
        </member>
        <member name="F:Campari.Software.WindowsFoundationLibrary.CardSpace">
            <summary>
            Windows CardSpace
            </summary>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United States United States
I am a Microsoft C# MVP, author, speaker, blogger, and software developer. I also created the WP Requests and WinStore Requests sites for Windows Phone and Windows Sotre apps as well as several open source projects.

I've been involved with computers in one way or another for as long as I can remember, but started professionally in 1993. Although my primary focus right now is commercial software applications, I prefer building infrastructure components, reusable shared libraries and helping companies define, develop and automate process and code standards and guidelines.

Comments and Discussions