<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 AssemblyCheck
zavá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 MsiProductCheck
ná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.