private void UpdateContextMenu(SnapInDescriptor descriptor)
        {
            bool canStart;
            bool canStop;
            bool canReinstall;
            bool canUninstall;

            SnapInDescriptor.AdviseOnActionsThatCanBeTaken(descriptor, out canStart, out canStop, out canReinstall, out canUninstall);

            this.menuItemStart.Enabled     = canStart;
            this.menuItemStop.Enabled      = canStop;
            this.menuItemReinstall.Enabled = canReinstall;
            this.menuItemUninstall.Enabled = canUninstall;
        }
        private void UpdateButtonsBasedOnAdvice()
        {
            bool canStart;
            bool canStop;
            bool canReinstall;
            bool canUninstall;

            SnapInDescriptor.AdviseOnActionsThatCanBeTaken(_descriptor, out canStart, out canStop, out canReinstall, out canUninstall);

            this.buttonStart.Enabled     = canStart;
            this.buttonStop.Enabled      = canStop;
            this.buttonReInstall.Enabled = canReinstall;
            this.buttonUninstall.Enabled = canUninstall;

//			/// if there is a snapin selected
//			if (_descriptor != null)
//			{
//				if (_descriptor.IsUninstalled)
//				{
//					this.buttonStart.Enabled = false;
//					this.buttonStop.Enabled  = false;
//					this.buttonReInstall.Enabled = true;
//					this.buttonUninstall.Enabled = false;
//				}
//				else
//				{
//					this.buttonStart.Enabled = !_descriptor.IsStarted;
//					this.buttonStop.Enabled  = _descriptor.IsStarted;
//					this.buttonReInstall.Enabled = false;
//					this.buttonUninstall.Enabled = true;
//				}
//			}
//			else
//			{
//				/// but you can't do anything without a snapin selected
//				this.buttonStart.Enabled = false;
//				this.buttonStop.Enabled = false;
//				this.buttonReInstall.Enabled = false;
//				this.buttonUninstall.Enabled = false;
//			}
        }