Exemple #1
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (currentCertificate == null)
            {
                return;
            }

            if (MessageBox.Show($"Хотите удалить сертификат № {currentCertificate.Number}?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                selectedCertificatesList.Remove(selectedCertificatesList.FirstOrDefault(c => c.ID_Certificate == currentCertificate.ID_Certificate));
                if (selectedCertificatesList.Count == 0)
                {
                    ClearHideSelectedList();
                }
                CertificateManager.DeleteCertificate(currentCertificate.ID_Certificate);
                FillCertificatesTable();
            }
        }
        public static ActionResult DeleteCertificate(Session session)
        {
            ActionResult result;

            var methodName =
                MethodBase.GetCurrentMethod().Name;

            session.Log("{0}: BEGIN", methodName);

            try
            {
                var filePath =
                    session.CustomActionData["SessionData"];

                var sessionData =
                    SessionManager.Load(filePath);

                session.Log("{0}: Product Version = {1}", methodName, sessionData.InstallerVersion);

                session.Log("{0}: THUMBPRINT = {1}", methodName, sessionData.Certificate);

                CertificateManager.DeleteCertificate(sessionData.Certificate, StoreName.My);

                result = ActionResult.Success;
            }
            catch (Exception e)
            {
                session.Log("{0}", e);

                result = ActionResult.Failure;
            }

            session.Log("{0}: RESULT = {1}", methodName, result);

            session.Log("{0}: END", methodName);

            return(result);
        }
        public static ActionResult __Uninstall(Session session)
        {
            ActionResult result;

            var methodName =
                MethodBase.GetCurrentMethod().Name;

            session.Log("{0}: BEGIN", methodName);

            try
            {
                var filePath =
                    session.CustomActionData["SessionData"];

                var sessionData =
                    SessionManager.Load(filePath);

                session.Log("{0}: Product Version = {1}", methodName, sessionData.InstallerVersion);

                var providerConfig =
                    ConfigManager.GetConfiguration(sessionData.Application);

                var port =
                    providerConfig.ListenPort;

                StoreName storeName;

                var certificate =
                    CertificateManager.GetBindedCertificate(providerConfig.ListenPort, out storeName);

                session.Log("{0}: PORT = {1}", methodName, port);

                CertificateManager.UnbindCertificate(port);

                if (certificate != null)
                {
                    session.Log("{0}: THUMBPRINT = {1}", methodName, certificate.Thumbprint);

                    CertificateManager.DeleteCertificate(certificate.Thumbprint, storeName);
                }

                try
                {
                    var vimData =
                        SessionManager.Load(VimDataKeyName, VimDataValueName);

                    session.Log("{0}: VCENTERSERVER = {1}", methodName, vimData.vCenterServer);

                    session.Log("{0}: VCENTERUSERNAME = {1}", methodName, vimData.vCenterUserName);

                    session.Log("{0}: PROVIDERUNIQUEID = {1}", methodName, vimData.ProviderUniqueId);

                    RegistrationManager.UnregisterProvider(vimData.ProviderUniqueId, vimData.vCenterServer, vimData.vCenterUserName, vimData.vCenterPassword);
                }
                catch (Exception e)
                {
                    session.Log("{0}: UnregisterProvider failed: {1}", methodName, e.Message);
                }

                result = ActionResult.Success;
            }
            catch (Exception e)
            {
                session.Log("{0}", e);

                result = ActionResult.Failure;
            }

            session.Log("{0}: RESULT = {1}", methodName, result);

            session.Log("{0}: END", methodName);

            return(result);
        }