ข้อความนำ
Windows Installer มี APIs ที่ช่วยให้ผู้ใช้สามารถสอบถามฐานข้อมูล Windows Installer สำหรับการแสดงตนของผลิตภัณฑ์ที่เฉพาะเจาะจงได้ ผลิตภัณฑ์แต่ละรายการจะถูกระบุโดยรหัสผลิตภัณฑ์ซึ่งเป็น GUID ที่ไม่ซ้ำกัน บทความนี้มีตัวอย่างรหัสที่แสดงวิธีการตรวจสอบการแสดงตนของผลิตภัณฑ์ที่ใช้ Windows Installer โดยทางโปรแกรมโดยใช้รหัสผลิตภัณฑ์
ข้อมูลเพิ่มเติม
การโทรหา API จาก Visual c ++
ต่อไปนี้เป็นตัวอย่างของวิธีที่คุณสามารถเรียกใช้วิธีการMsiGetProductInfoExW ()ใน c ++ Visual เพื่อตรวจหาการแสดงตนของผลิตภัณฑ์ที่เฉพาะเจาะจง ผลิตภัณฑ์จะถูกระบุโดย 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ในสคริปต์ Microsoft Visual Basic เพื่อตรวจหาการแสดงตนของผลิตภัณฑ์ที่เฉพาะเจาะจง ผลิตภัณฑ์จะถูกระบุโดย 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 ให้ไปที่หน้าเว็บ Microsoft Windows Installer MSDN ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/aa367449(VS.85).aspxสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับ Windows Installer เวอร์ชันล่าสุดสำหรับคอมพิวเตอร์ของคุณให้เยี่ยมชมเว็บเพต่อไปนี้ของ Microsoft:
http://www.microsoft.com/download/details.aspx?familyid=5A58B56F-60B6-4412-95B9-54D056D6F9F4&displaylang=en สำหรับข้อมูลเพิ่มเติมโปรดไปที่เว็บเพจของ Microsoft ต่อไปนี้:
-
การใช้ Windows Installer กับผลิตภัณฑ์คงคลังและแพทช์http://msdn.microsoft.com/en-us/library/aa369558 (VS.) .aspx
-
การกำหนดบริบทการติดตั้งhttp://msdn.microsoft.com/en-us/library/aa368279 (VS.) .aspx
-
แสดงรายการผลิตภัณฑ์คุณสมบัติฟีเจอร์และคอมโพเนนต์http://msdn.microsoft.com/en-us/library/aa369767 (VS.) .aspx
-
การรับข้อมูลของแอปพลิเคชันhttp://msdn.microsoft.com/en-us/library/aa368761 (VS.) .aspx
-
ฟังก์ชัน MsiGetProductInfohttp://msdn.microsoft.com/en-us/library/aa370131 (VS.) .aspx
-
Installer.ProductInfo Propertyhttp://msdn.microsoft.com/en-us/library/aa369457(VS.85).aspx
-
ฟังก์ชัน MsiQueryProductState http://msdn.microsoft.com/en-us/library/aa370363 (VS.) .aspx
-
เมธอดคุณสมบัติ ProductState http://msdn.microsoft.com/en-us/library/aa369463 (VS.) .aspx
-
คุณสมบัติ ProductCode http://msdn.microsoft.com/en-us/library/aa370854 (VS.) .aspx
หมายเหตุเกี่ยวกับส่วน "นำไปใช้กับ"นอกจากผลิตภัณฑ์ที่แสดงอยู่ในส่วน "นำไปใช้กับ" ข้อมูลในบทความนี้ยังนำไปใช้กับผลิตภัณฑ์ต่อไปนี้:
-
Windows Installer ๔.๐