Udostępnij za pośrednictwem


<InstallChecks> , element (program rozruchowy)

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.

Zobacz też