Réinstallation d’une fonctionnalité ou d’une application

Windows Installer peut réparer, remplacer et vérifier les fichiers contenus dans une application. Une réinstallation partielle ou complète de l’application peut être nécessaire si des fichiers ou des entrées de Registre associés à une fonctionnalité sont manquants ou endommagés.

Lorsqu’une fonctionnalité ou une application est réinstallée, tous les services, variables d’environnement et actions personnalisées appartenant à la fonctionnalité ou à l’application sont également réinstallés. Notez que cela signifie que toutes les modifications apportées aux variables d’environnement entre l’installation d’origine et la réinstallation sont perdues.

La liste suivante contient des méthodes de réinstallation d’une fonctionnalité ou d’un produit. Les deux premières méthodes ont été automatisées par le programme d’installation :

  • Réparez, remplacez ou vérifiez des fichiers en appelant la fonction MsiReinstallFeature.
  • Réinstallez l’ensemble du produit en appelant la fonction MsiReinstallProduct.
  • Réinstallez, remplacez ou vérifiez des fichiers à l’aide d’un bouton de contrôle de l’interface utilisateur du programme d’installation via Réinstaller ControlEvent.
  • Réinstallez, remplacez ou vérifiez des fichiers à partir d’une ligne de commande en définissant la propriété REINSTALL et la propriété REINSTALLMODE.

Pour plus d’informations sur la réinstallation d’une fonctionnalité ou d’une application, consultez Résilience.

Réinstaller un produit à l’aide du programme d’installation

Réinstaller une fonctionnalité à l’aide du programme d’installation

Réinstaller un produit ou une fonctionnalité avec une interface utilisateur du programme d’installation

  1. Ajoutez un bouton à la boîte de dialogue spécifiée en ajoutant une entrée à la table Control.

  2. Ajoutez un ReinstallMode ControlEvent à la table ControlEvent, avec les champs Dialog_ et Control_ référençant le contrôle de bouton créé à l’étape 1. Dans le champ Argument, entrez une chaîne contenant les lettres correspondant aux modes de réinstallation souhaités (les valeurs acceptables pour ce champ sont identiques à celles acceptées pour la propriété REINSTALLMODE). La valeur dans la colonne Ordering de cet événement doit être 1.

  3. Ajoutez un événement Réinstaller ControlEvent à la table ControlEvent, en référençant à nouveau le même contrôle de bouton. Le champ Argument de cet événement sera normalement ALL, pour forcer la réinstallation de toutes les fonctionnalités, mais vous pouvez placer le nom d’une fonctionnalité spécifique ici. La valeur dans la colonne Ordering de cet événement doit être 2.

  4. Ajoutez un autre événement lié au même contrôle de bouton pour lancer la réinstallation. Il peut s’agir d’un événement EndDialog (avec un argument Return). Plus généralement, cependant, un événement NewDialog est utilisé ici pour accéder à une boîte de dialogue de confirmation Êtes-vous sûr de vouloir réinstaller ? La valeur dans la colonne Ordering de cet événement doit être 3.

    Si vous le souhaitez, plusieurs boutons RÉINSTALLER peuvent être créés pour une boîte de dialogue unique, ce qui permet à l’utilisateur de sélectionner le type de réinstallation effectué. Dans ce cas, chaque bouton est créé comme indiqué dans la procédure précédente, avec un paramètre ReinstallMode ControlEvent différent pour chaque bouton.

Une fois qu’un produit particulier a été installé (avec certaines ou toutes les fonctionnalités du produit), une réinstallation peut être effectuée sur la ligne de commande :

Réinstaller un produit ou une fonctionnalité à partir d’une ligne de commande

  1. À partir de l’invite de commandes, spécifiez la propriété REINSTALL.

  2. À partir de l’invite de commandes, spécifiez la propriété REINSTALL.

    La spécification de ces propriétés permet à l’utilisateur de réinstaller une ou l’ensemble des fonctionnalités du produit. Le type de réinstallation peut également être spécifié. Par exemple, vous pouvez spécifier que seuls les fichiers complètement manquants doivent être réinstallés ou que seuls les fichiers endommagés (par exemple, tout fichier exécutable dont la somme de contrôle ne correspond pas au contenu réel du fichier) doivent être remplacés.