Share via


Uso di Automazione per unire un modulo di merge in un database

I moduli di merge forniscono un metodo standard per distribuire componenti di Windows Installer condivisi e configurare la logica alle applicazioni.

I moduli di merge devono essere uniti in un pacchetto di installazione usando uno strumento di unione. La procedura consigliata consiste nell'ottenere uno strumento di unione distribuito liberamente o acquistare uno degli strumenti di merge disponibili da fornitori di software indipendenti, ad esempio, è possibile usare Mergemod.dll.

La procedura seguente illustra come unire un modulo di merge in un database di Windows Installer usando l'automazione del modulo di merge.

Per unire un modulo in un database

  1. Aprire un file di log usando il metodo OpenLog .

    Questo passaggio è necessario solo se è necessario creare un file di log o accodare un file di log esistente per il processo di merge.

  2. Aprire il database di installazione.msi utilizzando il metodo OpenDatabase dell'oggetto Merge.

    Questo passaggio è obbligatorio.

    Il database aperto è quello che si desidera ricevere il modulo di merge.

  3. Aprire il modulo .msm merge usando il metodo OpenModule .

    Questo passaggio è obbligatorio.

    Si tratta del modulo di merge che viene unito al database. Prima di poter essere unito a un database di installazione, è necessario aprire un modulo.

  4. Unire il modulo nel database di installazione chiamando il metodo Merge o MergeEx .

    Questo passaggio è obbligatorio.

    Il metodo Merge o MergeEx può essere chiamato una sola volta per unire una combinazione specifica di file.msi e msm.

    Nota

    Il metodo MergeEx è disponibile solo in Mergemod.dll versione 2.0 o successiva e solo quando si usa l'interfaccia IMsmMerge2 .

     

  5. Recuperare la proprietà Errors ed esaminare l'insieme di oggetti Error restituiti per conflitti di merge o altri errori.

    È necessario risolvere eventuali errori.

    Il recupero non è distruttivo e è possibile recuperare più istanze della raccolta errori leggendo ripetutamente la proprietà Errors .

  6. Associare i componenti del modulo di merge alle funzionalità usando il metodo Connect .

    Questo passaggio è necessario solo se si dispone di funzionalità esistenti e si desidera aggiungere funzionalità da unire nel database di installazione.

    Prima di chiamare questo metodo, è necessario che esista una funzionalità. Per altre informazioni, vedere Connessione di un modulo di merge a più funzionalità.

  7. Se necessario, estrarre i file di origine dal modulo eseguendo una o più delle operazioni seguenti:

  8. Chiudere il modulo merge aperto corrente usando il metodo CloseModule .

    Questo passaggio è obbligatorio.

  9. Chiudere il database di installazione aperto usando il metodo CloseDatabase .

    Questo passaggio è obbligatorio.

    La chiusura di un database cancella tutte le informazioni sulle dipendenze, ma non influisce sugli errori non recuperati.

  10. Chiudere il file di log corrente usando il metodo CloseLog .

    Questo passaggio è obbligatorio se si dispone di un file di log aperto.

Dopo che il modulo è stato unito al database usando Mergemod.dll, è necessario aggiornare la tabella multimediale per descrivere il layout dell'immagine di origine desiderato. Il processo di unione fornito da Mergemod.dll non aggiorna la tabella multimediale perché il consumer del modulo di merge può selezionare vari modi per layoutre l'immagine di origine.

Versioni rilasciate, strumenti e ridistribuibili