Windows Installer- und Logo-Anforderungen

Das Logo „Certified for Microsoft Windows“ identifiziert Produkte, die durch unabhängige Tests überprüft wurden, um die Anwendungsspezifikation für Windows zu erfüllen. Diese Spezifikation wurde von Microsoft in Zusammenarbeit mit Kunden und anderen Entwicklern entwickelt, um eine Roadmap zur Erstellung von zuverlässigen und verwaltbaren Anwendungen bereitzustellen. Softwareanbieter, die die Spezifikation erfüllen, qualifizieren sich für das Logo „Certified for Microsoft Windows“ und lizenzieren es dann zur Nutzung auf ihrer Produktverpackung, in der Werbung, Begleitmaterialien und anderen Marketingmaterialien.

Weitere Informationen zur Windows Vista-, Windows XP- und Windows Server 2008-Zertifizierung für Ihre Anwendungen finden Sie im Microsoft Partner Network.

Wenn Sie ein Installationspaket für Ihre Anwendung erstellen, können Sie die Funktionen von Microsoft Windows Installer als Hilfe nutzen, um einige der Anforderungen für die Zertifizierung zu erfüllen. Die folgende Tabelle enthält Links zu Informationen in der Windows Installer-Dokumentation, die für einige der Zertifizierungsanforderungen relevant sind. Beachten Sie, dass nicht jede Anforderung für die in der Anwendungsspezifikation erläuterte Zertifizierung von Windows Installer abhängig ist.

