Dela via


Skapa ett korrigeringspaket

Utvecklare skapar ett korrigeringspaket genom att generera en korrigeringsfil och använda Msimsp.exe för att anropa funktionen UiCreatePatchPackageEx i Patchwiz.dll. Msimsp.exe och Patchwiz.dll finns i Windows Installer SDK. Mer information finns i Ett litet uppdateringsuppdateringsexempel.

Eftersom tillämpningen av en korrigering på ett Windows Installer-paket resulterar i installationen av de ursprungliga källorna med hjälp av en ny .msi fil, måste den nya .msi-filen vara kompatibel med den ursprungliga källans layout.

När du skapar ett korrigeringspaket måste du använda en okomprimerad installationsbild för att skapa en korrigering, till exempel en administrativ avbildning eller en okomprimerad installationsbild från en CD-ROM. Du måste också följa följande begränsningar:

  • Flytta inte filer från en mapp till en annan.

  • Flytta inte filer från ett kabinett till ett annat.

  • Ändra inte ordningen på filer i ett kabinett.

  • Ändra inte sekvensnumret för befintliga filer. Sekvensnumret är det värde som anges i kolumnen Sekvens i -filtabellen.

  • Alla nya filer som läggs till av korrigeringen måste placeras i slutet av den befintliga filsekvensen. Sekvensnumret för en ny fil i den uppgraderade avbildningen måste vara större än det största sekvensantalet befintliga filer i målbilden.

  • Ändra inte de primära nycklarna i -filtabellen mellan de ursprungliga och nya .msi filversionerna.

    Not

    Filen måste ha samma nyckel i -filtabellen för både målbilden och den uppdaterade avbildningen. Strängvärdena i Fil-kolumnen i båda tabellerna måste vara identiska, inklusive versaler och gemener.

     

  • Skapa inte ett paket med filtabell nycklar som bara skiljer sig åt om du till exempel undviker följande tabellexempel.

    Fil Komponent_ Filnamn
    readme.txt Comp1 readme.txt
    ReadMe.txt Comp2 readme.txt

     

    Windows Installer kan tillåta föregående tabellexempel när Comp1 och Comp2 installeras på olika kataloger, men då kan du inte använda Msimsp.exe eller Patchwiz.dll för att generera en korrigering för paketet. Msimsp.exe och Patchwiz.dll anropar Makecab.exe, vilket är skiftlägesokänsligt och misslyckas.

    När du använder sammanslagningsmoduler i konfigurationen kontrollerar du att filsekvensnummer och layout följer riktlinjerna ovan.