/// <summary>
        /// Perform Unregistrations
        /// </summary>
        private void Unregister()
        {
            #if DEBUG
            if ( !Debugger.IsAttached )
                Debugger.Launch();
            #endif
            var log = new LogCollector();
            GacManager gm = new GacManager();
            gm.Log += log.Collector;

            foreach ( string fileName in SelectedItemPaths )
            {
                gm.RemoveAssemblyFromCache(fileName);
            }

            gm.Log -= log.Collector;

            string msg = null;
            if ( !log.Error )
                msg = "Successfully removed from the Global Assembly Cache.";
            else
                msg = "Failed to unregister the assembly.";

            ShowLog(this, new LogEventArgs(msg, log.Message, log.Message, log.Error));
        }
        /// <summary>
        /// Copy the qualified name into the clipboard
        /// </summary>
        private void CopyQualifiedName()
        {
            #if DEBUG
            if ( !Debugger.IsAttached )
                Debugger.Launch();
            #endif
            var log = new LogCollector();
            GacManager gm = new GacManager();
            gm.Log += log.Collector;

            StringBuilder qlgNames = new StringBuilder();
            foreach ( string fileName in SelectedItemPaths )
            {
                var aName = gm.GetFullQualifiedName(fileName);
                if( !string.IsNullOrEmpty(aName) )
                    qlgNames.AppendLine(aName);
            }

            gm.Log -= log.Collector;

            Clipboard.SetDataObject(qlgNames.ToString(), true);
            if ( log.Error )
                ShowLog(this, log.MakeLogEventArgs());
        }
        /// <summary>
        /// Display the assembly informations
        /// </summary>
        private void ShowAssemblyInfo()
        {
            #if DEBUG
            if ( !Debugger.IsAttached )
                Debugger.Launch();
            #endif
            var log = new LogCollector();
            GacManager gm = new GacManager();
            gm.Log += log.Collector;

            foreach ( string fileName in SelectedItemPaths )
            {
                gm.ShowAssemblyInfo(fileName);
            }

            gm.Log -= log.Collector;

            ShowLog(this, log.MakeLogEventArgs());
        }