Configuration requise pour Windows Installer et le logo

Le logo Certifié pour Microsoft Windows identifie les produits qui ont été vérifiés par des tests indépendants comme étant conformes à la spécification d’application pour Windows. Cette spécification a été développée par Microsoft en coopération avec les clients et d’autres développeurs afin de fournir une feuille de route pour la création d’applications fiables et gérables. Les éditeurs de logiciels qui se conforment à la spécification peuvent obtenir le logo Certifié pour Microsoft Windows et l’utiliser sous licence sur l’emballage de leurs produits, la publicité, la garantie et d’autres supports marketing.

Pour plus d’informations sur la certification Windows Vista, Windows XP et Windows Server 2008 pour vos applications, consultez Microsoft Partner Network.

Si vous créez un package d’installation pour votre application, vous pouvez tirer parti des fonctionnalités de Microsoft Windows Installer pour répondre à plusieurs des exigences de certification. Le tableau suivant fournit des liens vers des informations figurant dans la documentation sur Windows Installer, pertinentes pour certaines des exigences de certification. Notez que les exigences pour la certification décrites dans la spécification de l’application ne dépendent pas toutes de Windows Installer.

Exigence pour la certification Consultez les sections suivantes
1.1 L’application doit remplir sa fonction principale et rester stable
Si vous fournissez un package d’installation, votre application peut utiliser le service d’installation disponible sur toutes les plateformes Windows 32 bits. L’utilisation du programme d’installation peut améliorer les fonctionnalités et la stabilité de votre application. Consultez Résilience et Vue d’ensemble de Windows Installer
Feuille de route de la documentation de Windows Installer.
1.3 L’application doit prendre en charge les noms de fichiers longs et les chemins UNC
Le programme d’installation prend en charge l’installation depuis et vers un réseau UNC et un réseau de lecteur, et utilise toujours les noms de fichiers longs fournis dans votre package, sauf si la propriété SHORTFILENAMES est définie ou si le volume cible ne prend pas en charge les noms de fichiers longs. Consultez Filename, Table File, Table Directory, la propriété SHORTFILENAMES.
1.5 L’application ne doit pas lire ni écrire dans Win.ini, System.ini, Autoexec.bat ou Config.sys.
Votre programme d’installation doit ajouter des entrées au Registre et non pas à Win.ini, System.ini, Autoexec.bat ni Config.sys. Windows Installer prend en charge les clés d’information dans le Registre. Quand votre application utilise le programme d’installation, ces clés de Registre deviennent disponibles en tant que propriétés du programme d’installation. Vous pouvez créer le package pour votre application afin qu’il soit facile à vérifier, et définir les valeurs de ces clés. Si votre application utilise des informations que vous ne souhaitez pas placer dans le Registre, créez un fichier d’initialisation privé et placez-le dans le répertoire avec les fichiers exécutables de l’application. Vous pouvez facilement gérer l’installation d’un fichier .ini privé, ainsi que l’ajout ou la suppression d’informations à partir de fichiers .ini existants, en utilisant Windows Installer pour installer votre application. Consultez Modification du Registre, Groupe de tables du Registre, Table Registry, Table RemoveRegistry, Action WriteRegistryValues, Action RemoveRegistryValues, Désinstaller la clé de Registre, Propriétés, Table File, Table Directory, Utilisation de la table Directory, Table IniFile, Table RemoveIniFile, Table IniLocator, Action WriteIniValues, Action RemoveIniValues, Table RemoveIniFile.
1.7 L’application doit vérifier correctement la version de Windows
Lorsque vous préparez un package d’installation pour votre application, vous devez inclure des informations sur la configuration requise pour la version du système d’exploitation du produit. Lors de l’initialisation, le programme d’installation définit automatiquement certaines propriétés sur la version du système d’exploitation actuel. Votre programme d’installation peut utiliser ces propriétés du programme d’installation pour faciliter la vérification de version. Consultez Propriétés, la propriété Version9X, la propriété VersionDatabase, la propriété VersionNT, la propriété WindowsBuild, la propriété ProductCode, la propriété ProductName, la propriété ProductVersion, Flux d’informations récapitulatives, la propriété Récapitulatif du numéro de révision.
2.1 L’application doit être installée à l’aide d’un package Windows Installer qui réussit les tests de validation
Vous pouvez vérifier que votre package d’installation réussit les tests de validation en utilisant un ensemble spécifique de règles de validation appelé Évaluateurs de cohérence interne - ICE. Ces évaluateurs ICE sont contenus dans le fichier Logo.cub. Pour être éligible à la certification, un package d’installation ne doit pas générer d’erreurs lorsqu’il est validé à l’aide de ces règles. Les avertissements sont acceptables, mais doivent généralement être corrigés. Le kit SDK Windows Installer inclut les fichiers Logo.cub, Darice.cub et Mergemod.cub. Les évaluateurs ICE figurant dans le fichier Logo.cub sont inclus dans le fichier Darice.cub. Si votre package réussit la validation à l’aide de Darice.cub, il réussira avec Logo.cub. Pour plus d’informations, consultez Validation de package.
2.2 Le package d’installation utilisé pour installer l’application doit suivre les règles de création de composants
Un composant du programme d’installation fait partie d’une application qui est toujours installée ou supprimée en tant qu’élément unique. Il existe un ensemble de règles qui vous aideront à décider de la meilleure façon de diviser votre application en composants. Si les composants de votre package d’installation sont correctement définis, le programme d’installation peut les installer et les supprimer en toute sécurité. Consultez Organisation des applications en composants, Composants et fonctionnalités, Modification du code du composant, Que se passe-t-il si les règles des composants sont enfreintes ?, Utilisation des fonctionnalités et des composants, Table Component.
2.3 Le package d’installation de l’application doit identifier les composants partagés
Si vous fournissez un package d’installation qui organise correctement votre application en composants et que vous définissez msidbComponentAttributesSharedDllRefCount dans la table Component, Windows Installer peut suivre les composants partagés à l’aide du nombre de références dans le registre DLL partagé du fichier de clé du composant. Si vous n’utilisez pas le programme d’installation, votre application doit effectuer le suivi de son utilisation des DLL partagées en incrémentant un compteur d’utilisation pour la DLL dans la clé de Registre SharedDLLs. Pour plus d’informations, consultez Table Directory, Utilisation de la table Directory, Table Component. Pour plus d’informations sur le bit SharedDllRefCount, consultez Table Component, Organisation des applications en composants.
2.4 Par défaut, l’application doit être installée dans le dossier Program Files
Lors de l’initialisation, le programme d’installation définit une propriété sur le chemin complet du dossier Program Files. Lorsque vous préparez le package d’installation, vous pouvez spécifier que le programme d’installation doit installer votre application dans ce dossier par défaut. Si vous incluez également une interface utilisateur dans votre package, le programme d’installation peut fournir aux utilisateurs une option pour sélectionner un autre emplacement d’installation. Pour plus d’informations, consultez Table Directory, Utilisation de la table Directory, la propriété TARGETDIR, MsiSetTargetPath, Propriétés, la propriété ProgramFilesFolder.
2.5 L’application doit prendre en charge correctement la fonction Ajout/Suppression de fichiers programmes
Vous pouvez fournir toutes les informations nécessaires par la fonctionnalité Ajout/Suppression de programmes dans le Panneau de configuration en définissant les valeurs de certaines propriétés du programme d’installation dans le package Windows Installer de votre application. La définition de ces propriétés écrit automatiquement les valeurs correspondantes dans le Registre. Consultez Propriétés, Propriétés obligatoires, la propriété ProductName, la propriété ARPINSTALLLOCATION, la propriété Manufacturer, la propriété ProductVersion.
2.6 L’application doit s’assurer que le package Windows Installer prend en charge la publicité
Prenez en charge la publicité en organisant votre application pour la publicité et en incluant toutes les informations nécessaires pour la publicité dans le package Windows Installer de l’application. Pour plus d’informations, consultez Publication, Installation à la demande, Publication de produits, de fonctionnalités et de composants, Prise en charge de la publication par la plateforme, Composants et fonctionnalités, AdvtExecuteSequence suggérée, AdvtUISequence suggérée, Propriété Advertise, Action Advertise, Action PublishProduct, Table Feature, Table Shortcut, Table Class, Table Extension, Table Icon, Table MIME, Table ProgId, Table TypeLib, Table Verb, MsiConfigureFeature, MsiConfigureProduct.
2.7 Le package d’installation de l’application doit garantir une prise en charge correcte de la désinstallation
Si vous utilisez le programme d’installation pour installer votre application, vous n’avez pas besoin de créer un programme de désinstallation distinct. Vous pouvez créer un package d’installation qui permet au programme d’installation d’installer, de désinstaller et de réparer votre application. Consultez Vue d’ensemble de Windows Installer, Organisation des applications en composants, Actions standard, À propos des actions standard, Utilisation des actions standard, Informations de référence sur les actions standard, Installation d’une application, MsiInstallProduct, Action INSTALL.
3.1 Sur Windows 2000, n’essayez pas de remplacer les fichiers protégés par la Protection des fichiers Windows.
Windows Installer respecte la Protection des fichiers Windows (WFP) lors de l’installation des fichiers système essentiels sur Windows 2000. Windows Installer ne tente jamais d’installer ni de remplacer un fichier protégé. Si un fichier système protégé est modifié par une installation sans assistance d’une application, WFP restaure le fichier dans sa version vérifiée. Pour plus d’informations, consultez Utilisation de Windows Installer et de la Protection des ressources Windows.
3.2 Les auteurs qui écrivent de nouveaux composants redistribuables doivent utiliser des techniques de partage côte à côte pour que leurs composants puissent être installés dans le répertoire de l’application
Les auteurs de packages Windows Installer peuvent spécifier que le programme d’installation copie les fichiers partagés (généralement des DLL partagées) d’une application dans le dossier de l’application plutôt que dans un emplacement partagé. Cet ensemble privé de fichiers (DLL) est ensuite utilisé uniquement par l’application. Consultez Composants isolés.
3.3 Pour Windows 2000 et Windows 98 Deuxième Édition, toutes les DLL côte à côte dont dépend votre application doivent être installées dans le répertoire de votre application
Les auteurs de packages Windows Installer peuvent spécifier que le programme d’installation copie les fichiers partagés (généralement des DLL partagées) d’une application dans le dossier de l’application plutôt que dans un emplacement partagé. Cet ensemble privé de fichiers (DLL) est ensuite utilisé uniquement par l’application. Consultez Composants isolés ou Installation de composants isolés.
4.3 L’application doit se dégrader normalement si l’accès est refusé
L’objectif de cette exigence est de garantir que si l’utilisateur se voit refuser l’accès aux ressources, l’application échoue d’une manière qui maintient un environnement sécurisé. Windows Installer gère les privilèges uniquement pendant l’installation. L’application doit gérer les privilèges au moment de l’exécution. Le programme d’installation peut définir certaines propriétés lors de l’initialisation au niveau de privilège de l’utilisateur ou à un niveau spécifié par la stratégie système. Vous pouvez ensuite créer votre package Windows Installer afin que le programme d’installation vérifie les privilèges d’accès de l’utilisateur avant le début de l’installation.
Vous pouvez créer le package d’installation afin que le programme d’installation détermine s’il y a suffisamment d’espace disque. Si vous créez une interface utilisateur pour le package de l’application, elle peut afficher des options pour les utilisateurs qui viennent à manquer d’espace disque.
Si l’installation échoue, le programme d’installation peut basculer en mode de restauration et restaurer automatiquement l’état d’origine de l’ordinateur.
Pour plus d’informations, consultez Vue d’ensemble de Windows Installer, Résilience, Résilience source, Propriété Privileged, Propriété AdminUser, Stratégie système, Action InstallValidate, Calcul du coût des fichiers, Boîte de dialogue DiskCost, Propriété OutOfDiskSpace, Propriété OutOfNoRbDiskSpace, Action AllocateRegistrySpace, Contrôle VolumeCostList, Restauration, Mécanisme d’installation, Propriété PROMPTROLLBACKCOST, Propriété DISABLEROLLBACK, ControlEvent EnableRollback.
4.5 L’application doit respecter les paramètres de stratégie de groupe au niveau du système
Windows Installer peut suivre les stratégies relatives à l’installation. Pour plus d’informations, consultez Stratégie système.
7.1 Les applications doivent continuer à fonctionner après une mise à niveau vers Microsoft Windows 2000 Professionnel sans réinstallation
Le programme d’installation a un attribut de composant qui peut faciliter la préparation de votre application pour la migration vers Windows 2000. Pour plus d’informations, consultez Utilisation de composants transitifs.