2017-02-08 2 views
0

Ich weiß, dass Acrobat Reader installiert ist, aber ich möchte wissen, welche Version von Acrobat installiert ist? Aber ohne Registrierungsschlüssel zu verwenden. Gibt es eine Acrobat Reader-Funktion, um es zu bekommen?So ermitteln Sie Acrobat Reader Version ohne Verwendung der Registrierung

Vielen Dank im Voraus

habe ich folgenden Code aber seinen Wurf Ausnahme an einigen Stellen

RegistryKey adobe = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Adobe"); 
     if (adobe != null) 
     { 
      RegistryKey acroRead = adobe.OpenSubKey("Acrobat Reader"); 
      if (acroRead != null) 
      { 
       string[] acroReadVersions = acroRead.GetSubKeyNames(); 

       string versionNos = ""; 
       string ResultAcrobat =""; 
       foreach (string versionNumber in acroReadVersions) 
       { 
        if (Convert.ToDecimal(versionNumber) >= 9) 
        { 
         ResultAcrobat = "OK"; 
        } 
        versionNos += ",Version v" + versionNumber; 
       } 
       versionNos = versionNos.Remove(0, 1); 
       AcrobatReader = versionNos; 

       if (Convert.ToString(dr["ResultAcrobat"]) == "") 
       { 
        ResultAcrobat = "Error"; 

       } 

      } 

Antwort

0

Sicher, aber es ist mehr hackish als die Registrierung zu lesen (die die eigentliche Anwendung hält geöffnet).

Mein Vorschlag, wenn Sie die Registrierung nicht lesen kann, ist dies:

  • Hier finden Sie alle Dateien Namen AcroRd32.exe im Programmdateien-Ordner, in meinem Fall unter C:\Program Files (x86)\Adobe;
  • die Dateiversion von den ausführbaren Dateien Get mit diesem Code gefunden:

    string[] files = Directory.GetFiles(@"C:\Program Files (x86)\Adobe", "AcroRd32.exe", SearchOption.AllDirectories); 
    
    // determine which one to use 
    string pathToAdobeExe = files.First(); 
    
    string version = FileVersionInfo.GetVersionInfo(pathToAdobeExe).ProductVersion; 
    
+0

dank Patrick, aber wie Sie wissen, wo Acrobat installiert? –

+0

Lesen Sie die Registrierung ... –

+0

Eigentlich habe ich bereits die Registrierung verwendet und habe die Version und ihren installierten Pfad auch, aber es gibt Fehler bei einigen Client. Das bedeutet, dass es sich an verschiedenen Orten anders verhält. –

Verwandte Themen