コード例 #1
0
ファイル: UniNFeService.cs プロジェクト: tassio1125/Nfe
        private void iniciarServicosUniNFe()
        {
            Propriedade.TipoAplicativo = TipoAplicativo.Nfe;
            ConfiguracaoApp.StartVersoes();

            string filenameWS1 = Propriedade.NomeArqXMLMunicipios;
            string filenameWS2 = Propriedade.NomeArqXMLWebService_NFSe;
            string filenameWS3 = Propriedade.NomeArqXMLWebService_NFe;
            string msg         = "";

            bool error = false;

            error = !System.IO.File.Exists(filenameWS1) || !System.IO.File.Exists(filenameWS2) || !System.IO.File.Exists(filenameWS3);
            msg   = "Arquivos '" + filenameWS1 + "', '" + filenameWS2 + "' e '" + filenameWS3 + "' não encontrados";

            if (error)
            {
                this.WriteLog(msg);
            }
            else
            {
                foreach (Empresa empresa in Empresas.Configuracoes)
                {
                    if (empresa.X509Certificado == null && empresa.UsaCertificado)
                    {
                        msg = "Não pode ler o certificado da empresa: " + empresa.CNPJ + "=>" + empresa.Nome + "=>" + empresa.Servico.ToString();

                        string f = Path.Combine(empresa.PastaXmlRetorno,
                                                "uninfeServico_" + DateTime.Now.ToString("yyyy-MMM-dd_hh-mm-ss") + ".txt");
                        System.IO.File.WriteAllText(f, msg, Encoding.UTF8);
                        error = true;

                        WriteLog(msg);
                    }
                }
            }

            if (!error)
            {
                // Executar as conversões de atualizações de versão quando tiver
                Auxiliar.ConversaoNovaVersao(string.Empty);

                ThreadService.Start();

                new ThreadControlEvents();
            }
            else
            {
                WriteLog("Servico do UniNFe não está sendo executado ");
            }
        }
コード例 #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            bool error = false;

            try
            {
                //
                //SERVICO: danasa 7/2011
                //servico está instalado e rodando?
                this.servicoInstaladoErodando = Propriedade.ServicoRodando;

                this.tbSeparator1.Visible           =
                    this.tbRestartServico.Visible   =
                        this.tbPararServico.Visible = this.servicoInstaladoErodando;

                ///
                /// danasa 9-2009
                ///
                this.MinimumSize = new Size(800, 630);
                this.MaximumSize = new Size(800, 630);
                //Trazer minimizado e no systray
                this.notifyIcon1.Text    = NFe.Components.Propriedade.NomeAplicacao + " - " + NFe.Components.Propriedade.DescricaoAplicacao;
                this.notifyIcon1.Visible = true;
                this.WindowState         = FormWindowState.Minimized;
                this.Visible             = false;
                this.ShowInTaskbar       = false;

                ConfiguracaoApp.StartVersoes();

                _menu = new menu();
                Controls.Add(_menu);
                _menu.Dock = DockStyle.Fill;

                notifyIcon1.Icon = Icon = Properties.Resources.uninfe_icon;

                cmAbrir.Text     = "Abrir " + Propriedade.NomeAplicacao;
                cmFechar.Text    = "Fechar " + Propriedade.NomeAplicacao;
                cmSobre.Text     = "Sobre o " + Propriedade.NomeAplicacao;
                cmManual.Text    = "Manual do " + Propriedade.NomeAplicacao;
                cmManual.Enabled = File.Exists(Path.Combine(Propriedade.PastaExecutavel, Propriedade.NomeAplicacao + ".pdf"));

                string msg = "";
                Propriedade.VerificaArquivos(out error, out msg);
                if (error)
                {
                    MetroFramework.MetroMessageBox.Show(this, msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Application.Exit();
                    return;
                }

                if (!this.servicoInstaladoErodando)     //danasa 12/8/2011
                //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011
                {
                    new ThreadControlEvents();  //danasa 12/8/2011
                }
                //Executar os serviços do UniNFe em novas threads
                //Tem que ser carregado depois que o formulário da MainForm estiver totalmente carregado para evitar Erros. Wandrey 19/10/2010
                this.ExecutaServicos();
            }
            finally
            {
                if (!error)
                {
                    this.updateControleDoServico();
                }
            }
        }
