Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Element InstallChecks obsługuje uruchamianie różnych testów względem komputera lokalnego, aby upewnić się, że zainstalowano wszystkie odpowiednie wymagania wstępne dla aplikacji.
Składnia
<InstallChecks>
<AssemblyCheck
Property
Name
PublicKeyToken
Version
Language
ProcessorArchitecture
/>
<RegistryCheck
Property
Key
Value
/>
<ExternalCheck
PackageFile
Property
Arguments
/>
<FileCheck
Property
FileName
SearchPath
SpecialFolder
SearchDepth
/>
<MsiProductCheck
Property
Product
Feature
/>
<RegistryFileCheck
Property
Key
Value
FileName
SearchDepth
/>
</InstallChecks>
Sprawdzanie zestawu
Ten element jest opcjonalnym elementem podrzędnym elementu InstallChecks. Dla każdego wystąpienia programu program inicjujący AssemblyCheckupewni się, że zestaw zidentyfikowany przez element istnieje w globalnej pamięci podręcznej zestawów (GAC). Nie zawiera żadnych elementów i ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przechowywania wyniku. Do tej właściwości można odwoływać się z testu pod InstallConditions elementem, który jest elementem podrzędnym Command elementu. Aby uzyskać więcej informacji, zobacz <Commands> , Element. |
Name |
Wymagany. W pełni kwalifikowana nazwa zestawu do sprawdzenia. |
PublicKeyToken |
Wymagany. Skrócona forma klucza publicznego skojarzonego z tym silnie nazwanym zestawem. Wszystkie zestawy przechowywane w GAC muszą mieć nazwę, wersję i klucz publiczny. |
Version |
Wymagany. Wersja zestawu. Numer wersji ma format <wersji> głównej.<wersja pomocnicza>.<wersja kompilacji>.<wersja> poprawki. |
Language |
Opcjonalny. Język zlokalizowanego zestawu. Wartość domyślna to neutral. |
ProcessorArchitecture |
Opcjonalny. Procesor komputera przeznaczony dla tej instalacji. Wartość domyślna to msil. |
Sprawdzanie zewnętrzne
Ten element jest opcjonalnym elementem podrzędnym elementu InstallChecks. Dla każdego wystąpienia programu inicjuje program inicjujący ExternalCheckwykona nazwany program zewnętrzny w osobnym procesie i zapisze kod zakończenia we właściwości wskazanej przez Property. ExternalCheck jest przydatna do implementowania złożonych kontroli zależności lub gdy jedynym sposobem sprawdzenia istnienia składnika jest utworzenie wystąpienia.
ExternalCheck nie zawiera żadnych elementów i ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przechowywania wyniku. Do tej właściwości można odwoływać się z testu pod InstallConditions elementem, który jest elementem podrzędnym Command elementu. Aby uzyskać więcej informacji, zobacz <Commands> , Element. |
PackageFile |
Wymagany. Program zewnętrzny do wykonania. Program musi być częścią pakietu dystrybucji instalatora. |
Arguments |
Opcjonalny. Dostarcza argumenty wiersza polecenia do pliku wykonywalnego o nazwie .PackageFile |
Sprawdzanie pliku
Ten element jest opcjonalnym elementem podrzędnym elementu InstallChecks. Dla każdego wystąpienia FileCheckprogramu bootstrapper określi, czy nazwany plik istnieje, i zwróci numer wersji pliku. Jeśli plik nie ma numeru wersji, program inicjująco ustawia właściwość o nazwie Property na 0. Jeśli plik nie istnieje, Property nie jest ustawiona na żadną wartość.
FileCheck nie zawiera żadnych elementów i ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przechowywania wyniku. Do tej właściwości można odwoływać się z testu pod InstallConditions elementem, który jest elementem podrzędnym Command elementu. Aby uzyskać więcej informacji, zobacz <Commands> , Element. |
FileName |
Wymagany. Nazwa pliku do znalezienia. |
SearchPath |
Wymagany. Dysk lub folder, w którym należy wyszukać plik. Musi to być ścieżka względna, jeśli SpecialFolder jest przypisana; w przeciwnym razie musi być ścieżką bezwzględną. |
SpecialFolder |
Opcjonalny. Folder o specjalnym znaczeniu dla systemu Windows lub ClickOnce. Wartością domyślną jest interpretowanie SearchPath jako ścieżki bezwzględnej. Prawidłowe wartości obejmują następujące wartości:AppDataFolder. Folder danych aplikacji dla tej aplikacji ClickOnce; specyficzne dla bieżącego użytkownika.CommonAppDataFolder. Folder danych aplikacji używany przez wszystkich użytkowników.CommonFilesFolder. Folder Common Files dla bieżącego użytkownika.LocalDataAppFolder. Folder danych dla aplikacji nienależących do roamingu.ProgramFilesFolder. Standardowy folder Program Files dla aplikacji 32-bitowych.StartUpFolder. Folder zawierający wszystkie aplikacje uruchomione podczas uruchamiania systemu.SystemFolder. Folder zawierający 32-bitowe biblioteki DLL systemu.WindowsFolder. Folder zawierający instalację systemu Windows.WindowsVolume. Dysk lub partycja zawierająca instalację systemu Windows. |
SearchDepth |
Opcjonalny. Głębokość wyszukiwania podfolderów dla nazwanego pliku. Wyszukiwanie jest najpierw szczegółowe. Wartość domyślna to 0, która ogranicza wyszukiwanie do folderu najwyższego poziomu określonego przez SpecialFolder i SearchPath. |
MsiProductCheck
Ten element jest opcjonalnym elementem podrzędnym elementu InstallChecks. Dla każdego wystąpienia programu program inicjuje MsiProductChecksprawdzanie, czy określona instalacja Instalatora Windows firmy Microsoft została uruchomiona do momentu ukończenia. Wartość właściwości jest ustawiana w zależności od stanu zainstalowanego produktu. Wartość dodatnia wskazuje, że produkt jest zainstalowany, 0 lub -1 wskazuje, że nie jest zainstalowany. (Aby uzyskać więcej informacji, zobacz funkcję MsiQueryFeatureState zestawu SDK Instalatora Windows). . Jeśli Instalator Windows nie jest zainstalowany na komputerze, Property nie jest ustawiony.
MsiProductCheck nie zawiera żadnych elementów i ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przechowywania wyniku. Do tej właściwości można odwoływać się z testu pod InstallConditions elementem, który jest elementem podrzędnym Command elementu. Aby uzyskać więcej informacji, zobacz <Commands> , Element. |
Product |
Wymagany. Identyfikator GUID zainstalowanego produktu. |
Feature |
Opcjonalny. Identyfikator GUID dla określonej funkcji zainstalowanej aplikacji. |
Sprawdzanie rejestru
Ten element jest opcjonalnym elementem podrzędnym elementu InstallChecks. Dla każdego wystąpienia programu program inicjuje RegistryChecksprawdzanie, czy określony klucz rejestru istnieje, czy ma wskazaną wartość.
RegistryCheck nie zawiera żadnych elementów i ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przechowywania wyniku. Do tej właściwości można odwoływać się z testu pod InstallConditions elementem, który jest elementem podrzędnym Command elementu. Aby uzyskać więcej informacji, zobacz <Commands> , Element. |
Key |
Wymagany. Nazwa klucza rejestru. |
Value |
Opcjonalny. Nazwa wartości rejestru do pobrania. Wartość domyślna to zwracanie tekstu wartości domyślnej. Value musi być ciągiem lub dwordem. |
RegistryFileCheck
Ten element jest opcjonalnym elementem podrzędnym elementu InstallChecks. Dla każdego wystąpienia programu program inicjujący RegistryFileCheckpobiera wersję określonego pliku, najpierw próbując pobrać ścieżkę do pliku z określonego klucza rejestru. Jest to szczególnie przydatne, jeśli chcesz wyszukać plik w katalogu określonym jako wartość w rejestrze.
RegistryFileCheck nie zawiera żadnych elementów i ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przechowywania wyniku. Do tej właściwości można odwoływać się z testu pod InstallConditions elementem, który jest elementem podrzędnym Command elementu. Aby uzyskać więcej informacji, zobacz <Commands> , Element. |
Key |
Wymagany. Nazwa klucza rejestru. Jego wartość jest interpretowana jako ścieżka do pliku, chyba że File atrybut jest ustawiony. Jeśli ten klucz nie istnieje, Property nie jest ustawiony. |
Value |
Opcjonalny. Nazwa wartości rejestru do pobrania. Wartość domyślna to zwracanie tekstu wartości domyślnej. Value musi być ciągiem. |
FileName |
Opcjonalny. Nazwa pliku. Jeśli zostanie określona, przyjmuje się, że wartość uzyskana z klucza rejestru jest ścieżką katalogu, a ta nazwa jest dołączana do niego. Jeśli nie zostanie określona, przyjmuje się, że wartość zwrócona z rejestru jest pełną ścieżką do pliku. |
SearchDepth |
Opcjonalny. Głębokość wyszukiwania podfolderów dla nazwanego pliku. Wyszukiwanie jest najpierw szczegółowe. Wartość domyślna to 0, która ogranicza wyszukiwanie do folderu najwyższego poziomu określonego przez wartość klucza rejestru. |
Uwagi
Chociaż elementy poniżej InstallChecks definiują testy do uruchomienia, nie są one wykonywane. Aby wykonać testy, należy utworzyć Command elementy pod elementem Commands .
Przykład
Poniższy przykład kodu przedstawia InstallChecks element używany w pliku produktu dla programu .NET Framework.
<InstallChecks>
<ExternalCheck Property="DotNetInstalled" PackageFile="dotnetchk.exe" />
<RegistryCheck Property="IEVersion" Key="HKLM\Software\Microsoft\Internet Explorer" Value="Version" />
</InstallChecks>
Installconditions
Gdy InstallChecks są oceniane, tworzą właściwości. Właściwości są następnie używane przez InstallConditions program w celu określenia, czy pakiet powinien być instalowany, pomijany, czy kończy się niepowodzeniem. W poniższej tabeli wymieniono element InstallConditions:
| Warunek | opis |
|---|---|
FailIf |
Jeśli jakikolwiek FailIf warunek ma wartość true, pakiet zakończy się niepowodzeniem. Pozostałe warunki nie zostaną ocenione. |
BypassIf |
Jeśli jakikolwiek BypassIf warunek ma wartość true, pakiet zostanie pominięty. Pozostałe warunki nie zostaną ocenione. |
Wstępnie zdefiniowane właściwości
W poniższej tabeli wymieniono BypassIf elementy i FailIf :
| Właściwości | Uwagi | Możliwe wartości |
|---|---|---|
Version9X |
Numer wersji systemu operacyjnego Windows 9X. | 4.10 = Windows 98 |
VersionNT |
Numer wersji systemu operacyjnego Windows. | Major.Minor.ServicePack |
VersionNT64 |
Numer wersji 64-bitowego systemu operacyjnego Windows. | Major.Minor.ServicePack. |
VersionMsi |
Numer wersji usługi Instalatora Windows. | 2.0 = Instalator Windows 2.0 |
AdminUser |
Określa, czy użytkownik ma uprawnienia administratora w systemie operacyjnym Windows NT. | 0 = brak uprawnień administratora 1 = uprawnienia administratora |
Aby na przykład zablokować instalację na komputerze z systemem Windows 8, użyj kodu, takiego jak:
<!-- Block install on Windows 8 -->
<FailIf Property="VersionNT64" Compare="VersionLessThan" Value="6.2" String="InvalidPlatform"/>
Aby pominąć uruchamianie testów instalacji, jeśli warunek FailIf lub BypassIf jest spełniony, użyj atrybutu BeforeInstallChecks. Na przykład:
<!-- Block install and do not evaluate install checks if user does not have admin privileges -->
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired" BeforeInstallChecks="true"/>
Uwaga
Atrybut BeforeInstallChecks jest obsługiwany od wersji Visual Studio 2019 Update 9.