Použití Instalační služby systému Windows k inventáři produktů a oprav
Uživatelé a aplikace s oprávněními správce můžou používat funkce Instalační služby systému Windows k inventarizaci aplikací Instalační služby systému Windows, funkcí, součástí a oprav nainstalovaných v systému.
Od Instalační služby systému Windows 3.0 mohou uživatelé a aplikace s oprávněními správce zobrazit výčet aplikací, funkcí, součástí a oprav nainstalovaných v systému všemi uživateli. Správci a aplikace mohou získat informace o produktu nebo opravě pro konkrétního uživatele nebo všechny uživatele v systému. Aplikace mohou získat stav funkce nebo stav součásti pro konkrétního uživatele.
Funkce inventáře dostupné od Instalační služby systému Windows 3.0 mohou omezit rozsah položek, které se mají najít v kontextu instalace a kontextu uživatele. Existují tři možné kontexty instalace: pro uživatele, pro počítač a spravováno uživatelem. Kontext uživatele může být konkrétní uživatel nebo všichni uživatelé v systému.
Verze inventarizačních funkcí Instalační služby systému Windows starší než Instalační služba systému Windows 3.0 mohou vyčíslit pouze položky nainstalované v systému v kontextu počítače nebo v kontextu pro jednotlivé uživatele aktuálního uživatele. Toto omezení brání kompletnímu inventáři všech produktů a oprav Instalační služby systému Windows nainstalovaných v systému jinými uživateli než aktuálním uživatelem.
- Seznamování produktů
- výčet oprav
- získání informací o produktu
- získání informací o opravách
- získání informací o stavu součástí
- získání informací o stavu funkce
Výčet produktů
Pomocí funkce MsiEnumProductsEx zobrazte výčet aplikací Instalační služby systému Windows, které jsou nainstalovány v systému. Tato funkce dokáže najít všechny instalace na počítač a instalace aplikací pro jednotlivé uživatele (spravované a nespravované) pro aktuálního uživatele a další uživatele v systému. Pomocí parametru dwContext zadejte kontext instalace, který se má najít. Můžete zadat jakoukoli kombinaci možných kontextů instalace. Pomocí parametru szUserSid určete kontext uživatele aplikací, které se mají najít.
Výčet záplat
Pomocí funkce MsiEnumPatchesEx vyhledejte opravy použité pro aplikaci. Tato funkce může najít opravy použité pro konkrétní aplikaci nebo pro všechny aplikace v systému. Tato funkce může najít opravy použité pro všechny instalace na počítač a instalace aplikací pro jednotlivé uživatele (spravované a nespravované) pro aktuálního uživatele a další uživatele v systému.
Kontext instalace a kontext uživatele můžete použít k omezení výčtu oprav na konkrétní kontext nebo napříč všemi kontexty. Pomocí parametru dwContext zadejte kontext instalace, který se má najít. Můžete zadat jakoukoli kombinaci možných kontextů instalace. Pomocí parametru szUserSid určete kontext uživatele aplikací, které se mají najít.
Vytvoření výčtu oprav použitých pro všechny produkty inzerované nebo nainstalované všemi uživateli v systému
- Vyvolejte funkci MsiEnumPatchesEx.
- Pro hodnotu parametru szProductCode použijte NULL.
- Pro hodnotu parametru szUserSid použijte s-1-1-0.
- Pro hodnotu parametru dwContext použijte "MSIINSTALLCONTEXT_ALL".
Vytvoření výčtu oprav použitých pro všechny produkty inzerované nebo nainstalované všemi uživateli v systému
Zavolejte funkci MsiEnumProductsEx.
- Pro hodnotu parametru szProductCode použijte NULL.
- Pro hodnotu parametru szUserSid použijte s-1-1-0.
- Pro hodnotu parametru dwContext použijte "MSIINSTALLCONTEXT_ALL".
Funkce poskytuje kód produktu, kontext uživatele a kontext instalace pro každou nalezenou aplikaci.
Pro každou aplikaci uvedenou v kroku 1 zavolejte MsiEnumPatchesEx k vyčtení oprav.
Kódy produktů, kontexty uživatelů a kontexty instalace získané z MsiEnumProductsEx použijte pro hodnoty szProductCode, szUserSida dwContext, a každé volání funkce MsiEnumProductsEx.
Získání informací o produktu
Pomocí funkce MsiGetProductInfoEx získejte informace o aplikacích inzerovaných nebo nainstalovaných v systému a o vlastnostech, které lze načíst. Tato funkce může získat informace o instanci aplikace nainstalované pod jiným uživatelským účtem než aktuálním uživatelem, ale nemůže se dotazovat na instanci produktu inzerovaného v nespravovaném kontextu pro jiný uživatelský účet než aktuálního uživatele.
Můžete určit kontext instalace a kontext uživatele, který omezí informace pro aplikace nainstalované v určitém kontextu. Pomocí parametru dwContext zadejte kontext instalace, který se má najít. Můžete zadat pouze jeden z možných kontextů instalace. Pomocí parametru szUserSid určete kontext uživatele aplikací, které se mají najít.
Získání informací o opravách
Aplikace může volat funkci MsiGetPatchInfoEx, aby získala informace o aplikaci opravy na zadanou instanci produktu. Pomocí této funkce lze načíst vlastnosti, jako jsou LocalPackage, transformace a stav. Ne všechny hodnoty vlastností jsou zaručené, že jsou k dispozici pro nespravované aplikace pro jednotlivé uživatele, pokud uživatel není aktuálně přihlášen k počítači. Můžete zadat pouze jeden z možných kontextů instalace.
Můžete určit kontext instalace a kontext uživatele, abyste omezili informace na opravy použité u aplikací nainstalovaných v určitém kontextu. Pomocí parametru dwContext zadejte kontext instalace, který se má najít. Můžete zadat pouze jeden z možných kontextů instalace. Pomocí parametru szUserSid určete kontext uživatele aplikací, které se mají najít.
Získání informací o stavu součástí
Aplikace mohou volat funkci MsiQueryComponentState k získání stavu instalace pro komponentu. Tato funkce určuje, jestli je komponenta nainstalovaná místně nebo nainstalována ke spuštění ze zdroje. Funkce se může dotazovat na součást instance aplikace nainstalované v jiných uživatelských účtech než aktuální uživatel za předpokladu, že produkt není inzerován v nespravovaném kontextu pro jednotlivé uživatele jiného než aktuálního uživatele.
Můžete zadat kontext instalace a kontext uživatele pro získání stavu komponent pro aplikace nainstalované v konkrétním kontextu. Pomocí parametru dwContext zadejte kontext instalace, který se má najít. Můžete zadat pouze jeden z možných kontextů instalace. Pomocí parametru szUserSid určete kontext uživatele aplikací, které se mají najít.
Získání informací o stavu funkce
Aplikace mohou volat funkci MsiQueryFeatureStateEx, aby získaly stav instalace pro funkci produktu. Tato funkce určuje, jestli je funkce inzerována, nainstalována místně nebo nainstalována ke spuštění ze zdroje. Funkci lze použít k dotazování na libovolnou funkci instance aplikace nainstalované v rámci účtu počítače nebo libovolného kontextu v aktuálním uživatelském účtu nebo kontextu spravovaném pro jednotlivé uživatele v jiném uživatelském účtu, než je aktuální uživatel. Tato funkce se nemůže dotazovat na aplikaci nainstalovanou v nespravovaném kontextu uživatele pro jiný uživatelský účet než aktuální uživatel. Můžete zadat pouze jeden z možných kontextů instalace.
Můžete zadat kontext instalace a kontext uživatele, abyste získali stav funkcí pro aplikace nainstalované v určitém kontextu. Pomocí parametru dwContext zadejte kontext instalace, který se má najít. Můžete zadat pouze jeden z možných kontextů instalace. Pomocí parametru szUserSid určete kontext uživatele aplikací, které se mají najít.