2010-07-08 230 views
1

我使用.NET Installer作爲引導程序,我需要檢測是否安裝了Adobe Acrobat 9.3或更高版本作爲先決條件。檢測Adobe Acrobat 9.3+是否已安裝

目前我使用此註冊表來檢測安裝:

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

我只是檢查,看是否存在的關鍵。這有以下問題:

  1. 這取決於將有可能與新版本
  2. 的Adobe Reader推出後ELUA鍵只存在更改註冊表路徑上。如果安裝程序在讀取器啓動之前再次運行,則會強制它們重新安裝
  3. 此密鑰不允許我真正檢查它們具有的Adobe版本。

僅供參考.net安裝程序可以通過文件{exists/file version}或註冊表項{exists/version}檢查現有產品。我更喜歡使用註冊表,因爲應用程序可以安裝在任何地方,我無法使用此工具掃描「卸載」註冊表項。

任何想法?

http://dotnetinstaller.codeplex.com/

回答

0

在關鍵

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

你可以找到安裝路徑。一旦你的安裝路徑,你可以去那裏,找到可執行「AcroRd32.exe」,並得到其版本的代碼

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

正如你所說,從來版本可能有不同的註冊表項。您必須在代碼中處理該代碼,以便通過「AcrobatReader」下的密鑰,獲取他們的名稱(可能是「10.0」和「9.0」),解析它們,然後比較它們以獲取最新版本信息。

+0

正如問題中提到的,這不是C#代碼,它是一個聲明式XML引導程序。這個解決方案不會真的爲此工作。 – 2010-07-08 16:11:32

相關問題