Zertifizierungsanforderung In den folgenden Abschnitten finden Sie weitere Informationen
1.1 Die Anwendung sollte die primäre Funktionalität ausführen und die Stabilität beibehalten.
Wenn Sie ein Installationspaket bereitstellen, kann Ihre Anwendung den Installationsdienst nutzen, der auf allen 32-Bit-Plattformen unter Windows verfügbar ist. Mithilfe des Installers kann die Funktionalität und Stabilität Ihrer Anwendung verbessert werden. Weitere Informationen finden Sie unter ResilienzÜbersicht über Windows Installer.
Roadmap zur Windows Installer-Dokumentation.
1.3 Die Anwendung sollte lange Dateinamen und UNC-Pfade unterstützen.
Das Installationsprogramm unterstützt die Installation in das und aus dem UNC- und Laufwerk-Netzwerk, und es verwendet immer die in Ihrem Paket angegebenen langen Dateinamen – außer wenn die Eigenschaft SHORTFILENAMES festgelegt wurde oder das Zielvolume lange Dateinamen nicht unterstützt. Weitere Informationen finden Sie unter Dateiname, Dateitabelle, Verzeichnistabelle und Eigenschaft SHORTFILENAMES.
1.5 Die Anwendung darf aus „Win.ini“, „System.ini“, „Autoexec.bat“ oder „Config.sys" nicht lesen oder in diese Dateien schreiben.
Ihr Installationsprogramm sollte der Registrierung (und nicht „Win.ini“, „System.ini“, „Autoexec.bat“ oder „Config.sys“) Einträge hinzufügen. Windows Installer unterstützt Informationsschlüssel in der Registrierung. Wenn Ihre Anwendung das Installationsprogramm verwendet, werden diese Registrierungsschlüssel als Installationseigenschaften verfügbar. Sie können das Paket für Ihre Anwendung so erstellen, dass die Werte dieser Schlüssel problemlos überprüft und festgelegt werden können. Wenn Ihre Anwendung Informationen verwendet, die Sie in die Registrierung nicht einfügen möchten, erstellen Sie eine private Initialisierungsdatei, und fügen Sie sie im Verzeichnis mit den ausführbaren Dateien der Anwendung ein. Sie können die Installation einer privaten INI-Datei ganz einfach verwalten sowie Informationen aus vorhandenen INI-Dateien hinzufügen oder entfernen, indem Sie Ihre Anwendung mithilfe von Windows Installer installieren. Weitere Informationen finden Sie unter Ändern der Registrierung, Gruppe „Registrierungstabellen“, Registrierungstabelle, Tabelle „RemoveRegistry“, Aktion „WriteRegistryValues“, Aktion „RemoveRegistryValues“, Deinstallieren des Registrierungsschlüssels, Eigenschaften, Dateitabelle, Verzeichnistabelle, Verwenden der Verzeichnistabelle, Tabelle „IniFile“, Tabelle „RemoveIni“, Tabelle „IniLocator“, Aktion „WriteIniValues“ , Aktion „RemoveIniValues“ und Tabelle „RemoveIniFile“.
1.7 Die Anwendung sollte die Windows-Versionsüberprüfung ordnungsgemäß durchführen.
Wenn Sie ein Installationspaket für Ihre Anwendung vorbereiten, müssen Sie Informationen zu den Versionsanforderungen für das Betriebssystem des Produkts einbeziehen. Bei der Initialisierung legt das Installationsprogramm bestimmte Eigenschaften automatisch auf die Version des aktuellen Betriebssystems fest. Ihr Setupprogramm kann mithilfe dieser Installereigenschaften eine einfache Versionsüberprüfung ermöglichen. Weitere Informationen finden Sie unter Eigenschaften, Eigenschaft Version9X, Eigenschaft VersionDatabase, Eigenschaft VersionNT, Eigenschaft WindowsBuild, Eigenschaft ProductCode, Eigenschaft ProductName, Eigenschaft ProductVersion, Zusammenfassung des Informationsstreams, Eigenschaft Zusammenfassung der Revisionsnummer.
2.1 Die Anwendung sollte mithilfe eines Windows Installer-Pakets installiert werden, das den Validierungstest besteht.
Sie können überprüfen, ob Ihr Installationspaket die Validierungstests bestanden hat, indem Sie einen bestimmten Satz von Validierungsregeln verwenden, die als Interne Konsistenzauswertung bezeichnet werden. Diese interne Konsistenzauswertung ist in der Datei „Logo.cub“ enthalten. Ein Installationspaket, das sich für die Zertifizierung qualifizieren soll, darf bei der Überprüfung anhand dieser Regeln keine Fehler verursachen. Warnungen sind akzeptabel, sollten aber generell korrigiert werden. Das Windows Installer SDK enthält die Dateien „Logo.cub“, „Darice.cub“ und „Mergemod.cub“. Die interne Konsistenzauswertung in der Datei „Logo.cub“ wird in die Datei „Darice.cub“ einbezogen. Wenn Ihr Paket die Überprüfung mithilfe von „Darice.cub“ bestanden hat, besteht es sie auch mit „Logo.cub“. Weitere Informationen finden Sie unter Paketüberprüfung.
2.2 Das zum Installieren der Anwendung verwendete Installationspaket sollte den Regeln zum Erstellen von Komponenten entsprechen.
Eine Installationsprogrammkomponente ist ein Teil einer Anwendung, die immer als ein einziges Element installiert oder entfernt wird. Es gibt eine Reihe von Regeln, die Ihnen bei der Entscheidung helfen, wie Ihre Anwendung am besten in Komponenten unterteilt werden kann. Wenn die Komponenten in Ihrem Installationspaket ordnungsgemäß definiert werden, kann das Installationsprogramm sie sicher installieren und entfernen. Weitere Informationen finden Sie unter Organisieren von Anwendungen in Komponenten, Komponenten und Features, Ändern des Komponentencodes, Was geschieht, wenn die Komponentenregeln nicht eingehalten werden?, Arbeiten mit Features und Komponenten und Komponententabelle.
2.3 Das Installationspaket der Anwendung sollte freigegebene Komponenten identifizieren.
Wenn Sie ein Installationspaket bereitstellen, das Ihre Anwendung ordnungsgemäß in Komponenten organisiert, und msidbComponentAttributesSharedDllRefCount in der Komponententabelle festlegen, kann Windows Installer freigegebene Komponenten mithilfe der Verweisanzahl in der freigegebenen DLL-Registrierung der Schlüsseldatei für die Komponente nachverfolgen. Wenn Sie das Installationsprogramm nicht verwenden, muss Ihre Anwendung die Nutzung freigegebener DLLs nachverfolgen, indem sie einen Nutzungszähler für die DLL im Registrierungsschlüssel „SharedDLLs“ inkrementiert. Weitere Informationen finden Sie unter Verzeichnistabelle, Verwenden der Verzeichnistabelle und Komponententabelle. Eine Erläuterung des Bits „SharedDllRefCount“ finden Sie unter Komponententabelle und Organisieren von Anwendungen in Komponenten.
2.4 Die Anwendung sollte standardmäßig im Ordner „Programme“ installiert werden.
Bei der Initialisierung legt das Installationsprogramm eine Eigenschaft auf den vollständigen Pfad des Ordners „Programme“ fest. Bei der Vorbereitung des Installationspakets können Sie angeben, dass das Installationsprogramm Ihre Anwendung standardmäßig in diesem Ordner installieren soll. Wenn Sie in Ihr Paket auch eine Benutzeroberfläche einbeziehen, kann das Installationsprogramm Benutzern eine Option zur Auswahl eines anderen Installationsspeicherorts bieten. Weitere Informationen finden Sie unter Verzeichnistabelle, Verwenden der Verzeichnistabelle, Eigenschaft TARGETDIR, MsiSetTargetPath, Eigenschaften und Eigenschaft ProgramFilesFolder.
2.5 Die Anwendung sollte das Hinzufügen/Entfernen von Programmdateien ordnungsgemäß unterstützen.
Sie können alle Informationen bereitstellen, die in der Systemsteuerung von „Programme hinzufügen/entfernen“ benötigt werden, indem Sie die Werte von bestimmten Installereigenschaften im Windows Installer-Paket Ihrer Anwendung festlegen. Durch Festlegen dieser Eigenschaften werden die entsprechenden Werte automatisch in die Registrierung geschrieben. Weitere Informationen finden Sie unter Eigenschaften, Erforderliche Eigenschaften, Eigenschaft ProductName, Eigenschaft ARPINSTALLLOCATION, Eigenschaft Manufacturer und Eigenschaft ProductVersion.
2.6 Die Anwendung sollte sicherstellen, dass das Windows Installer-Paket Werbung unterstützt.
Unterstützen Sie Werbung, indem Sie Ihre Anwendung für Werbung organisieren und alle dafür benötigten Informationen in das Windows Installer-Paket der Anwendung einbeziehen. Weitere Informationen finden Sie unter Werbung, Installation-On-Demand, Veröffentlichen von Produkten, Features und Komponenten, Plattformunterstützung von Werbung, Komponenten und Features, Vorgeschlagene „AdvtExecuteSequence“, Vorgeschlagene „AdvtUISequence“, Eigenschaft „Advertise“, Aktion „Advertise“, Aktion „PublishProduct“, Featuretabelle, Verknüpfungstabelle, Klassentabelle, Erweiterungstabelle, Symboltabelle, Tabelle „MIME“, Tabelle „ProgId“, Tabelle „TypeLib“, Tabelle „Verb“, MsiConfigureFeature und MsiConfigureProduct.
2.7 Das Installationspaket der Anwendung sollte die korrekte Deinstallationsunterstützung sicherstellen.
Wenn Sie Ihre Anwendung mithilfe des Installationsprogramms installieren, müssen Sie kein separates Deinstallationsprogramm erstellen. Sie können ein Installationspaket erstellen, mit dem das Installationsprogramm Ihre Anwendung installieren, deinstallieren und reparieren kann. Weitere Informationen finden Sie unter Übersicht über Windows Installer, Organisieren von Anwendungen in Komponenten, Standardaktionen, Informationen zu Standardaktionen, Verwenden von Standardaktionen, Referenz zu Standardaktionen, Installieren einer Anwendung, MsiInstallProduct und Aktion „INSTALL“.
3.1 Versuchen Sie unter Windows 2000 nicht, Dateien zu ersetzen, die durch Windows File Protection geschützt sind.
Windows Installer hält Windows File Protection (WFP) ein, wenn wichtige Systemdateien unter Windows 2000 installiert werden. Windows Installer versucht niemals, eine geschützte Datei zu installieren oder zu ersetzen. Wenn eine geschützte Systemdatei durch eine unbeaufsichtigte Installation einer Anwendung geändert wird, stellt WFP die überprüfte Version der Datei wieder her. Weitere Informationen finden Sie unter Verwenden von Windows Installer und Windows Resource Protection.
3.2 Autoren, die neue verteilbare Komponenten schreiben, müssen parallele Freigabetechniken verwenden, damit ihre Komponenten im Anwendungsverzeichnis installiert werden können.
Autoren von Windows Installer-Paketen können angeben, dass das Installationsprogramm die freigegebenen Dateien (häufig freigegebene DLLs) einer Anwendung in deren Ordner (und nicht an einen freigegebenen Speicherort) kopieren soll. Dieser private Satz von Dateien (DLLs) wird dann nur von der Anwendung verwendet. Weitere Informationen finden Sie unter Isolierte Komponenten.
3.3 Bei Windows 2000 und Windows 98 Second Edition müssen alle parallelen DLLs, von denen Ihre Anwendung abhängig ist, in Ihrem Anwendungsverzeichnis installiert werden:
Autoren von Windows Installer-Paketen können angeben, dass das Installationsprogramm die freigegebenen Dateien (häufig freigegebene DLLs) einer Anwendung in deren Ordner (und nicht an einen freigegebenen Speicherort) kopieren soll. Dieser private Satz von Dateien (DLLs) wird dann nur von der Anwendung verwendet. Weitere Informationen finden Sie unter Isolierte Komponenten oder Installation isolierter Komponenten.
4.3 Wenn der Zugriff verweigert wird, sollte die Anwendung ordnungsgemäß heruntergestuft werden.
Das Ziel dieser Anforderung besteht darin, Folgendes sicherzustellen: Wenn dem Benutzer der Zugriff auf Ressourcen verweigert wird, schlägt die Anwendung in einer Weise fehl, die eine sichere Umgebung aufrechterhält. Windows Installer verarbeitet Berechtigungen nur während der Installation. Die Anwendung muss Berechtigungen zur Laufzeit verarbeiten. Das Installationsprogramm kann bestimmte Eigenschaften für die Initialisierung auf die Berechtigungsebene des Benutzers oder auf eine durch die Systemrichtlinie angegebene Ebene festlegen. Anschließend können Sie Ihr Windows Installer-Paket so erstellen, dass das Installationsprogramm die Zugriffsberechtigungen des Benutzers überprüft, bevor es mit der Installation beginnt.
Sie können das Installationspaket so erstellen, dass das Installationsprogramm ermittelt, ob genügend Speicherplatz vorhanden ist. Wenn Sie eine Benutzeroberfläche (User Interface, UI) für das Paket der Anwendung erstellen, können Sie Benutzern, deren Speicherplatz nicht ausreicht, entsprechende Optionen anzeigen.
Wenn die Installation nicht erfolgreich ist, kann das Installationsprogramm in seinen Rollbackmodus wechseln und den ursprünglichen Zustand des Computers automatisch wiederherstellen.
Weitere Informationen finden Sie unter Übersicht über Windows Installer, Resilienz, Quellresilienz, Eigenschaft „Privileged“, Eigenschaft „AdminUser“, Systemrichtlinie, Aktion „InstallValidate“, Dateikosten, Dialogfeld „DiskCost“, Eigenschaft „OutOfDiskSpace“, Eigenschaft „OutOfNoRbDiskSpace“, Aktion „AllocateRegistrySpace“, Steuerelement „VolumeCostList“, Rollback, Installationsmechanismus, Eigenschaft „PROMPTROLLBACKCOST“, Eigenschaft „DISABLEROLLBACK“, EnableRollback ControlEvent.
4.5 Die Anwendung sollte die Einstellungen der Gruppenrichtlinie auf Systemebene einhalten.
Windows Installer kann den Richtlinien zur Installation folgen. Weitere Informationen finden Sie unter Systemrichtlinie.
7.1 Anwendungen sollten nach dem Upgrade auf Microsoft Windows 2000 Professional ohne Neuinstallation weiterhin funktionieren.
Das Installationsprogramm enthält ein Komponentenattribut, das die Vorbereitung Ihrer Anwendung für die Migration zu Windows 2000 erleichtern kann. Weitere Informationen finden Sie unter Verwenden transitiver Komponenten.