Wskazówki dotyczące pakietów
Ponieważ kontrola konta użytkownika (UAC) w systemie Windows Vista ogranicza uprawnienia podczas instalacji, deweloperzy pakietów Instalatora Windows nie powinni zakładać, że ich instalacja zawsze ma dostęp do wszystkich części systemu.
Pakiet instalatora, który można pomyślnie wdrożyć dla użytkowników standardowych za pośrednictwem zasad grupy, powinien również działać z funkcją UAC w systemie Windows Vista. Wyjątki od tego mogą wystąpić, jeśli tabeli InstallUISequence zawiera akcję LaunchConditions lub tabeli LaunchCondition zawiera warunek oparty na właściwości Privileged. Deweloperzy pakietów Instalatora Windows powinni zatem przestrzegać poniższych wytycznych, aby upewnić się, że ich pakiet działa z funkcją kontroli dostępu użytkownika i systemem Windows Vista.
- W przypadku dołączania kontekstu instalacji warunku z akcją w tabeli InstallUISequenceużyj instrukcji warunkowej na podstawie właściwości Privileged. Nie używaj warunku na podstawie właściwości AdminUser.
- W przypadku dołączania kontekstu instalacji z warunkami uruchamiania instalacji użyj niestandardowego typu akcji 19 w tabeli InstallExecuteSequence i ustaw akcję niestandardową na podstawie właściwości Privileged. Nie należy używać akcji w tabeli LaunchCondition z warunkiem opartym na właściwości AdminUser lub privileged.
- Aby odczytać lub zmodyfikować konfigurację systemu, użyj niestandardowej akcji wykonania odroczonego w tabeli InstallExecuteSequence. Nie należy używać akcji niestandardowych wykonywania natychmiastowego w tabeli InstallUISequence, aby zmodyfikować konfigurację systemu.
- Aby zmodyfikować części systemu, które nie są specyficzne dla użytkownika, użyj odroczonej akcji niestandardowej w tabeli InstallExecuteSequence. W niestandardowym typie akcji należy uwzględnić bit msidbCustomActionTypeNoImpersonate.
- Pomiń bit 3 z wartości właściwości Word Count Summary, aby wskazać, że pakiet może być wymagany do podniesienia poziomu. Nie dołączaj tego bitu, chyba że podniesione uprawnienia nie są wymagane do zainstalowania tego pakietu.
- Dołącz manifest z żądanym poziomem wykonania aplikacji.
- Dołącz certyfikat do MsiPatchCertificate tabeli oryginalnego pakietu i podpisz wszystkie poprawki przy użyciu tego samego certyfikatu.
- Jeśli do zainstalowania pakietu Instalatora Windows jest wymagany podwyższony poziom uprawnień, autor pakietu powinien zawierać atrybut ElevationShield dla kontrolki PushButton używany do rozpoczęcia instalacji. Spowoduje to wyświetlenie alertu dla użytkownika, który kliknie przycisk, spowoduje wyświetlenie okna dialogowego kontrola konta użytkownika z żądaniem autoryzacji administratora w celu kontynuowania instalacji.
- Ustaw właściwość MSIDEPLOYMENTCOMPLIANT na 1, aby wskazać Instalatorowi Windows, że pakiet został utworzony i przetestowany pod kątem zgodności z funkcją UAC w systemie Windows Vista. Jeśli ta właściwość nie jest ustawiona, instalator określi, czy pakiet jest zgodny z funkcją kontrola konta użytkownika.
Poza zasad grupymożna użyć następującego sprawdzania zgodności kontroli dostępu użytkownika w systemie Windows XP.
Aby sprawdzić zgodność kontroli dostępu użytkownika poza zasad grupy
Zaloguj się na komputerze jako administrator.
Anonsuj pakiet dla instalacji na maszynę:
msiexec /jmpackage.msi
Wyloguj się z komputera.
Zaloguj się na komputerze jako użytkownik standardowy.
Spróbuj zainstalować anonsowany pakiet:
msiexec /ipackage.msi
W większości przypadków, jeśli instalacja zakończy się pomyślnie, pakiet jest zgodny ze standardem UAC.
Ustaw właściwość MSIDEPLOYMENTCOMPLIANT w pakiecie na 1.
Przetestuj poprawną instalację pakietu przy użyciu systemu Windows Vista.