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 utilisant Msimsp.exe pour appeler la fonction UiCreatePatchPackageEx dans Patchwiz.dll. Msimsp.exe et Patchwiz.dll sont fournis dans le SDK Windows Installer. Pour plus d’informations, consultez Exemple de mise à jour corrective de petite taille.

É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 de fichiers d’un dossier vers un autre.

  • Ne déplacez pas de fichiers d’un Cabinet à un autre.

  • Ne modifiez pas l’ordre des fichiers 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 Sequence de la table File.

  • 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 nombre de séquences le plus élevé de fichiers existants dans l’image cible.

  • Ne modifiez pas les clés primaires dans la table File entre la version d’origine et la nouvelle version du fichier .msi.

    Notes

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

     

  • Ne créez pas de package avec des clés de table File qui diffèrent uniquement par la casse, par exemple, évitez l’exemple de table suivant.

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

     

    Windows Installer peut autoriser l’exemple de table précédent lorsque Comp1 et Comp2 sont installés sur des répertoires différents, 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 appellent Makecab.exe, qui ne respecte pas la casse et échoue.

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