Sdílet prostřednictvím


<InstallChecks> – element (bootstrapper)

Tento InstallChecks prvek podporuje spuštění různých testů na místním počítači, aby se zajistilo, že byly nainstalovány všechny příslušné požadavky pro aplikaci.

Syntaxe

<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>

Kontrola sestavení

Tento prvek je volitelný podřízený prvek InstallChecks. Pro každou instanci AssemblyCheckzaváděcího nástroje se ujistěte, že sestavení identifikované elementem existuje v globální mezipaměti sestavení (GAC). Neobsahuje žádné prvky a má následující atributy.

Atribut Popis
Property Požadováno. Název vlastnosti pro uložení výsledku. Na tuto vlastnost lze odkazovat z testu pod InstallConditions elementem, což je podřízený prvek Command . Další informace naleznete v tématu <Příkazy> – element.
Name Povinný: Plně kvalifikovaný název sestavení, který chcete zkontrolovat.
PublicKeyToken Povinný: Zkrácená forma veřejného klíče přidruženého k tomuto sestavení se silným názvem. Všechna sestavení uložená v GAC musí mít název, verzi a veřejný klíč.
Version Povinný: Verze sestavení.

Číslo verze má hlavní verzi> formátu.< <podverze>.<verze> sestavení.<verze> revize.
Language Nepovinné. Jazyk lokalizovaného sestavení. Výchozí hodnota je neutral.
ProcessorArchitecture Nepovinné. Procesor počítače, na který tato instalace cílí. Výchozí hodnota je msil.

Externí kontrola

Tento prvek je volitelný podřízený prvek InstallChecks. Pro každou instanci ExternalCheck, bootstrapper spustí pojmenovaný externí program v samostatném procesu a uloží svůj ukončovací kód ve vlastnosti označené Property. ExternalCheck je užitečný pro implementaci složitých kontrol závislostí nebo v případě, že jediným způsobem, jak zjistit existenci komponenty, je vytvořit instanci.

ExternalCheck neobsahuje žádné prvky a má následující atributy.

Atribut Popis
Property Požadováno. Název vlastnosti pro uložení výsledku. Na tuto vlastnost lze odkazovat z testu pod InstallConditions elementem, což je podřízený prvek Command . Další informace naleznete v tématu <Příkazy> – element.
PackageFile Povinný: Externí program, který se má spustit. Program musí být součástí instalačního distribučního balíčku.
Arguments Nepovinné. Poskytuje argumenty příkazového řádku spustitelnému souboru s názvem PackageFile.

Kontrola souborů

Tento prvek je volitelný podřízený prvek InstallChecks. Pro každou instanci FileCheck, bootstrapper určí, zda pojmenovaný soubor existuje, a vrátí číslo verze souboru. Pokud soubor nemá číslo verze, bootstrapper nastaví vlastnost pojmenovanou 0 Property . Pokud soubor neexistuje, Property není nastaven na žádnou hodnotu.

FileCheck neobsahuje žádné prvky a má následující atributy.

Atribut Popis
Property Požadováno. Název vlastnosti pro uložení výsledku. Na tuto vlastnost lze odkazovat z testu pod InstallConditions elementem, což je podřízený prvek Command . Další informace naleznete v tématu <Příkazy> – element.
FileName Povinný: Název souboru, který chcete najít.
SearchPath Povinný: Disk nebo složka, ve které chcete soubor vyhledat. Musí se jednat o relativní cestu, pokud SpecialFolder je přiřazena. Jinak musí být absolutní cestou.
SpecialFolder Nepovinné. Složka, která má zvláštní význam pro Systém Windows nebo ClickOnce. Výchozí hodnota je interpretovat SearchPath jako absolutní cestu. Platné hodnoty zahrnují následující:

AppDataFolder. Složka dat aplikace pro tuto aplikaci ClickOnce; specifické pro aktuálního uživatele.

CommonAppDataFolder. Složka dat aplikace používaná všemi uživateli.

CommonFilesFolder. Složka Common Files pro aktuálního uživatele.

LocalDataAppFolder. Datová složka pro ne roamingové aplikace.

ProgramFilesFolder. Standardní složka Program Files pro 32bitové aplikace.

StartUpFolder. Složka, která obsahuje všechny aplikace spuštěné při spuštění systému.

SystemFolder. Složka, která obsahuje 32bitové systémové knihovny DLL.

WindowsFolder. Složka, která obsahuje instalaci systému Windows.

WindowsVolume. Jednotka nebo oddíl, který obsahuje instalaci systému Windows.
SearchDepth Nepovinné. Hloubka, ve které se má prohledávat podsložky pojmenovaného souboru. Hledání je nejprve hloubkové. Výchozí hodnota je 0, což omezuje hledání na složku nejvyšší úrovně určenou pomocí SpecialFolder a cesty SearchPath.

MsiProductCheck

Tento prvek je volitelný podřízený prvek InstallChecks. Pro každou instanci MsiProductChecknástroje bootstrapper zkontroluje, zda je zadaná instalace instalační služby systému Microsoft Windows spuštěna, dokud se nedokončí. Hodnota vlastnosti se nastavuje v závislosti na stavu nainstalovaného produktu. Kladná hodnota označuje, že je produkt nainstalovaný, 0 nebo -1 znamená, že není nainstalovaný. (Další informace najdete ve funkci MsiQueryFeatureState sady SDK instalační služby systému Windows.) . Pokud instalační služba systému Windows není v počítači nainstalována, Property není nastavena.

