Udostępnij za pośrednictwem


Używanie Instalatora Windows do spisu produktów i poprawek

Użytkownicy i aplikacje z uprawnieniami administracyjnymi mogą używać funkcji Instalatora Windows do spisu aplikacji Instalatora Windows, funkcji, składników i poprawek zainstalowanych w systemie.

Począwszy od Instalatora Windows 3.0, użytkownicy i aplikacje, które mają uprawnienia administratora, mogą wyliczać aplikacje, funkcje, składniki i poprawki instalatora Windows zainstalowane w systemie przez wszystkich użytkowników. Administratorzy i aplikacje mogą uzyskać informacje na temat produktu lub poprawki dla określonego użytkownika lub wszystkich użytkowników w systemie. Aplikacje mogą uzyskać stan funkcji lub stan składnika dla określonego użytkownika.

Funkcje spisu dostępne począwszy od Instalatora Windows 3.0 mogą ograniczyć zakres elementów, które można znaleźć w kontekście instalacji i kontekście użytkownika. Istnieją trzy możliwe konteksty instalacji: na użytkownika, na maszynę i zarządzane na poziomie użytkownika. Kontekst użytkownika może być określonym użytkownikiem lub wszystkimi użytkownikami w systemie.

Wersje funkcji spisu Instalatora Windows wcześniejsze niż Instalator Windows 3.0 mogą wyliczać tylko elementy zainstalowane w systemie w kontekście komputera lub w kontekście poszczególnych użytkowników bieżącego użytkownika. To ograniczenie uniemożliwia pełny spis wszystkich produktów Instalatora Windows i poprawek zainstalowanych w systemie przez użytkowników innych niż bieżący użytkownik.

Wyliczanie produktów

Użyj funkcji MsiEnumProductsEx, aby wyliczyć aplikacje Instalatora Windows zainstalowane w systemie. Ta funkcja może znaleźć wszystkie instalacje poszczególnych maszyn i instalacje aplikacji (zarządzanych i niezarządzanych) dla bieżącego użytkownika i innych użytkowników w systemie. Użyj parametru dwContext, aby określić kontekst instalacji, który ma zostać znaleziony. Można określić dowolną lub dowolną kombinację możliwych kontekstów instalacji. Użyj parametru szUserSid, aby określić kontekst użytkownika aplikacji do znalezienia.

Wyliczanie łatek

Użyj funkcji MsiEnumPatchesEx, aby znaleźć poprawki zastosowane dla aplikacji. Ta funkcja może znaleźć poprawki stosowane dla określonej aplikacji lub dla wszystkich aplikacji w systemie. Ta funkcja może znaleźć poprawki stosowane do wszystkich instalacji poszczególnych maszyn i instalacji aplikacji (zarządzanych i niezarządzanych) dla bieżącego użytkownika i innych użytkowników w systemie.

Kontekstu instalacji i kontekstu użytkownika można użyć, aby ograniczyć przegląd poprawek do określonego kontekstu bądź we wszystkich kontekstach. Użyj parametru dwContext, aby określić kontekst instalacji, który ma zostać znaleziony. Można określić dowolną lub dowolną kombinację możliwych kontekstów instalacji. Użyj parametru szUserSid, aby określić kontekst użytkownika aplikacji do znalezienia.

Aby wyliczyć poprawki stosowane dla wszystkich produktów anonsowanych lub zainstalowanych przez wszystkich użytkowników w systemie

  • Wywołaj funkcję MsiEnumPatchesEx.
    • Użyj null dla wartości parametru szProductCode.
    • Użyj parametru "s-1-1-0" dla wartości parametru szUserSid.
    • Użyj "MSIINSTALLCONTEXT_ALL" jako wartości parametru dwContext.

Aby wyliczyć poprawki stosowane dla wszystkich produktów anonsowanych lub zainstalowanych przez wszystkich użytkowników w systemie

  1. Wywołaj funkcję MsiEnumProductsEx.

    • Użyj null dla wartości parametru szProductCode.
    • Użyj parametru "s-1-1-0" dla wartości parametru szUserSid.
    • Użyj ciągu "MSIINSTALLCONTEXT_ALL" dla wartości parametru dwContext.

    Funkcja udostępnia kod produktu, kontekst użytkownika i kontekst instalacji dla każdej znalezionej aplikacji.

  2. Dla każdej aplikacji wyliczonej w kroku 1 wywołaj MsiEnumPatchesEx, aby wyliczyć poprawki.

    Użyj kodów produktów, kontekstów użytkownika i kontekstów instalacji uzyskanych z MsiEnumProductsEx dla wartości szProductCode, szUserSidi dwContextoraz dla każdego wywołania funkcji MsiEnumProductsEx.

