检测是否已安装Adobe Acrobat 9.3+

时间:2010-07-08 14:49:16

标签: installer windows-installer adobe-reader

我使用.NET Installer作为引导程序,我需要检测是否安装了Adobe Acrobat 9.3或更高版本作为先决条件。

目前我正在使用此注册表来检测安装:

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

我只是检查密钥是否存在。这有以下问题:

  1. 这取决于可能随更新版本而更改的注册表路径
  2. ELUA密钥仅在adobe reader启动后才存在。如果在读取器启动之前再次运行安装,则强制它们重新安装
  3. 这个密钥不允许我真正检查他们的adobe版本。
  4. 仅供参考,.net安装程序可以按文件{exists / file version}或注册表项{exists / version}检查现有产品。我更喜欢使用注册表,因为应用程序可以安装在任何地方,我无法使用此工具扫描“卸载”注册表项。

    有什么想法吗?

    http://dotnetinstaller.codeplex.com/

1 个答案:

答案 0 :(得分:0)

在键下

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

您可以找到安装路径。一旦你有了安装路径,你可以去那里,找到可执行文件“AcroRd32.exe”并获得其代码的版本

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

正如您所说,从来没有版本可能有不同的注册表项。你必须在你的代码中处理它,你通过'AcrobatReader'下的密钥,获取他们的名字,可能是'10 .0'和'9.0',解析它们,然后比较它们以获得最新的版本信息。< / p>