Обнаружение, если Adobe Acrobat 9.3+ уже установлен - PullRequest
1 голос
/ 08 июля 2010

Я использую .NET Installer в качестве загрузчика, и мне нужно определить, установлен ли Adobe Acrobat 9.3 или выше в качестве предварительного условия.

В настоящее время я использую этот реестр для определения установки:

HKEY_CURRENT_USER\SOFTWARE\Adobe\Acrobat Reader\9.0\AdobeViewer\ELUA

Я просто проверяю, существует ли ключ.Это имеет следующие проблемы:

  1. Это зависит от пути реестра, который, вероятно, изменится с более новыми версиями
  2. Ключ ELUA существует только после запуска Adobe Reader.Если установка запускается снова до того, как читатель запускается, он заставляет их переустанавливать
  3. Этот ключ не позволяет мне действительно проверить, какая версия Adobe у них есть., .net Installer может проверять существующие продукты по файлу {существует / версия файла} или разделу реестра {существует / версия}.Я предпочитаю использовать реестр, так как приложения могут быть установлены где угодно, и я не могу сканировать разделы реестра «Удалить» с помощью этого инструмента.

    Есть идеи?

    http://dotnetinstaller.codeplex.com/

1 Ответ

0 голосов
/ 08 июля 2010

под ключ

KEY_CURRENT_USER\SOFTWARE\Adobe\Acrobat Reader\9.0\Installer

вы можете найти путь установки. Когда у вас есть путь установки, вы можете пойти туда, найти исполняемый файл "AcroRd32.exe" и получить его версию с кодом

FileVersionInfo myFI = FileVersionInfo.GetVersionInfo("yourexe.exe");

Как вы сказали, никогда не версии могут иметь разные ключи реестра. Вам придется обрабатывать это в своем коде, когда вы проходите через ключи в «AcrobatReader», получаете их имена, которые могут быть «10 .0» и «9.0», анализируете их, а затем сравниваете их, чтобы получить информацию о самой новой версии.

...