Uzyskiwanie informacji o produkcie

Użyj funkcji MsiGetProductInfoEx, aby uzyskać informacje na temat aplikacji anonsowanych lub zainstalowanych w systemie oraz właściwości, które można pobrać. Ta funkcja może uzyskać informacje o wystąpieniu aplikacji zainstalowanej na koncie użytkownika innym niż bieżący użytkownik, ale nie może wysyłać zapytań dotyczących wystąpienia produktu anonsowanego w kontekście niezarządzanym dla poszczególnych użytkowników dla konta użytkownika innego niż bieżący użytkownik.

Kontekst instalacji i kontekst użytkownika można określić, aby ograniczyć informacje dla aplikacji zainstalowanych w określonym kontekście. Użyj parametru dwContext, aby określić kontekst instalacji, który ma zostać znaleziony. Można określić tylko jeden z możliwych kontekstów instalacji. Użyj parametru szUserSid, aby określić kontekst użytkownika aplikacji do znalezienia.

Uzyskiwanie informacji o poprawce

Aplikacja może wywołać funkcję MsiGetPatchInfoEx w celu uzyskania informacji o zastosowaniu poprawki do określonego wystąpienia produktu. Za pomocą tej funkcji można pobrać właściwości, takie jak LocalPackage, Transformsi State. Nie wszystkie wartości właściwości dla aplikacji niezarządzanych przypisanych użytkownikowi są dostępne, jeśli użytkownik nie jest obecnie zalogowany na komputerze. Można określić tylko jeden z możliwych kontekstów instalacji.

Można określić kontekst instalacji i kontekst użytkownika, aby ograniczyć informacje do poprawek zastosowanych do aplikacji zainstalowanych w określonym kontekście. Użyj parametru dwContext, aby określić kontekst instalacji, który ma zostać znaleziony. Można określić tylko jeden z możliwych kontekstów instalacji. Użyj parametru szUserSid, aby określić kontekst użytkownika aplikacji do znalezienia.

Uzyskiwanie informacji o stanie składnika

Aplikacje mogą wywoływać funkcję MsiQueryComponentState w celu pobrania stanu zainstalowanego składnika. Ta funkcja określa, czy składnik jest zainstalowany lokalnie lub zainstalowany do uruchomienia ze źródła. Funkcja może wykonywać zapytania dotyczące składnika wystąpienia aplikacji zainstalowanej w ramach kont użytkowników innych niż bieżący użytkownik, pod warunkiem, że produkt nie jest anonsowany w kontekście niezarządzanym dla poszczególnych użytkowników dla konta użytkownika innego niż bieżący użytkownik.

Można określić kontekst instalacji i kontekst użytkownika, aby uzyskać stan składników dla aplikacji zainstalowanych w określonym kontekście. Użyj parametru dwContext, aby określić kontekst instalacji, który ma zostać znaleziony. Można określić tylko jeden z możliwych kontekstów instalacji. Użyj parametru szUserSid, aby określić kontekst użytkownika aplikacji do znalezienia.

Uzyskiwanie informacji o stanie funkcji

Aplikacje mogą wywoływać funkcję MsiQueryFeatureStateEx w celu pobrania stanu zainstalowanego dla funkcji produktu. Ta funkcja określa, czy funkcja jest anonsowana, zainstalowana lokalnie lub zainstalowana do uruchamiania ze źródła. Funkcja może służyć do wykonywania zapytań dotyczących dowolnej cechy wystąpienia aplikacji zainstalowanej na koncie komputera, dowolnego kontekstu w ramach bieżącego konta użytkownika lub kontekstu zarządzanego na poziomie użytkownika w ramach dowolnego konta użytkownika, innego niż bieżący użytkownik. Ta funkcja nie może wykonywać zapytań o aplikację zainstalowaną w kontekście niezarządzanym dla użytkownika dla konta użytkownika innego niż bieżący użytkownik. Można określić tylko jeden z możliwych kontekstów instalacji.

Można określić kontekst instalacji i kontekst użytkownika, aby uzyskać stan funkcji dla aplikacji zainstalowanych w określonym kontekście. Użyj parametru dwContext, aby określić kontekst instalacji, który ma zostać znaleziony. Można określić tylko jeden z możliwych kontekstów instalacji. Użyj parametru szUserSid, aby określić kontekst użytkownika aplikacji do znalezienia.