/// <summary> /// Verifica o programa esta instalado na máquina cliente /// Diretórios setados no ITESetup: /// Raiz: /// Raiz:\Program Files /// Raiz:\Program Files (x86) /// </summary> /// <returns></returns> public string DetectInstallDir() { var root = FileManagerIts.ToDiskUnit(); //diretorio padrão é esse //32 e 64 bits string localx86 = @"\Program Files (x86)\ITS\ITE\"; string localx64 = @"\Program Files\ITS\ITE\"; string local = ""; //checa todas as unidade x64 e x86 em busca do local de instalação for (int i = 0; i < root.Length / 2; i++) { //a letra da unidade string letter = root[i]; //verificar se alguem instalou na raiz do disco tbm var raiz = letter + "\\ITE"; //se existe if (Directory.Exists(raiz)) { i = 26;//termina o laco local = raiz; } else { //tenta no x86 primeiro local = letter + localx86; //nao existe diretorio no x86 if (!Directory.Exists(local)) { //entao tente no x64 local = letter + localx64; } //verificase se exite no x64 if (Directory.Exists(local)) { i = 26;//termina o laco } //continua procurando } } if (Directory.Exists(local)) { return(local); } return(local); }
private void detectInstallDir() { lblStatus.BeginInvoke( new Action(() => { lblStatus.Text = "Detectando diretório de instalação ..."; } )); var discos = FileManagerIts.ToDiskUnit(); string local = _taskManager.DetectInstallDir(); this.openFileITE.FileName = local; if (Directory.Exists(local)) { this.txtInstallDir.BeginInvoke( new Action(() => { this.txtInstallDir.Text = local; } )); this.lblStatus.BeginInvoke(new Action(() => { lblStatus.Text = "Path de instalação detectado automaticamente !"; lblStatus.Visible = true; lblStatus.ForeColor = System.Drawing.Color.Green; } )); this._installDir = local; } else { lblStatus.BeginInvoke(new Action(() => { lblStatus.Text = "Path de instalação não detectado"; lblStatus.Visible = true; lblStatus.ForeColor = System.Drawing.Color.Red; } )); } }