Uzyskiwanie informacji kontekstowych dla niestandardowych akcji z odroczonym wykonaniem
Ponieważ skrypt instalacji można wykonać poza sesją instalacji, w której została zapisana, sesja może już nie istnieć podczas wykonywania skryptu instalacji. W takim przypadku oryginalny uchwyt sesji i właściwości ustawione podczas sekwencji instalacji nie są dostępne dla akcji niestandardowej o odroczonym wykonaniu. Wszystkie funkcje, które wymagają uchwytu sesji, są ograniczone do kilku metod, które mogą pobierać informacje kontekstowe, inaczej właściwości, które są potrzebne podczas wykonywania skryptu, muszą zostać zapisane w skrypcie instalacji. Na przykład odroczone akcje niestandardowe wywołujące biblioteki linków dynamicznych (DLL) przekazują uchwyt, który może służyć tylko do uzyskania bardzo ograniczonej ilości informacji. Do funkcji, które nie wymagają dojścia sesji, można uzyskać dostęp z odroczonej akcji niestandardowej.
Akcje niestandardowe z odroczonym wykonaniem są ograniczone do wywoływania tylko następujących funkcji wymagających uchwytu.
Funkcja | Opis |
---|---|
MsiGetProperty | Obsługuje ograniczony zestaw właściwości używanych z odroczonego wykonywania akcji niestandardowych: właściwość CustomActionData, właściwość ProductCode i właściwość UserSID.Zatwierdzanie akcji niestandardowych nie może użyć funkcji MsiGetProperty w celu uzyskania właściwościProductCode. Wykonywanie akcji niestandardowych może korzystać z właściwości CustomActionData, aby uzyskać kod produktu. |
MsiFormatRecord | Obsługuje ograniczony zestaw właściwości w przypadku użycia z odroczonego wykonywania niestandardowych akcji: właściwości CustomActionData i ProductCode. |
MsiGetMode | W przypadku wywołania z odroczonego wykonywania akcji niestandardowych, zatwierdzania akcji niestandardowychlub wycofywania akcji niestandardowych, MsiGetMode zwraca wartość True lub False, gdy żąda się sprawdzenia parametrów trybu MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT lub MSIRUNMODE_ROLLBACK. Żądanie sprawdzania dowolnych parametrów trybu uruchamiania z akcji niestandardowych takich jak odroczone, zatwierdzenie lub wycofanie zwraca wartość Fałsz. |
MsiGetLanguage | Identyfikator języka liczbowego dla bieżącego produktu.Zatwierdź akcje niestandardowe, nie może użyć funkcji MsiGetLanguage. Akcje niestandardowe mogą użyć właściwości CustomActionData, aby uzyskać numeryczny identyfikator języka. |
MsiProcessMessage | Przetwarza komunikaty o błędach lub postępie akcji niestandardowej. |
Niestandardowa akcja napisana w JScript lub VBScript wymaga obiektu sesji instalacyjnej . Jest to typ obiekt sesji, a instalator dołącza go do skryptu o nazwie "Sesja". Ponieważ obiekt sesji może nie istnieć podczas wycofywania instalacji, odroczona akcja niestandardowa napisana w skrypcie musi używać jednej z następujących metod lub właściwości obiektu sesji , aby pobrać jego kontekst.
Nazwa | Opis |
---|---|
właściwości trybu | Zwraca wartość True tylko dla MSIRUNMODE_SCHEDULED. |
właściwość (obiekt sesji) | Zwraca właściwość CustomActionData, właściwość ProductCode lub właściwość UserSID. |
właściwość języka (obiekt sesji) | Zwraca numeryczny identyfikator języka sesji instalacji. |
Metoda wiadomości | Wywołana w celu obsługi błędów i postępu. |
Właściwości Instalatora | Zwraca obiekt nadrzędny, który jest używany dla funkcji innych niż sesja, takich jak dostęp do rejestru i zarządzanie konfiguracją instalatora. |
Wartości właściwości ustawione w czasie przetwarzania sekwencji instalacji w skrycie mogą być niedostępne w momencie wykonywania skryptu. Tylko następujący ograniczony zestaw właściwości jest zawsze dostępny dla akcji niestandardowych podczas wykonywania skryptu.
Nazwa właściwości | Opis |
---|---|
CustomActionData | Wartość w momencie, gdy akcja niestandardowa jest przetwarzana w tabeli sekwencji. Właściwość CustomActionData jest dostępna tylko dla akcji niestandardowych z odroczonym wykonaniem. Natychmiastowe akcje niestandardowe nie mają dostępu do tej właściwości. |
ProductCode | Unikatowy kod produktu, identyfikator GUID ciągu. |
UserSID | Ustaw przez instalatora identyfikator zabezpieczeń użytkownika (SID). |
Jeśli inne dane właściwości są wymagane przez niestandardową akcję wykonania odroczonego, to ich wartości muszą być przechowywane w skrypcie instalacji. Można to zrobić przy użyciu drugiej akcji niestandardowej.
Aby zapisać wartość właściwości w skrypcie instalacyjnym w celu użycia podczas odroczonego wykonania akcji niestandardowej
- Wstaw małą akcję niestandardową do sekwencji instalacji, która ustawia zadaną właściwość na właściwość o tej samej nazwie, co akcja niestandardowa o odroczonym wykonaniu. Na przykład, jeśli klucz główny dla akcji niestandardowej o odroczonym wykonaniu to "MyAction", ustaw właściwość nazwaną "MyAction" na właściwość X, którą należy pobrać. Należy ustawić parametr "MyAction" w sekwencji instalacji przed akcją niestandardową "MyAction". Mimo że dowolny typ akcji niestandardowej może ustawić dane kontekstowe, najprostszą metodą jest użycie akcji niestandardowej do przypisywania właściwości (na przykład Typ akcji niestandardowej 51).
- W czasie przetwarzania sekwencji instalacji instalator zapisze wartość właściwości X do skryptu wykonywania jako wartość właściwości CustomActionData.
Tematy pokrewne