<InstallChecks>-Element (Bootstrapper)
Mit dem InstallChecks-Element werden auf dem lokalen Computer verschiedene Tests ausgeführt, um sicherzustellen, dass alle erforderlichen Komponenten für eine Anwendung installiert sind.
<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>
AssemblyCheck
Dieses Element ist ein optionales untergeordnetes Element von InstallChecks. Für jede Instanz von AssemblyCheck prüft der Bootstrapper, ob die von dem Element bezeichnete Assembly im globalen Assemblycache (GAC) enthalten ist. Das Element enthält keine Elemente und verfügt über die folgenden Attribute.
Attribute |
Beschreibungen |
---|---|
Property |
Erforderlich. Der Name der Eigenschaft, in der das Ergebnis gespeichert werden soll. Auf diese Eigenschaft kann in einem Test unter dem InstallConditions-Element verwiesen werden. Bei diesem handelt es sich um ein untergeordnetes Element des Command-Elements. Weitere Informationen finden Sie unter <Commands>-Element (Bootstrapper). |
Name |
Erforderlich. Der vollqualifizierte Name der zu überprüfenden Assembly. |
PublicKeyToken |
Erforderlich. Die abgekürzte Form des öffentlichen Schlüssels, der dieser Assembly mit starkem Namen zugeordnet ist. Alle im GAC gespeicherten Assemblys müssen über einen Namen, eine Version und einen öffentlichen Schlüssel verfügen. |
Version |
Erforderlich. Die Version der Assembly. Die Versionsnummer hat das Format <Major Version>.<Minor Version>.<Build Version>.<Revision Version>. |
Language |
Optional. Die Sprache einer lokalisierten Assembly. Der Standardwert lautet neutral. |
ProcessorArchitecture |
Optional. Der für diese Installation verwendete Computerprozessor. Der Standardwert lautet msil. |
ExternalCheck
Dieses Element ist ein optionales untergeordnetes Element von InstallChecks. Für jede Instanz von ExternalCheck führt der Bootstrapper das benannte externe Programm in einem separaten Prozess aus und speichert seinen Exitcode in der von Property angegebenen Eigenschaft. ExternalCheck ist nützlich für das Implementieren von komplexen Abhängigkeitsüberprüfungen, oder wenn nur durch Instanziierung einer Komponente festgestellt werden kann, ob diese vorhanden ist.
ExternalCheck enthält keine Elemente und verfügt über die folgenden Attribute.
Attribute |
Beschreibungen |
---|---|
Property |
Erforderlich. Der Name der Eigenschaft, in der das Ergebnis gespeichert werden soll. Auf diese Eigenschaft kann in einem Test unter dem InstallConditions-Element verwiesen werden. Bei diesem handelt es sich um ein untergeordnetes Element des Command-Elements. Weitere Informationen finden Sie unter <Commands>-Element (Bootstrapper). |
PackageFile |
Erforderlich. Das externe Programm, das ausgeführt werden soll. Das Programm muss Teil des Setupverteilungspakets sein. |
Arguments |
Optional. Gibt Befehlszeilenargumente für die von PackageFile benannte ausführbare Datei an. |
FileCheck
Dieses Element ist ein optionales untergeordnetes Element von InstallChecks. Für jede Instanz von FileCheck ermittelt der Bootstrapper, ob die benannte Datei vorhanden ist, und gibt die Versionsnummer der Datei zurück. Wenn die Datei keine Versionsnummer besitzt, legt der Bootstrapper die von Property benannte Eigenschaft auf 0 fest. Wenn die Datei nicht vorhanden ist, wird Property auf keinen Wert festgelegt.
FileCheck enthält keine Elemente und verfügt über die folgenden Attribute.
Attribute |
Beschreibungen |
---|---|
Property |
Erforderlich. Der Name der Eigenschaft, in der das Ergebnis gespeichert werden soll. Auf diese Eigenschaft kann in einem Test unter dem InstallConditions-Element verwiesen werden. Bei diesem handelt es sich um ein untergeordnetes Element des Command-Elements. Weitere Informationen finden Sie unter <Commands>-Element (Bootstrapper). |
FileName |
Erforderlich. Der Name der zu suchenden Datei. |
SearchPath |
Erforderlich. Der Datenträger oder der Ordner, auf bzw. in dem nach der Datei gesucht werden soll. Wenn SpecialFolder zugewiesen ist, muss ein relativer Pfad angegeben werden, andernfalls ein absoluter Pfad. |
SpecialFolder |
Optional. Ein Ordner mit besonderer Bedeutung für Windows oder ClickOnce. Standardmäßig wird SearchPath als absoluter Pfad interpretiert. Folgende Werte sind gültig: AppDataFolder. Der Anwendungsdatenordner für diese ClickOnce-Anwendung. Dieser gilt ausschließlich für den aktuellen Benutzer. CommonAppDataFolder. Der von allen Benutzern verwendete Anwendungsdatenordner. CommonFilesFolder. Der Ordner Gemeinsame Dateien für den aktuellen Benutzer. LocalDataAppFolder. Der Datenordner für nicht roamingfähige Anwendungen. ProgramFilesFolder. Der Standardordner Programme für 32-Bit-Anwendungen. StartUpFolder. Der Ordner, der alle Anwendungen enthält, die beim Systemstart gestartet werden. SystemFolder. Der Ordner, der 32-Bit-System-DLLs enthält. WindowsFolder. Der Ordner, der die Windows-Systeminstallation enthält. WindowsVolume. Das Laufwerk oder die Partition, das bzw. die die Windows-Systeminstallation enthält. |
SearchDepth |
Optional. Die Suchtiefe, die bei der Suche nach der benannten Datei in Unterordnern berücksichtigt wird. Es wird die Tiefensuche verwendet. Der Standardwert ist 0 (null), wodurch die Suche auf den von SpecialFolder und SearchPath angegebenen Ordner der obersten Ebene beschränkt wird. |
MsiProductCheck
Dieses Element ist ein optionales untergeordnetes Element von InstallChecks. Für jede Instanz von MsiProductCheck überprüft der Bootstrapper, ob die angegebene Microsoft Windows Installer-Installation vollständig ausgeführt wurde. Der Eigenschaftswert wird abhängig vom Zustand dieses installierten Produkts festgelegt. Ein positiver Wert gibt an, dass das Produkt installiert ist, 0 oder -1 gibt an, dass es nicht installiert ist. (Weitere Informationen erhalten Sie im Zusammenhang mit der Windows Installer SDK-Funktion MsiQueryFeatureState.) . Wenn Windows Installer nicht auf dem Computer installiert wurde, ist Property nicht festgelegt.
MsiProductCheck enthält keine Elemente und verfügt über die folgenden Attribute.
Attribute |
Beschreibungen |
---|---|
Property |
Erforderlich. Der Name der Eigenschaft, in der das Ergebnis gespeichert werden soll. Auf diese Eigenschaft kann in einem Test unter dem InstallConditions-Element verwiesen werden. Bei diesem handelt es sich um ein untergeordnetes Element des Command-Elements. Weitere Informationen finden Sie unter <Commands>-Element (Bootstrapper). |
Product |
Erforderlich. Die GUID für das installierte Produkt. |
Feature |
Optional. Die GUID für ein bestimmtes Feature der installierten Anwendung. |
RegistryCheck
Dieses Element ist ein optionales untergeordnetes Element von InstallChecks. Für jede Instanz von RegistryCheck überprüft der Bootstrapper, ob der angegebene Registrierungsschlüssel vorhanden ist oder den angegebenen Wert aufweist.
RegistryCheck enthält keine Elemente und verfügt über die folgenden Attribute.
Attribute |
Beschreibungen |
---|---|
Property |
Erforderlich. Der Name der Eigenschaft, in der das Ergebnis gespeichert werden soll. Auf diese Eigenschaft kann in einem Test unter dem InstallConditions-Element verwiesen werden. Bei diesem handelt es sich um ein untergeordnetes Element des Command-Elements. Weitere Informationen finden Sie unter <Commands>-Element (Bootstrapper). |
Key |
Erforderlich. Der Name des Registrierungsschlüssels. |
Value |
Optional. Der Name des abzurufenden Registrierungswerts. Standardmäßig wird der Text des Standardwerts zurückgegeben. Value muss entweder eine Zeichenfolge oder ein DWORD sein. |
RegistryFileCheck
Dieses Element ist ein optionales untergeordnetes Element von InstallChecks. Für jede Instanz von RegistryFileCheck ruft der Bootstrapper die Version der angegebenen Datei ab, wobei er zuerst versucht, den Pfad der Datei aus dem angegebenen Registrierungsschlüssel abzurufen. Dies ist besonders nützlich, wenn Sie eine Datei in einem Verzeichnis suchen, das als Wert in der Registrierung angegeben ist.
RegistryFileCheck enthält keine Elemente und verfügt über die folgenden Attribute.
Attribute |
Beschreibungen |
---|---|
Property |
Erforderlich. Der Name der Eigenschaft, in der das Ergebnis gespeichert werden soll. Auf diese Eigenschaft kann in einem Test unter dem InstallConditions-Element verwiesen werden. Bei diesem handelt es sich um ein untergeordnetes Element des Command-Elements. Weitere Informationen finden Sie unter <Commands>-Element (Bootstrapper). |
Key |
Erforderlich. Der Name des Registrierungsschlüssels. Der entsprechende Wert wird als der Pfad einer Datei interpretiert, es sei denn, das File-Attribut wird festgelegt. Wenn dieser Schlüssel nicht vorhanden ist, wird Property nicht festgelegt. |
Value |
Optional. Der Name des abzurufenden Registrierungswerts. Standardmäßig wird der Text des Standardwerts zurückgegeben. Value muss eine Zeichenfolge sein. |
FileName |
Optional. Der Name einer Datei. Wenn dieses Attribut angegeben wird, wird der aus dem Registrierungsschlüssel abgerufene Wert als Verzeichnispfad interpretiert und dieser Name angefügt. Wird es nicht angegeben, wird der von der Registrierung zurückgegebene Wert als vollständiger Pfad einer Datei interpretiert. |
SearchDepth |
Optional. Die Suchtiefe, die bei der Suche nach der benannten Datei in Unterordnern berücksichtigt wird. Es wird die Tiefensuche verwendet. Der Standardwert lautet 0 (null), wodurch die Suche auf den im Wert des Registrierungsschlüssels angegebenen Ordner der obersten Ebene beschränkt wird. |
Hinweise
Die InstallChecks untergeordneten Elemente definieren die Tests, die ausgeführt werden sollen, führen diese jedoch nicht aus. Um die Tests auszuführen, müssen Sie Command-Elemente unter dem Commands-Element erstellen.
Beispiel
Das folgende Codebeispiel veranschaulicht, wie das InstallChecks-Element in der Produktdatei für .NET Framework verwendet wird.
<InstallChecks>
<ExternalCheck Property="DotNetInstalled" PackageFile="dotnetchk.exe" />
<RegistryCheck Property="IEVersion" Key="HKLM\Software\Microsoft\Internet Explorer" Value="Version" />
</InstallChecks>
InstallConditions
Wenn InstallChecks ausgewertet werden, erzeugen sie Eigenschaften. Anhand dieser Eigenschaften bestimmen die InstallConditions, ob ein Paket installiert, umgangen oder verworfen werden soll. Die InstallConditions sind in der folgenden Tabelle aufgelistet:
FailIf |
Wenn eine beliebige FailIf-Bedingung true ergibt, wird das Paket verworfen. Die übrigen Bedingungen werden nicht ausgewertet. |
BypassIf |
Wenn eine beliebige BypassIf-Bedingung true ergibt, wird das Paket umgangen. Die übrigen Bedingungen werden nicht ausgewertet. |
Vordefinierte Eigenschaften
In der folgenden Tabelle sind die Elemente BypassIf und FailIf aufgeführt.
Property |
Hinweise |
Mögliche Werte |
---|---|---|
Version9X |
Versionsnummer eines Windows 9X-Betriebssystems. |
4.10 = Windows 98 |
VersionNT |
Versionsnummer eines Windows NT-basierten Betriebssystems. |
Major.Minor.ServicePack 5.0 = Windows 2000 5.1.0 = Windows XP 5.1.2 = Windows XP Professional SP2 5.2.0 = Windows Server 2003 |
VersionNT64 |
Versionsnummer eines 64-Bit-Windows NT-basierten Betriebssystems. |
Wie oben erwähnt. |
VersionMsi |
Versionsnummer des Windows Installer-Dienstes. |
2.0 = Windows Installer 2.0 |
AdminUser |
Gibt an, ob ein Benutzer über Administratorrechte für ein Windows NT-basiertes Betriebssystem verfügt. |
0 = keine Administratorrechte 1 = Administratorrechte |
Um die Installation auf einem Computer mit Windows 95 zu blockieren, verwenden Sie beispielsweise folgenden Code:
<!-- Block install on Windows 95 -->
<FailIf Property="Version9X" Compare="VersionLessThan" Value="4.10" String="InvalidPlatform"/>