private ITypeLib2 GettypeLibrary(Guid typeLibraryID, string version, bool parseVersionAsHex)
        {
            ushort    major = 0;
            ushort    minor = 0;
            const int lcidLocalIndependent = 0;

            ParseVersion(version, parseVersionAsHex, out major, out minor);
            object otlb;
            int    hr = SafeNativeMethods.LoadRegTypeLib(ref typeLibraryID, major, minor, lcidLocalIndependent, out otlb);

            if (hr != 0 || null == otlb)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new COMException(SR.GetString(SR.FailedToLoadTypeLibrary), hr));
            }
            return(otlb as ITypeLib2);
        }