Condividi tramite


Inclusione di un file CAB in un'installazione

Questa sezione descrive l'inclusione di file CAB nelle installazioni. Per altre informazioni, vedere Uso di archivi e origini compresse.

Per includere un file CAB in un pacchetto di installazione

  1. Usare uno strumento di creazione cab per comprimere i file di origine in un file CAB. Vedere File cab.
  2. Il file CAB deve trovarsi in un flusso di dati all'interno del file .msi o in un file CAB separato che si trova nella radice dell'albero di origine specificato dalla tabella directory.
  3. Determinare se l'origine deve essere un tipo compresso o un tipo misto con file compressi e compressi. Vedere Origini compresse e non compresse. A seconda del tipo di immagine di origine, impostare i bit di flag compressi o non compressi della proprietà Riepilogo conteggio parole.
  4. Aggiungere un record alla tabella File per ognuno dei file nel file cab. Immettere una chiave file nella colonna File che corrisponde esattamente alla chiave del file nel file cab. Le chiavi del file fanno distinzione tra maiuscole e minuscole. Anche la sequenza di installazione del file nella tabella File e nell'archivio deve essere la stessa. La sequenza di file viene specificata dal numero di sequenza nella colonna Sequenza. Per arrivare al numero di sequenza per il primo file nel cabinet, eseguire le operazioni seguenti. Trovare il record esistente nella tabella Media con il valore massimo nella colonna DiskID. Il campo LastSequence di questo record fornisce l'ultimo numero di sequenza file utilizzato sul supporto. Nella tabella File assegnare il primo file del nuovo cabinet un numero di sequenza maggiore di questo. Assegnare numeri di sequenza a tutti i file rimanenti nello stesso ordine del file CAB. Per una descrizione dei campi dei record rimanenti, vedere Tabella file.
  5. Aggiungere un record alla tabella Media per l'armadio. Specificare un valore nel campo DiskID di questo nuovo record maggiore del valore DiskID più grande già esistente nella tabella. Inserire il nome dell'armadio nel campo Cabinet. Questo nome deve essere nel formato di un tipo di dati Cab . Anteporre il nome con un segno di numero "#" se il file cab è un flusso di dati archiviato nel file .msi. Si noti che se l'cab è un flusso di dati, il nome dell'archivio viene fatta distinzione tra maiuscole e minuscole. Se il file cab è un file separato, il nome del file non fa distinzione tra maiuscole e minuscole.
  6. Determinare il numero di sequenza di file più elevato nel nuovo cabinet controllando la colonna Sequenza della tabella file aggiornata. Immettere un valore maggiore di questo valore nel campo LastSequence del nuovo record della tabella Media. Per una descrizione dei campi record rimanenti, vedere Tabella multimediale.
  7. È possibile archiviare il file CAB nel pacchetto di installazione usando uno strumento come Msidb.exe o tramite funzioni di database del programma di installazione. I quattro passaggi seguenti illustrano come aggiungere il file CAB da un programma usando le funzioni di database.
  8. Per aggiungere il file CAB al pacchetto di installazione da un programma, aprire una vista nella tabella _Streams del database usando MsiDatabaseOpenView.
  9. Usare MsiRecordSetString per impostare la colonna Name della tabella _Streams sul nome visualizzato nella colonna Cab della tabella Media. Omettere il segno di numero: #.
  10. Usare MsiRecordSetStream per impostare la colonna Data della tabella _Streams sui dati dell'archivio.
  11. Usare MsiViewModify per aggiornare il record nella tabella _Streams.
  12. Per usare Msidb.exe per aggiungere il file CAB Mycab.cab al pacchetto di installazione denominato Mydatabase.msi, usare la riga di comando seguente: Msidb.exe -d mydatabase.msi -a mycab.cab. In questo caso, la colonna Cabinet della tabella Media deve contenere la stringa #mycab.cab.