Création d’un package de correctifs

Les développeurs créent un package de correctifs en générant un fichier de création de correctifs et en utilisantMsimsp.exe pour appeler la fonction UiCreatePatchPackageEx dans Patchwiz.dll. Msimsp.exe et les Patchwiz.dll sont fournis dans le Kit de développement logiciel (SDK) Windows Installer. Pour plus d’informations, consultez Un petit exemple de mise à jour corrective.

Étant donné que l’application d’un correctif à un package Windows Installer entraîne l’installation des sources d’origine à l’aide d’un nouveau fichier .msi, le nouveau fichier .msi doit rester compatible avec la disposition de la source d’origine.

Lorsque vous créez un package de correctifs, vous devez utiliser une image d’installation non compressée pour créer un correctif, par exemple, une image d’administration ou une image d’installation non compressée à partir d’un CD-ROM. Vous devez également respecter les restrictions suivantes :

  • Ne déplacez pas les fichiers d’un dossier vers un autre.

  • Ne déplacez pas les fichiers d’un cabinet à un autre.

  • Ne modifiez pas l’ordre des dossiers dans un cabinet.

  • Ne modifiez pas le numéro de séquence des fichiers existants. Le numéro de séquence est la valeur spécifiée dans la colonne Séquence de la table de fichiers.

  • Tous les nouveaux fichiers ajoutés par le correctif doivent être placés à la fin de la séquence de fichiers existante. Le numéro de séquence d’un nouveau fichier dans l’image mise à niveau doit être supérieur au plus grand nombre de fichiers existants dans l’image cible.

  • Ne modifiez pas les clés primaires de la table de fichiers entre les versions d’origine et de nouveaux fichiers .msi.

    Notes

    Le fichier doit avoir la même clé dans la table de fichiers de l’image cible et de l’image mise à jour. Les valeurs de chaîne dans la colonne Fichier des deux tables doivent être identiques, y compris le cas.

     

  • Ne créez pas de package avec des clés de table de fichiers qui diffèrent uniquement dans le cas, par exemple, évitez l’exemple de tableau suivant.

    Fichier Component_ FileName
    readme.txt Comp1 readme.txt
    ReadMe.txt Comp2 readme.txt

     

    Le programme d’installation Windows peut autoriser l’exemple de tableau précédent lorsque Comp1 et Comp2 sont installés sur différents répertoires, mais vous ne pouvez pas utiliser Msimsp.exe ou Patchwiz.dll pour générer un correctif pour le package. Msimsp.exe et Patchwiz.dll appelez Makecab.exe, qui ne respecte pas la casse et échoue.

    Lorsque vous utilisez des modules de fusion dans l’installation, assurez-vous que les numéros de séquence de fichiers et la disposition respectent les instructions ci-dessus.