Utilisation de Windows Installer avec le Gestionnaire de redémarrage
Les applications qui utilisent Windows Installer 4.0 pour l’installation et la maintenance sur Windows Vista utilisent automatiquement le Gestionnaire de redémarrage pour réduire les redémarrages du système. Le comportement par défaut de Windows Vista consiste à arrêter les applications plutôt qu’à arrêter et redémarrer le système d’exploitation dans la mesure du possible. Dans les cas où un redémarrage du système est inévitable, les programmes d’installation peuvent utiliser l’API du Gestionnaire de redémarrage pour planifier les redémarrages de manière à réduire l’interruption du flux de travail de l’utilisateur.
Les développeurs Windows Installer peuvent effectuer les actions suivantes pour préparer leur package pour qu’il fonctionne avec le Gestionnaire de redémarrage.
Ajoutez la boîte de dialogue MsiRMFilesInUtiliser à votre package. Si la boîte de dialogue MsiRMFilesInUse est présente dans le package, l’utilisateur Windows Vista qui exécute une installation au niveau de l’interface utilisateur complète a la possibilité de fermer et de redémarrer automatiquement les applications. Un package d’installation peut contenir des informations pour la boîte de dialogue MsiRMFilesInUse et la boîte de dialogue FichiersInUtiliser. La boîte de dialogue MsiRMFilesInUse s’affiche uniquement si le package est installé avec au moins Windows Installer 4.0 sur Windows Vista et est, dans le cas contraire, ignoré. Les packages existants qui n’ont pas la boîte de dialogue MsiRMFilesInUse continuent de fonctionner à l’aide de la boîte de dialogue FilesInUse. Une transformation de personnalisation peut être utilisée pour ajouter une boîte de dialogue MsiRMFilesInUse à des packages existants.
Les utilisateurs finaux exécutent généralement des installations au niveau de l’interface utilisateur complète. L’interface utilisateur de base ou les installations au niveau de l’interface utilisateur réduite donnent à l’utilisateur la possibilité d’utiliser le Gestionnaire de redémarrage pour réduire les redémarrages du système même si la boîte de dialogue MsiRMFilesInUse n’est pas présente. Les installations silencieuses au niveau de l’interface utilisateur arrêtent toujours les applications et les services. Sur Windows Vista, utilisez toujours le Gestionnaire de redémarrage.
Inscrivez des applications pour un redémarrage à l’aide de la fonction RegisterApplicationRestart. Le Gestionnaire de redémarrage ne peut redémarrer que les applications qui ont été inscrites pour le redémarrage. Le Gestionnaire de redémarrage redémarre les applications inscrites après l’installation. Si l’installation nécessite un redémarrage du système, le Gestionnaire de redémarrage redémarre l’application inscrite après le redémarrage du système.
Spécifiez INSTALLLOGMODE_RMFILESINUSE lors de l’activation d’un gestionnaire d’interface utilisateur externe avec les fonctions MsiSetExternalUI et MsiSetExternalUIRecord. Windows Installer envoie un message INSTALLMESSAGE_RMFILESINUSE pour les gestionnaires d’interface utilisateur externes qui prennent en charge le Gestionnaire de redémarrage. Si aucune interface utilisateur inscrite ou interne ne gère le message INSTALLMESSAGE_RMFILESINUSE, le programme d’installation envoie un message INSTALLMESSAGE_FILESINUSE pour les gestionnaires d’interface utilisateur qui prennent en charge la boîte de dialogue FichiersInUtiliser. Pour plus d’informations, consultez Utilisation du Gestionnaire de redémarrage avec une interface utilisateur externe.
Les actions personnalisées peuvent ajouter des ressources appartenant à une session Gestionnaire de redémarrage. L’action personnalisée doit être séquencée avant l’action InstallerValidate. Les actions personnalisées peuvent utiliser la propriété MsiRestartManagerSessionKey pour obtenir la clé de session et doivent appeler les fonctions RmJoinSession et RmEndSession de l’API de Gestionnaire de redémarrage. Les actions personnalisées ne peuvent pas supprimer les ressources appartenant à une session de Gestionnaire de redémarrage. Les actions personnalisées ne doivent pas tenter d’arrêter ou de redémarrer des applications à l’aide des fonctions RmShutdown, RmGetList et RmRestart.
Les auteurs de packages peuvent baser une condition dans la table LaunchCondition sur la propriété MsiSystemRebootPending pour empêcher l’installation de leur package lorsqu’un redémarrage du système est en attente.
Les auteurs de packages et les administrateurs peuvent contrôler l’interaction de Windows Installer et du Gestionnaire de redémarrage à l’aide des propriétés MSIRESTARTMANAGERCONTROL, MSIDISABLERMRESTART, MSIRMSHUTDOWN et de la stratégie DisableAutomaticApplicationShutdown.
Les applications et les services doivent suivre les instructions décrites dans la section Utilisation du Gestionnaire de redémarrage de la documentation du Gestionnaire de redémarrage.