Creazione di un pacchetto patch

Gli sviluppatori creano un pacchetto patch generando un file di creazione di patch e usando Msimsp.exe per chiamare la funzione UiCreatePatchPackageEx in Patchwiz.dll. Msimsp.exe e Patchwiz.dll sono disponibili in Windows Installer SDK. Per altre informazioni, vedere Un esempio di applicazione di patch di aggiornamento di piccole dimensioni.

Poiché l'applicazione di una patch a un pacchetto del programma di installazione di Windows comporta l'installazione delle origini originali usando un nuovo file di .msi, il nuovo file di .msi deve rimanere compatibile con il layout dell'origine originale.

Quando si crea un pacchetto patch, è necessario usare un'immagine di installazione non compressa per creare una patch, ad esempio un'immagine amministrativa o un'immagine di installazione non compressa da un CD-ROM. È inoltre necessario rispettare le restrizioni seguenti:

  • Non spostare i file da una cartella a un'altra.

  • Non spostare i file da un archivio a un altro.

  • Non modificare l'ordine dei file in un archivio.

  • Non modificare il numero di sequenza dei file esistenti. Il numero di sequenza è il valore specificato nella colonna Sequenza della tabella file.

  • Tutti i nuovi file aggiunti dalla patch devono essere inseriti alla fine della sequenza di file esistente. Il numero di sequenza di qualsiasi nuovo file nell'immagine aggiornata deve essere maggiore del numero massimo di sequenza dei file esistenti nell'immagine di destinazione.

  • Non modificare le chiavi primarie nella tabella file tra le versioni di file originali e nuove .msi.

    Nota

    Il file deve avere la stessa chiave nella tabella file dell'immagine di destinazione e dell'immagine aggiornata. I valori stringa nella colonna File di entrambe le tabelle devono essere identici, inclusa la distinzione tra maiuscole e minuscole.

     

  • Non creare un pacchetto con chiavi tabella file che differiscono solo nel caso, ad esempio evitare l'esempio di tabella seguente.

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

     

    Il programma di installazione di Windows può consentire l'esempio di tabella precedente quando Comp1 e Comp2 sono installati in directory diverse, ma non è possibile usare Msimsp.exe o Patchwiz.dll per generare una patch per il pacchetto. Msimsp.exe e Patchwiz.dll chiamare Makecab.exe, senza distinzione tra maiuscole e minuscole e non riesce.

    Quando si usano moduli di merge nell'installazione, assicurarsi che i numeri di sequenza di file e il layout siano conformi alle linee guida precedenti.