コード例 #3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            bool error = false;

            try
            {
                //
                //SERVICO: danasa 7/2011
                //servico está instalado e rodando?
                this.servicoInstaladoErodando = Propriedade.ServicoRodando;

                this.tbSeparator1.Visible           =
                    this.tbRestartServico.Visible   =
                        this.tbPararServico.Visible = this.servicoInstaladoErodando;

                ///
                /// danasa 9-2009
                ///
                this.MinimumSize = new Size(800, 600);
                this.MaximumSize = new Size(800, 600);
                //Trazer minimizado e no systray
                this.notifyIcon1.BalloonTipText  = string.Format("Para abrir novamente o {0}, de um duplo clique ou pressione o botão direito do mouse sobre o ícone.", NFe.Components.Propriedade.NomeAplicacao);
                this.notifyIcon1.BalloonTipTitle =
                    this.notifyIcon1.Text        = NFe.Components.Propriedade.NomeAplicacao + " - " + NFe.Components.Propriedade.DescricaoAplicacao;
                this.notifyIcon1.Visible         = true;
                this.WindowState   = FormWindowState.Minimized;
                this.Visible       = false;
                this.ShowInTaskbar = false;
                this.notifyIcon1.ShowBalloonTip(6000);

                try
                {
                    //this.uTheme = NFe.Components.EnumHelper.StringToEnum<MetroFramework.MetroThemeStyle>(uninfeDummy.xmlParams.ReadValue(this.Name, "Theme", this.metroStyleManager1.Theme.ToString()));
                    //this.uStyle = NFe.Components.EnumHelper.StringToEnum<MetroFramework.MetroColorStyle>(uninfeDummy.xmlParams.ReadValue(this.Name, "Style", this.metroStyleManager1.Style.ToString()));
                }
                catch { }

                ConfiguracaoApp.StartVersoes();

                _menu = new menu();
                this.Controls.Add(_menu);
                _menu.Dock = DockStyle.Fill;

                switch (NFe.Components.Propriedade.TipoAplicativo)
                {
                default:
                    this.notifyIcon1.Icon = this.Icon = NFe.UI.Properties.Resources.uninfe_icon;
                    break;

                case NFe.Components.TipoAplicativo.Nfse:
                    this.notifyIcon1.Icon = this.Icon = NFe.UI.Properties.Resources.uninfse_icon;
                    break;
                }

                this.cmAbrir.Text     = "Abrir " + NFe.Components.Propriedade.NomeAplicacao;
                this.cmFechar.Text    = "Fechar " + NFe.Components.Propriedade.NomeAplicacao;
                this.cmSobre.Text     = "Sobre o " + NFe.Components.Propriedade.NomeAplicacao;
                this.cmManual.Text    = "Manual do " + NFe.Components.Propriedade.NomeAplicacao;
                this.cmManual.Enabled = File.Exists(Path.Combine(NFe.Components.Propriedade.PastaExecutavel, NFe.Components.Propriedade.NomeAplicacao + ".pdf"));

                string filenameWS1 = Propriedade.NomeArqXMLMunicipios;
                string filenameWS2 = Propriedade.NomeArqXMLWebService_NFSe;
                string filenameWS3 = Propriedade.NomeArqXMLWebService_NFe;
                string msg         = "";

                error = !System.IO.File.Exists(filenameWS1) || !System.IO.File.Exists(filenameWS2) || !System.IO.File.Exists(filenameWS3);
                msg   = "Arquivos '" + filenameWS1 + "', '" + filenameWS2 + "' e '" + filenameWS3 + "' não encontrados";

                if (error)
                {
                    MetroFramework.MetroMessageBox.Show(this, msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Application.Exit();
                    return;
                }

                if (!this.servicoInstaladoErodando)     //danasa 12/8/2011
                //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011
                {
                    new ThreadControlEvents();  //danasa 12/8/2011
                }
                //Executar os serviços do UniNFe em novas threads
                //Tem que ser carregado depois que o formulário da MainForm estiver totalmente carregado para evitar Erros. Wandrey 19/10/2010
                this.ExecutaServicos();
            }
            finally
            {
                if (!error)
                {
                    this.updateControleDoServico();
                }
            }

#if DEBUG
#if verifica_wsdl
            Console.WriteLine("----------------------");
            NFe.Components.Servicos    servico = NFe.Components.Servicos.Nulo;
            NFe.Components.PadroesNFSe padrao  = PadroesNFSe.NaoIdentificado;

            Console.WriteLine(NFe.Components.Propriedade.NomeArqXMLWebService);

            if (Propriedade.TipoAplicativo == TipoAplicativo.Nfse)
            {
                XElement axml = XElement.Load(NFe.Components.Propriedade.NomeArqXMLWebService);
                var      s    = (from p in axml.Descendants(NFe.Components.NFeStrConstants.Estado)
                                 where (string)p.Attribute(NFe.Components.NFeStrConstants.UF) != "XX"
                                 select p);
                foreach (var item in s)
                {
                    NFe.Components.TipoAmbiente taHomologacao = TipoAmbiente.taProducao;
                    var x = XElement.Parse(item.Element(NFe.Components.NFeStrConstants.LocalProducao).ToString()).Elements();
                    foreach (var xa in x)
                    {
                        if (!string.IsNullOrEmpty(xa.Value))
                        {
                            padrao = NFe.Components.EnumHelper.StringToEnum <NFe.Components.PadroesNFSe>(item.Attribute("Padrao").Value);

                            if (padrao == PadroesNFSe.SYSTEMPRO || padrao == PadroesNFSe.IPM || padrao == PadroesNFSe.BETHA)
                            {
                                continue;
                            }

                            switch (xa.Name.ToString())
                            {
                            case "RecepcionarLoteRps":
                                servico = NFe.Components.Servicos.RecepcionarLoteRps;
                                break;

                            case "ConsultarSituacaoLoteRps":
                                servico = NFe.Components.Servicos.ConsultarSituacaoLoteRps;
                                break;

                            case "ConsultarNfsePorRps":
                                servico = NFe.Components.Servicos.ConsultarNfsePorRps;
                                break;

                            case "ConsultarNfse":
                                servico = NFe.Components.Servicos.ConsultarNfse;
                                break;

                            case "ConsultarLoteRps":
                                servico = NFe.Components.Servicos.ConsultarLoteRps;
                                break;

                            case "CancelarNfse":
                                servico = NFe.Components.Servicos.CancelarNfse;
                                break;

                            case "ConsultarURLNfseSerie":
                                servico = Servicos.ConsultarURLNfseSerie;
                                break;

                            case "ConsultarURLNfse":
                                servico = Servicos.ConsultarURLNfse;
                                break;

                            default:
                                Console.WriteLine("====>(" + xa.Name.ToString() + ")");
                                break;
                            }
                            if (servico == Servicos.Nulo)
                            {
                                Console.WriteLine("=========================================="
                                                  + " => " + item.Attribute("ID").Value
                                                  + "=>" + item.Attribute("Padrao").Value
                                                  + "=>" + xa.Name
                                                  + "=>" + xa.Value);
                            }
                            else
                            {
                                try
                                {
                                    NFe.UI.aaaa xxx  = new NFe.UI.aaaa();
                                    var         nome = xxx.nome(servico, Convert.ToInt32(item.Attribute("ID").Value), "");

                                    var proxy = ConfiguracaoApp.DefinirWS(servico, 0,
                                                                          Convert.ToInt32(item.Attribute("ID").Value),
                                                                          (int)taHomologacao,
                                                                          (int)NFe.Components.TipoEmissao.teNormal,
                                                                          padrao,
                                                                          string.Empty);

                                    if (nome != proxy.NomeClasseWS)
                                    {
                                        Console.WriteLine("srv:" + servico.ToString()
                                                          + "\r\nPadrao:" + item.Attribute("Padrao").Value
                                                          + "\r\nMunic:" + item.Attribute("ID").Value
                                                          + "\r\nC#:" + nome + " X wsdl:" + proxy.NomeClasseWS +
                                                          " Tag:" + xa.Name + "\r\n" + proxy.ArquivoWSDL + "\r\n----");
                                    }
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine("====\r\n" + xa.Value + "\r\n" + ex.Message);
                                }
                                //Console.WriteLine(NomeClasseWSNFSe(servico, padrao) + "==>" + proxy.NomeClasseWS);
                            }
                        }
                    }
                }
            }
            else
            {
                XElement axml = XElement.Load(NFe.Components.Propriedade.NomeArqXMLWebService);
                var      s    = (from p in axml.Descendants(NFe.Components.NFeStrConstants.Estado)
                                 where (string)p.Attribute(NFe.Components.NFeStrConstants.UF) != "XX"
                                 select p);
                foreach (var item in s)
                {
                    //Console.WriteLine(item.Element(NFe.Components.NFeStrConstants.LocalHomologacao).ToString());
                    var x = XElement.Parse(item.Element(NFe.Components.NFeStrConstants.LocalHomologacao).ToString()).Elements();
                    foreach (var xa in x)
                    {
                        if (!string.IsNullOrEmpty(xa.Value))
                        {
                            //Console.WriteLine(xa.Name + " => " + xa.Value);
                            servico = Servicos.Nulo;
                            string versao = "3.10";
                            switch (xa.Name.ToString())
                            {
                            case "CTeRecepcaoEvento":
                                servico = Servicos.RecepcaoEventoCTe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLCTeEvento;
                                break;

                            case "CTeRecepcao":
                                servico = Servicos.EnviarLoteCTe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLCTe;
                                break;

                            case "CTeRetRecepcao":
                                servico = Servicos.PedidoSituacaoLoteCTe;
                                break;

                            case "CTeInutilizacao":
                                servico = Servicos.InutilizarNumerosCTe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLCTeInut;
                                break;

                            case "CTeConsulta":
                                servico = Servicos.PedidoConsultaSituacaoCTe;
                                break;

                            case "CTeStatusServico":
                                servico = Servicos.ConsultaStatusServicoCTe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLCTeStatusServico;
                                break;

                            case "CTeConsultaCadastro": break;

                            case "NFeRecepcao":
                                servico = Servicos.EnviarLoteNfe; break;

                            case "NFeRetRecepcao": servico = Servicos.PedidoSituacaoLoteNFe; break;

                            case "NFeInutilizacao":
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLInut;
                                servico = Servicos.InutilizarNumerosNFe; break;

                            case "NFeConsulta": servico = Servicos.PedidoConsultaSituacaoNFe; break;

                            case "NFeStatusServico":
                                servico = Servicos.ConsultaStatusServicoNFe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLStatusServico;
                                break;

                            case "NFeConsultaCadastro":
                                servico = Servicos.ConsultaCadastroContribuinte;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLConsCad;
                                break;

                            case "NFeRecepcaoEvento":
                                servico = Servicos.RecepcaoEvento;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLEvento;
                                break;

                            case "NFeConsultaNFeDest":
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLEnvConsultaNFeDest;
                                servico = Servicos.ConsultaNFDest;
                                break;

                            case "NFeDownload": servico = Servicos.DownloadNFe; break;

                            case "NFeManifDest":
                                servico = Servicos.EnviarManifDest;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLEvento;
                                break;

                            case "NFeAutorizacao": servico = Servicos.EnviarLoteNfeZip2; break;

                            case "NFeRetAutorizacao": servico = Servicos.PedidoSituacaoLoteNFe2; break;

                            case "MDFeRecepcao": servico = Servicos.EnviarLoteMDFe;
                                versao = NFe.ConvertTxt.versoes.VersaoXMLMDFe;
                                break;

                            case "MDFeRetRecepcao":
                                servico = Servicos.PedidoSituacaoLoteMDFe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLMDFe;
                                break;

                            case "MDFeConsulta":
                                servico = Servicos.PedidoConsultaSituacaoMDFe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLMDFe;
                                break;

                            case "MDFeStatusServico":
                                servico = Servicos.ConsultaStatusServicoMDFe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLMDFeStatusServico;
                                break;

                            case "MDFeRecepcaoEvento":
                                servico = Servicos.RecepcaoEventoMDFe;
                                versao  = NFe.ConvertTxt.versoes.VersaoXMLMDFeEvento;
                                break;

                            default:
                                servico = Servicos.Nulo;
                                Console.WriteLine("====>(" + xa.Name.ToString() + ")");
                                break;
                            }
                            if (servico == Servicos.Nulo)
                            {
                                continue;
                            }

                            try
                            {
                                if (xa.Value.Contains("\\DPEC\\"))
                                {
                                    if (xa.Value.Contains("DEPCSCEConsultaRFB"))
                                    {
                                        servico = Servicos.ConsultarDPEC;
                                    }
                                    else
                                    {
                                        servico = Servicos.EnviarDPEC;
                                    }
                                }

                                NFe.UI.aaaa xxx  = new NFe.UI.aaaa();
                                var         nome = xxx.nome(servico, Convert.ToInt16(item.Attribute("ID").Value), versao);

                                foreach (NFe.Components.TipoEmissao temissao in Enum.GetValues(typeof(NFe.Components.TipoEmissao)))
                                {
                                    if (temissao == NFe.Components.TipoEmissao.teNone)
                                    {
                                        continue;
                                    }
                                    if (temissao != NFe.Components.TipoEmissao.teNormal && xa.Value.Contains("\\DPEC\\"))
                                    {
                                        break;
                                    }
                                    if (temissao == TipoEmissao.teDPEC && !xa.Value.Contains("\\DPEC\\"))
                                    {
                                        continue;
                                    }

                                    var proxy = NFe.Settings.ConfiguracaoApp.DefinirWS(servico, 0,
                                                                                       Convert.ToInt16(item.Attribute("ID").Value),
                                                                                       (int)NFe.Components.TipoAmbiente.taHomologacao,
                                                                                       (int)temissao,
                                                                                       versao);

                                    if (!nome.Equals(proxy.NomeClasseWS))
                                    {
                                        Console.WriteLine(versao + ": srv:" + servico.ToString() + "\r\ntpEmis:" + temissao.ToString() +
                                                          "\r\nC#:" + nome + " X wsdl:" + proxy.NomeClasseWS +
                                                          " Tag:" + xa.Name + "\r\n" + proxy.ArquivoWSDL + "\r\n----");
                                    }

                                    if (xa.Name.ToString().StartsWith("NFe") && versao.Equals("3.10"))
                                    {
                                        versao = "2.00";
                                        var aproxy = NFe.Settings.ConfiguracaoApp.DefinirWS(servico, 0,
                                                                                            Convert.ToInt16(item.Attribute("ID").Value),
                                                                                            (int)NFe.Components.TipoAmbiente.taHomologacao,
                                                                                            (int)temissao,
                                                                                            versao);

                                        NFe.UI.aaaa axxx  = new NFe.UI.aaaa();
                                        var         anome = axxx.nome(servico, Convert.ToInt16(item.Attribute("ID").Value), versao);

                                        if (!anome.Equals(aproxy.NomeClasseWS))
                                        {
                                            Console.WriteLine(versao + ": srv:" + servico.ToString() + "\r\ntpEmis:" + temissao.ToString()
                                                              + "\r\nC#:" + anome + " X wsdl:" + aproxy.NomeClasseWS +
                                                              " Tag:" + xa.Name + "\r\n" + aproxy.ArquivoWSDL + "\r\n----");
                                        }
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                //Console.WriteLine("====\r\n" + xa.Value + "\r\n" + ex.Message);
                            }
                        }
                    }
                }
            }
            Console.WriteLine("----------------------");
#endif
#endif
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: matBatista/uninfe
        private void Form1_Load(object sender, EventArgs e)
        {
            //
            //SERVICO: danasa 7/2011
            //servico está instalado e rodando?
            this.servicoInstaladoErodando = Propriedade.ServicoRodando;

            this.tbSeparator1.Visible           =
                this.tbRestartServico.Visible   =
                    this.tbPararServico.Visible = this.servicoInstaladoErodando;

            this.updateControleDoServico();

            ///
            /// danasa 9-2009
            ///
            this.MinimumSize = new Size(800, 600);
            //Trazer minimizado e no systray
            this.notifyIcon1.Visible = true;
            this.WindowState         = FormWindowState.Minimized;
            this.Visible             = false;
            this.ShowInTaskbar       = false;
            this.notifyIcon1.ShowBalloonTip(6000);

            //Propriedade.TipoAplicativo = TipoAplicativo.Nfe;
            //ConfiguracaoApp.AtualizaWSDL = !System.IO.File.Exists(Propriedade.NomeArqXMLWebService); //danasa: 12/2013
            ConfiguracaoApp.StartVersoes();

            if (!this.servicoInstaladoErodando)     //danasa 12/8/2011
            //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011
            {
                new ThreadControlEvents();  //danasa 12/8/2011
            }
            //Executar os serviços do UniNFe em novas threads
            //Tem que ser carregado depois que o formulário da MainForm estiver totalmente carregado para evitar Erros. Wandrey 19/10/2010
            this.ExecutaServicos();


            NFe.Components.XMLIniFile xml = new NFe.Components.XMLIniFile(NFe.Components.Propriedade.NomeArqXMLParams);
            this.metroStyleManager1.Theme = xml.ReadValue(this.Name, "Theme", this.metroStyleManager1.Theme);
            this.metroStyleManager1.Style = xml.ReadValue(this.Name, "Style", this.metroStyleManager1.Style);

            switch (NFe.Components.Propriedade.TipoAplicativo)
            {
            case NFe.Components.TipoAplicativo.Nfe:
                this.notifyIcon1.Icon =
                    this.Icon         = Properties.Resources.uninfe1;
                break;

            case NFe.Components.TipoAplicativo.Nfse:
                this.notifyIcon1.Icon =
                    this.Icon         = Properties.Resources.uninfse;
                break;
            }
            this.notifyIcon1.BalloonTipText  = string.Format(this.notifyIcon1.BalloonTipText, NFe.Components.Propriedade.NomeAplicacao);
            this.notifyIcon1.BalloonTipTitle =
                this.notifyIcon1.Text        = NFe.Components.Propriedade.NomeAplicacao + " - " + NFe.Components.Propriedade.DescricaoAplicacao;

            EnableControlsCM();

            this.cmConsultaCadastro.Visible =
                this.cmDANFE.Visible        = NFe.Components.Propriedade.TipoAplicativo == TipoAplicativo.Nfe;

            this.cmAbrir.Text  = "Abrir " + NFe.Components.Propriedade.NomeAplicacao;
            this.cmFechar.Text = "Fechar " + NFe.Components.Propriedade.NomeAplicacao;
            this.cmSobre.Text  = "Sobre o " + NFe.Components.Propriedade.NomeAplicacao;
            this.cmManual.Text = "Manual do " + NFe.Components.Propriedade.NomeAplicacao;

            _menu = new menu();
            this.Controls.Add(_menu);
            _menu.Dock = DockStyle.Fill;


            /*
             * foreach (var item in MetroStyleManager.Styles.Themes)
             * {
             *  Console.WriteLine(item.Key.ToString());
             * }*/
        }
コード例 #5
0
ファイル: MainForm.cs プロジェクト: tassio1125/Nfe
        public MainForm()
        {
            InitializeComponent();

            try
            {
                // Executar as conversões de atualizações de versão quando tiver
                string nomeEmpresa = Auxiliar.ConversaoNovaVersao(string.Empty);
                if (!string.IsNullOrEmpty(nomeEmpresa))
                {
                    /// danasa 20-9-2010
                    /// exibe a mensagem de erro
                    MessageBox.Show("Não foi possível localizar o CNPJ da empresa no certificado configurado", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    /// e pede o CNPJ
                    FormCNPJ fcnpj = new FormCNPJ(nomeEmpresa);
                    if (fcnpj.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        /// tenta processar já com o CNPJ definido
                        Auxiliar.ConversaoNovaVersao(fcnpj.Cnpj);
                        restartServico = true;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            //
            //SERVICO: danasa 7/2011
            //servico está instalado e rodando?
            this.servicoInstaladoErodando = Propriedade.ServicoRodando;

            this.tbSeparator1.Visible           =
                this.tbRestartServico.Visible   =
                    this.tbPararServico.Visible = this.servicoInstaladoErodando;

            this.updateControleDoServico();

            ///
            /// danasa 9-2009
            ///
            try
            {
                XMLIniFile iniFile = new XMLIniFile(Propriedade.NomeArqXMLParams);
                iniFile.LoadForm(this, "", true);
            }
            catch { }   // para evitar que para alguns que derrubam o uninfe quando atualizam

            //Trazer minimizado e no systray
            notifyIcon1.Visible = true;
            this.WindowState    = FormWindowState.Minimized;
            this.ShowInTaskbar  = false;
            notifyIcon1.ShowBalloonTip(6000);
            this.MinimumSize = new Size(750, 600);

            #region Definir valores propriedades de configuração
            Propriedade.TipoAplicativo = TipoAplicativo.Nfe;
            //ConfiguracaoApp.AtualizaWSDL = !System.IO.File.Exists(Propriedade.NomeArqXMLWebService); //danasa: 12/2013
            ConfiguracaoApp.StartVersoes();
            #endregion

            string filenameWS1 = Propriedade.NomeArqXMLMunicipios;
            string filenameWS2 = Propriedade.NomeArqXMLWebService_NFSe;
            string filenameWS3 = Propriedade.NomeArqXMLWebService_NFe;
            string msg         = "";
            bool   error       = false;
            error = !System.IO.File.Exists(filenameWS1) || !System.IO.File.Exists(filenameWS2) || !System.IO.File.Exists(filenameWS3);
            msg   = "Arquivos '" + filenameWS1 + "', '" + filenameWS2 + "' e '" + filenameWS3 + "' não encontrados";

            if (error)
            {
                MessageBox.Show(msg);
                Application.Exit();
                return;
            }

            if (!this.servicoInstaladoErodando)     //danasa 12/8/2011
            //Definir eventos de controles de execução das thread´s de serviços do UniNFe. Wandrey 26/07/2011
            {
                new ThreadControlEvents();  //danasa 12/8/2011
            }
        }