כיצד לבדוק באופן תוכניתי את הנוכחות של מוצר מבוסס Windows Installer באמצעות קוד המוצר שלו


מבוא


Windows Installer מספק ממשקי Api שמאפשרים למשתמש לבצע שאילתה על מסד הנתונים של Windows Installer לקבלת נוכחות של מוצר מסוים. כל מוצר מזוהה באופן ייחודי על-ידי קוד המוצר שלו, שהוא GUID. מאמר זה מספק דוגמאות קוד המציגות כיצד לבדוק באופן תוכניתי את הנוכחות של מוצר מבוסס Windows Installer באמצעות קוד המוצר שלו.

מידע נוסף


התקשרות ל-API מ-Visual C++

להלן דוגמה של האופן שבו באפשרותך להתקשר לשיטה MsiGetProductInfoExW () ב-Visual C++ כדי לזהות את הנוכחות של מוצר ספציפי. המוצר מצוין על-ידי ה-GUID של קוד המוצר הייחודי שלו.
TCHAR szVersion[20];DWORD cchVersion = 20;BOOL fInstalled = (ERROR_SUCCESS == MsiGetProductInfoEx (TEXT("{ProductCode}"), NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, szVersion, &cchVersion));
במקטע דוגמה של קוד זה, המשתנה fInstalled בוליאני יכיל ערך TRUE או FALSE, בהתאם לשאלה אם המוצר שצוין מותקן או שאינו מותקן.

התקשרות ל-API מ-VBScript

להלן דוגמה של האופן שבו באפשרותך להתקשר לפעולת השירות ProductInfo () באובייקט WindowsInstaller. Installer ב- Microsoft Visual basic Script כדי לזהות את הנוכחות של מוצר ספציפי. המוצר מצוין על-ידי ה-GUID של קוד המוצר הייחודי שלו.
 Dim msi : Set msi = CreateObject("WindowsInstaller.Installer")On Error Resume NextDim version : version = msi.ProductInfo("{ProductCode}", "VersionString")Dim installed : installed = ( Err.Number = 0 )
במקטע לדוגמה קוד זה, המשתנה המותקן יכיל ערך 0 או 1, בהתאם לשאלה אם המוצר שצוין מותקן או שאינו מותקן.הערה המאפיין ProductCode המועבר לפונקציות בשתי הדוגמאות כאן כולל סוגריים מסולסלים ({}) בתוך המרכאות. לקבלת מידע נוסף אודות Windows Installer, בקר בדף האינטרנט הבא של Microsoft Windows Installer:לקבלת מידע נוסף אודות האופן שבו ניתן להשיג את הגירסה העדכנית ביותר של Windows Installer עבור המחשב שלך, בקר בדף האינטרנט הבא של Microsoft: לקבלת מידע נוסף, בקר בדפי האינטרנט הבאים של Microsoft: הערה לגבי המקטע "חל על"בנוסף למוצרים המופיעים בסעיף "חל על", המידע במאמר זה חל גם על המוצר הבא:
  • Windows Installer 4.0