Réduction de la taille des correctifs
À compter de Windows Installer version 3.0, les auteurs de correctifs peuvent utiliser la base de référence du produit mise en cache par le programme d’installation pour traiter plus facilement les applications avec des correctifs delta plus petits. Dans de nombreux cas, un correctif delta qui fournit des informations de maintenance à une application peut être beaucoup plus petit qu’un correctif de fichier complet ou un package d’installation qui fournit les mêmes informations.
Windows Installer 2.0 : non pris en charge. À compter de Windows Installer 3.0, le programme d’installation enregistre de manière sélective les informations de base sur les fichiers lorsqu’ils sont mis à jour.
Windows Installer fournit trois méthodes pour la mise à jour et la maintenance des applications : les petites mises à jour, les mises à niveau mineures et les mises à niveau majeures. Une petite mise à jour est également appelée mise à jour d’ingénierie de correctif rapide (QFE), et une mise à niveau mineure est également appelée mise à jour du Service Pack (SP). Une mise à niveau majeure classique supprime une application précédente et installe une nouvelle application. Windows Programme d’installation peut fournir des informations de maintenance aux applications en tant que package d’installation (fichier .msi) ou en tant que package de correctifs (fichier .msp).
Un package de correctifs du programme d’installation Windows qui fournit des informations de maintenance pour une petite mise à jour ou une mise à niveau mineure est généralement beaucoup plus petit que le package d’installation équivalent qui fournit les mêmes informations de maintenance. Il est recommandé d’utiliser les packages de correctifs pour la distribution des mises à niveau petites et mineures. Il est recommandé d’utiliser un package d’installation pour la distribution d’une mise à niveau majeure.
Windows correctifs du programme d’installation (fichiers .msp) peuvent être générés à partir de fichiers complets ou de différences de fichiers (également appelées deltas de fichiers.) Un correctif du programme d’installation Windows généré à partir de deltas de fichiers peut être beaucoup plus petit que le correctif de fichier complet équivalent. Toutes les versions du programme d’installation Windows peuvent utiliser des correctifs de fichiers complets ou des correctifs delta.
À compter de Windows Installer version 3.0, le programme d’installation enregistre de manière sélective les informations de base sur les fichiers lorsqu’ils sont mis à jour. Des informations sur l’application de base d’origine (version RTM) et la mise à niveau mineure la plus récente (Service Pack) sont enregistrées dans un emplacement privé lorsque l’application est installée ou reçoit une mise à niveau mineure.
Le programme d’installation effectue les opérations suivantes pour réduire la taille du cache de base :
- Plus de deux lignes de base ne sont conservées pour chaque application : une ligne de base du fichier telle qu’initialement publiée (RTM) et une base de référence du fichier lors de la dernière mise à niveau mineure (Service Pack.)
- Un fichier n’est pas ajouté au cache tant qu’il n’est pas corrigé. Le cache de base est en copie en écriture.
- Si l’application n’a jamais été mise à jour, il n’existe aucun fichier dans le cache de base.
- Lorsque la dernière maintenance de l’application était une mise à niveau mineure (Service Pack), l’application est au niveau de base et au plus deux copies d’un fichier peuvent être présentes sur l’ordinateur. Une copie du fichier se trouve dans le répertoire cible de l’installation. L’autre copie peut se trouver dans le cache de référence RTM.
- Lorsque la dernière maintenance de l’application était une petite mise à jour (QFE), l’application n’est pas au niveau de référence et au plus trois copies d’un fichier peuvent être présentes sur l’ordinateur. La première copie du fichier se trouve dans le répertoire cible de l’installation. La deuxième copie du fichier se trouve dans le cache de référence RTM. La dernière copie du fichier se trouve dans le cache de référence le plus récent.
- Le cache de base de référence de l’application est supprimé lorsque le produit est désinstallé.
À compter de Windows Installer version 3.0, le programme d’installation peut utiliser le cache de base lorsque des correctifs sont appliqués à l’application. Les informations de base peuvent être utilisées pour appliquer un correctif delta ou rétablir un fichier vers une version antérieure lors d’une désinstallation de correctif. Cela peut permettre aux auteurs de correctifs de bénéficier de correctifs delta plus petits. Si le programme d’installation constate que le correctif delta ne peut pas être appliqué au fichier cible, le programme d’installation peut tenter d’utiliser un fichier enregistré dans le cache de base comme point de départ. Le programme d’installation se contente de demander la source d’installation d’origine après avoir essayé toutes les possibilités dans le cache.
L’adhésion aux instructions suivantes peut aider les auteurs de correctifs à utiliser les correctifs Windows Installer version 3.0 et le cache de base pour créer des correctifs delta plus petits :
- Créez des correctifs qui incluent la table MsiPatchSequence. Ce tableau est requis pour utiliser le cache de base de référence et est disponible à partir de Windows Installer version 3.0.
- Ne définissez pas de stratégie qui empêche la mise en cache de base. La valeur de la stratégie MaxPatchCacheSize spécifie le pourcentage maximal d’espace disque qui peut être utilisé. Si la stratégie MaxPatchCacheSize est définie sur 0, aucun fichier supplémentaire n’est enregistré dans le cache de base de référence. Si la stratégie n’est pas définie, la valeur par défaut est qu’un maximum de 10 % de l’espace disque peut être utilisé. Si la taille totale du cache atteint le pourcentage maximal d’espace disque, aucun fichier supplémentaire n’est enregistré. La stratégie n’affecte pas les fichiers qui ont déjà été enregistrés. Même lorsque la mise en cache est désactivée, le programme d’installation peut utiliser des caches de base de référence de produit existants.
- Si le premier correctif appliqué inclut la table MsiPatchSequence, la mise en cache est activée pour l’application.
- Si un correctif dans la transaction de maintenance n’inclut pas la table MsiPatchSequence, la mise en cache est activée pour l’application uniquement si un correctif de mise à niveau mineur (Service Pack) qui inclut la table MsiPatchSequence est correctement appliqué au produit.
- Générez le package de correctifs à l’aide d’outils de création de correctifs tels que Msimsp.exe et PATCHWIZ.DLL.
- Ciblez toujours les correctifs pour la version RTM de l’application ou une version mineure de mise à niveau (Service Pack) de l’application. Les cibles spécifiées dans la table TargetImages du fichier PATCH Creation Properties (PCP) doivent être des points de vérification de produit définis par les trois premiers champs de la propriété ProductVersion .
- Ne ciblez jamais les correctifs aux petites images de mise à jour. Les cibles de génération du correctif ne doivent pas inclure les images précédentes de mise à niveau des petites mises à jour.