protected override void OnClick()
        {
            try
            {
                // to check the state of the extension, get the extension
                log.Info("Retrieving a reference to the extension object to check state.");
                GoogleMapsEngineToolsExtensionForArcGIS ext = GoogleMapsEngineToolsExtensionForArcGIS.GetExtension();

                // check to see if the extension is enabled
                log.Debug("Verifying extension is enabled.");
                if (ext.isExtensionEnabled())
                {
                    // create an update check object
                    log.Debug("Creating an update check object.");
                    Extension.Update.ExtensionUpdateCheck updateCheck = new Extension.Update.ExtensionUpdateCheck();

                    // check to see if there is an update available
                    log.Debug("Checking to see if there is an update available.");
                    if (updateCheck.isUpdateAvailable())
                    {
                        log.Debug("isUpdateAvailable = true");

                        // create a dialog to inform the user of an update
                        log.Debug("Showing the user an OK/Cancel dialog to notify them of an update.");
                        if (System.Windows.Forms.MessageBox.Show("An update to the Google Maps Engine Tools for ArcGIS is avaiable.  Would you like to update the Add-in now?"
                            , "Update Available (" + updateCheck.getLocalVersion().ToString() + " < " + updateCheck.getServerVersion().ToString() + ")"
                            , System.Windows.Forms.MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)
                        {
                            // launch browser at the URL provided in the update check
                            log.Debug("Launching the browser to the update URL, as the user selected OK.");
                            System.Diagnostics.Process.Start(updateCheck.getUpdateURI());
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                // an error occured
                log.Error(ex);
            }
        }
        protected override void OnClick()
        {
            try
            {
                // to check the state of the extension, get the extension
                log.Info("Retrieving a reference to the extension object to check state.");
                GoogleMapsEngineToolsExtensionForArcGIS ext = GoogleMapsEngineToolsExtensionForArcGIS.GetExtension();

                // check to see if the extension is enabled
                log.Debug("Verifying extension is enabled.");
                if (ext.isExtensionEnabled())
                {
                    // create an update check object
                    log.Debug("Creating an update check object.");
                    Extension.Update.ExtensionUpdateCheck updateCheck = new Extension.Update.ExtensionUpdateCheck();

                    // check to see if there is an update available
                    log.Debug("Checking to see if there is an update available.");
                    if (updateCheck.isUpdateAvailable())
                    {
                        log.Debug("isUpdateAvailable = true");

                        // create a dialog to inform the user of an update
                        log.Debug("Showing the user an OK/Cancel dialog to notify them of an update.");
                        if (System.Windows.Forms.MessageBox.Show("An update to the Google Maps Engine Tools for ArcGIS is avaiable.  Would you like to update the Add-in now?"
                                                                 , "Update Available (" + updateCheck.getLocalVersion().ToString() + " < " + updateCheck.getServerVersion().ToString() + ")"
                                                                 , System.Windows.Forms.MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)
                        {
                            // launch browser at the URL provided in the update check
                            log.Debug("Launching the browser to the update URL, as the user selected OK.");
                            System.Diagnostics.Process.Start(updateCheck.getUpdateURI());
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                // an error occured
                log.Error(ex);
            }
        }