Empêcher un correctif d’avoir accès à la source d’installation d’origine
Il n’est pas possible d’éliminer toutes les circonstances dans lesquelles l’application d’un correctif peut nécessiter l’accès à la source d’installation d’origine.
Respectez les points suivants pour réduire la possibilité que votre correctif nécessite l’accès à la source d’origine :
- Utilisez uniquement des correctifs de fichiers complets. Cela élimine la nécessité de créer des correctifs binaires pour toutes les versions antérieures du fichier. Notez que les correctifs de fichiers entiers ont généralement une taille supérieure à celle des correctifs binaires. Vous pouvez facilement définir un patch en tant que correctif de fichier complet en créant la propriété IncludeWholeFilesOnly avec la valeur 1 (un) dans le fichier des propriétés de création de correctif (PCP).
- Assurez-vous qu’aucune de vos actions personnalisées n’accède à l’emplacement source d’origine.
- Assurez-vous que l’action ResolveSource est soumise à une condition de manière à ce qu’elle s’exécute uniquement si nécessaire ou qu’elle n’est pas présente du tout.
- Remplissez la table MsiFileHash pour tous les fichiers dont la version n’est pas distante. l’outil du kit de développement logiciel (SDK) Windows Installer, Msifiler.exe, peut facilement le faire pour vous.
- Vérifiez que les informations de version et de langue de tous les fichiers sont correctes. l’outil du kit de développement logiciel (SDK) Windows Installer, Msifiler.exe, peut facilement le faire pour vous.
Configuration requise pour la mise à jour corrective
L’accès aux sources d’installation d’origine peut être nécessaire pour appliquer le correctif dans les cas suivants :
Le correctif s’applique à une fonctionnalité qui est actuellement exécutée à partir de la source. Dans ce cas, la fonctionnalité passe de l’état d’exécution à partir de la source à l’état local.
Le correctif s’applique à un composant pour lequel un fichier est manquant ou endommagé.
Le correctif s’applique à un fichier dans un composant qui contient également des fichiers sans version sans aucune entrée MsiFileHash. Une table MsiFileHash remplie est requise pour empêcher la recopie inutile de fichiers non distants à partir de l’emplacement source.
Le correctif a été appliqué avec un REINSTALLMODE de amuser ou d’Emu. Cette option est dangereuse en ce qu’elle effectue des opérations de copie de fichiers, quelle que soit la version du fichier. Cela peut entraîner un reving des fichiers et nécessite presque toujours la source. La valeur REINSTALLMODE recommandée est omus.
Le package mis en cache pour le produit est manquant. Le package mis en cache est nécessaire pour l’application d’un correctif. Le package mis en cache est stocké dans le dossier% windir% \ installer.
Le package est créé pour appeler l' action ResolveSource. En général, cette action doit être évitée ou conditionnellement, car son exécution donne toujours accès à la source.
Le package a une action personnalisée qui tente d’accéder à la source d’une certaine manière. L’exemple le plus courant est une action personnalisée d’installation simultanée de type 23.
Notes
Les installations simultanées ne sont pas recommandées pour l’installation d’applications destinées à être communiquées au public. Pour plus d’informations sur les installations simultanées, consultez installations simultanées.
Le package de correctifs se compose de correctifs binaires qui ne s’appliquent pas à la version actuelle du fichier sur l’ordinateur.
prenons l’exemple suivant, dans lequel Windows Installer nécessite l’accès à la source d’origine lors de l’application d’un correctif :
- Installez la version RTM de l’exemple de produit.
- Appliquez le correctif Qfe1. msp à l’ordinateur. Cette version de patch 1,0 de Example.dll à la version 1,1.
- Un nouveau correctif, Qfe2. msp, est fourni, qui met à jour Example.dll vers la version 1,2 et obsolètes Qfe1. msp. Toutefois, le correctif a été créé uniquement pour cibler la version 1,0 de Example.dll, car il a été généré à l’aide de la version RTM du produit. Example.dll version 1,2 comprend le correctif contenu dans Example.dll version 1,1, mais le fichier. msp a été généré entre les images RTM et QFE2. ainsi, quand Qfe2. msp est appliqué à l’ordinateur, Windows Installer doit accéder à la source d’origine. Le correctif binaire pour Example.dll ne peut pas s’appliquer à la version 1,1 ; elle ne peut s’appliquer qu’à la version 1,0. Ainsi, le programme d’installation recopie la version 1,0 de Example.dll à partir de l’emplacement source d’origine afin que le correctif puisse être appliqué avec succès.
Spécifications de la source lors de la suppression d’un correctif
l’accès aux sources d’installation d’origine peut être nécessaire pour supprimer un correctif si le Windows Installer n’a pas stocké les informations de référence sur le correctif. à partir de Windows Installer 3,0, le programme d’installation enregistre de manière sélective les informations de référence sur les fichiers lorsqu’ils sont mis à jour. Pour plus d’informations sur le cache de base, consultez réduction de la taille des correctifs .