2009-06-22 2 views
1

Windows (XP 및 Vista)를 쿼리하여 소프트웨어 패키지 중 하나의 버전이 UpgradeCode와 함께 설치되었는지 확인하려고했습니다 (이 경우 UpgradeCode는 유일한 것입니다 버전 간 버전의 정적 GUID). WMI 및 WindowInstaller.Installer 개체를 사용하여이 작업을 시도했지만 성공하지 못했습니다. C#에서이 쿼리를 작성해야합니다. 도움이나 도움을 주실 수있는 분들께 감사드립니다.UpgradeCode로 응용 프로그램이 설치된 경우 Windows를 쿼리하십시오.

답변

1

MSI.DLL의 MsiEnumRelatedProducts 함수를 사용해야합니다. 이 링크를 사용하는 방법에 대해 설명합니다 : 당신이 그것을 같이 DllImport해야합니다 있도록

http://msdn.microsoft.com/en-us/library/aa370103(VS.85).aspx

그것은 관리되지 않는 DLL입니다. VB.net에서이 코드를 사용하여 코드를 확인합니다.

키가 하나 이상의 설치된 패키지에 동일한 업그레이드 코드가있을 수 있습니다. 이것에 대한 첫 번째 호출이 패키지 코드를 반환하면 다시 검사를 건너 뛰고 그에 따라 행동 할 수 있습니다.

관련 문제