2010-07-08 4 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. 어도비 리더가 출시 된 후 ELUA 키는 존재로 변경됩니다 레지스트리 경로에 따라 달라집니다 : 이것은 다음과 같은 문제점이있다. 리더가 실행되기 전에 설치가 다시 실행되면 다시 설치해야합니다.
  3. 이 키를 사용하면 갖고있는 어도비의 버전을 실제로 확인할 수 없습니다.

FYI .net 설치 프로그램은 파일 {존재/파일 버전} 또는 레지스트리 키 {존재/버전}로 기존 제품을 확인할 수 있습니다. 응용 프로그램을 어디서나 설치할 수 있으므로이 도구를 사용하여 "제거"레지스트리 키를 검사 할 수 없으므로 레지스트리를 사용하는 것을 선호합니다.

아이디어가 있으십니까? 키

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

에서

http://dotnetinstaller.codeplex.com/

답변

0

당신은 설치 경로를 찾을 수 있습니다. 당신은 설치 경로가 있으면, 당신은 실행 "AcroRd32.exe"을 찾아, 거기에 갈 수 있고 당신이 결코 버전이 다른 레지스트리 키가있을 수 있습니다 말했듯이 코드

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

와의 버전을. 코드에서 'AcrobatReader'아래의 키를 거쳐 '10 .0 '및'9.0 '일 수있는 이름을 가져 와서 구문 분석 한 다음 비교하여 최신 버전 정보를 가져와야합니다.

+0

질문에서 언급했듯이, 이것은 C# 코드가 아니며 선언적 XML 부트 스트 래퍼입니다. 이 솔루션은 실제로 작동하지 않습니다. –

관련 문제