MsiProductCheck neobsahuje žádné prvky a má následující atributy.

Atribut Popis
Property Požadováno. Název vlastnosti pro uložení výsledku. Na tuto vlastnost lze odkazovat z testu pod InstallConditions elementem, což je podřízený prvek Command . Další informace naleznete v tématu <Příkazy> – element.
Product Povinný: Identifikátor GUID nainstalovaného produktu.
Feature Nepovinné. Identifikátor GUID pro konkrétní funkci nainstalované aplikace.

Kontrola registru

Tento prvek je volitelný podřízený prvek InstallChecks. Pro každou instanci RegistryCheck, bootstrapper zkontroluje, zda zadaný klíč registru existuje, nebo zda má uvedenou hodnotu.

RegistryCheck neobsahuje žádné prvky a má následující atributy.

Atribut Popis
Property Požadováno. Název vlastnosti pro uložení výsledku. Na tuto vlastnost lze odkazovat z testu pod InstallConditions elementem, což je podřízený prvek Command . Další informace naleznete v tématu <Příkazy> – element.
Key Povinný: Název klíče registru.
Value Nepovinné. Název hodnoty registru, která se má načíst. Výchozí hodnota je vrátit text výchozí hodnoty. Value musí být řetězec nebo DWORD.

RegistryFileCheck

Tento prvek je volitelný podřízený prvek InstallChecks. Pro každou instanci RegistryFileCheck, bootstrapper načte verzi zadaného souboru, nejprve se pokusí načíst cestu k souboru ze zadaného klíče registru. To je zvlášť užitečné, pokud chcete vyhledat soubor v adresáři určeném jako hodnota v registru.

RegistryFileCheck neobsahuje žádné prvky a má následující atributy.

Atribut Popis
Property Požadováno. Název vlastnosti pro uložení výsledku. Na tuto vlastnost lze odkazovat z testu pod InstallConditions elementem, což je podřízený prvek Command . Další informace naleznete v tématu <Příkazy> – element.
Key Povinný: Název klíče registru. Jeho hodnota je interpretována jako cesta k souboru, pokud File není nastaven atribut. Pokud tento klíč neexistuje, Property není nastavený.
Value Nepovinné. Název hodnoty registru, která se má načíst. Výchozí hodnota je vrátit text výchozí hodnoty. Value musí být řetězec.
FileName Nepovinné. Název souboru. Pokud je zadána hodnota získaná z klíče registru, předpokládá se, že se jedná o cestu k adresáři a tento název se k němu připojí. Pokud není zadána, hodnota vrácená z registru se předpokládá jako úplná cesta k souboru.
SearchDepth Nepovinné. Hloubka, ve které se má prohledávat podsložky pojmenovaného souboru. Hledání je nejprve hloubkové. Výchozí hodnota je 0, což omezuje hledání na složku nejvyšší úrovně určenou hodnotou klíče registru.

Poznámky

Zatímco prvky pod InstallChecks definují testy, které se mají spustit, nespustí je. Chcete-li provést testy, je nutné vytvořit Command prvky pod elementem Commands .

Příklad

Následující příklad kódu ukazuje InstallChecks prvek, který se používá v souboru produktu pro rozhraní .NET Framework.

<InstallChecks>
    <ExternalCheck Property="DotNetInstalled" PackageFile="dotnetchk.exe" />
    <RegistryCheck Property="IEVersion" Key="HKLM\Software\Microsoft\Internet Explorer" Value="Version" />
</InstallChecks>

Installconditions

Při InstallChecks vyhodnocování vytvoří vlastnosti. Vlastnosti se pak použijí InstallConditions k určení, jestli se má balíček nainstalovat, obejít nebo selhat. Následující tabulka uvádí InstallConditions:

Podmínka Popis
FailIf Pokud se některá FailIf podmínka vyhodnotí jako true, balíček selže. Zbývající podmínky nebudou vyhodnoceny.
BypassIf Pokud se některá BypassIf podmínka vyhodnotí jako true, balíček se vynechá. Zbývající podmínky nebudou vyhodnoceny.

Předdefinované vlastnosti

Následující tabulka obsahuje seznam BypassIf prvků a FailIf prvků:

Vlastnost Notes Možné hodnoty
Version9X Číslo verze operačního systému Windows 9X 4.10 = Windows 98
VersionNT Číslo verze operačního systému Windows Major.Minor.ServicePack
VersionNT64 Číslo verze 64bitového operačního systému Windows Major.Minor.ServicePack.
VersionMsi Číslo verze služby Instalační služba systému Windows. 2.0 = Instalační služba systému Windows 2.0
AdminUser Určuje, jestli má uživatel oprávnění správce v operačním systému systém Windows NT. 0 = žádná oprávnění správce

1 = oprávnění správce

Pokud například chcete blokovat instalaci na počítači se systémem Windows 8, použijte například následující kód:

    <!-- Block install on Windows 8 -->
    <FailIf Property="VersionNT64" Compare="VersionLessThan" Value="6.2" String="InvalidPlatform"/>

Chcete-li přeskočit spuštěné kontroly instalace, pokud je splněna podmínka FailIf nebo BypassIf, použijte atribut BeforeInstallChecks. Příklad:

    <!-- 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"/>

Poznámka:

Atribut BeforeInstallChecks se podporuje od verze Visual Studio 2019 Update 9.

Viz také