Installazione di assembly Win32 per l'uso privato di un'applicazione in Windows XP

La procedura in questo argomento identifica come creare un pacchetto del programma di installazione di Windows per installare un assembly Win32. Il pacchetto installa l'assembly e un file manifesto dell'applicazione in una cartella creata utilizzata dall'applicazione. Il manifesto dell'applicazione specifica la dipendenza dell'applicazione nell'assembly privato. Dopo aver installato il pacchetto, l'assembly privato è disponibile per l'uso esclusivo dell'applicazione. La dipendenza dell'assembly specificata nel manifesto dell'applicazione esegue l'override (per questa applicazione) di qualsiasi altra dipendenza dell'assembly globale specificata nei file manifesto dell'assembly.

Prima di continuare, è consigliabile comprendere come creare un pacchetto del programma di installazione di Windows senza assembly. Per altre informazioni, vedere Un esempio di installazione.

Per installare un assembly privato in Windows XP

  1. Definire un componente Windows Installer che include l'assembly Win32 e il file manifesto dell'applicazione. Questo componente può contenere altre risorse che devono essere sempre installate o rimosse con l'assembly. I passaggi rimanenti di questa procedura descrivono come creare il database di installazione per installare questo componente.
  2. Aggiungere una riga alla tabella Component per il componente che contiene l'assembly Win32 e il file manifesto dell'applicazione. Immettere un GUID del programma di installazione valido Windows per questo codice componente. Per altre informazioni, vedere Modifica del codice componente e Cosa accade se le regole del componente vengono interrotte?
  3. Il programma di installazione copia il file manifesto dell'assembly nella cartella contenente il file specificato nel campo File_Application della tabella MsiAssembly.
  4. Aggiungere una riga alla tabella FeatureComponents che lega il componente a una funzionalità del programma di installazione di Windows. Per altre informazioni, vedere Componenti e funzionalità. Una funzionalità Windows Programma di installazione deve essere una parte della funzionalità dell'applicazione che un utente può riconoscere. L'assembly viene attivato quando questa funzionalità viene selezionata da un utente o da un errore in da un'applicazione. Se l'assembly definisce una funzionalità aggiuntiva, aggiungere una riga aggiuntiva alla tabella Funzionalità per gli attributi delle funzionalità. Questo passaggio non è obbligatorio se si crea un modulo di tipo merge.
  5. Per gli assembly side-by-side, le informazioni di associazione e attivazione, ad esempio le classi COM, le interfacce e le librerie di tipi, vengono archiviate nei file manifesto anziché nel Registro di sistema. Gli assembly privati archiviano queste informazioni in un manifesto dell'assembly. Nei sistemi che supportano assembly side-by-side, il programma di installazione ignora l'elaborazione di eventuali informazioni sul componente immesso nella tabella Estensione, tabella Verb, Tabella TypeLib, tabella MIME, tabella Classe, tabella ProgId e tabella AppId. Le informazioni di associazione e attivazione possono essere immesse nelle tabelle da usare dai sistemi che non supportano la condivisione di assembly side-by-side.
  6. L'installazione side-by-side non registra l'assembly a livello globale. Il programma di installazione ignora la registrazione automatica del componente se le informazioni di registrazione automatica sono immesse nella tabella SelfReg. Le informazioni di registrazione automatica possono essere immesse nella tabella SelfReg per la registrazione automatica del componente nei sistemi che non supportano la condivisione di assembly side-by-side.
  7. Aggiungere qualsiasi altra informazione del Registro di sistema, esclusiva dell'associazione e dell'attivazione o della registrazione automatica del componente, alla tabella Registro di sistema, alla tabella RemoveRegistry e alla tabella Environment.
  8. Il programma di installazione ignora la tabella IsolatedComponent per questo componente nei sistemi operativi che supportano la condivisione side-by-side. Immettere le informazioni in questa tabella se si vuole che l'assembly sia privato nei sistemi che supportano i file locali.
  9. Aggiungere una riga alla tabella MsiAssembly per il componente che contiene l'assembly Win32. Immettere un valore 1 nel campo Attributi della tabella MsiAssembly per specificare che si tratta di un assembly Win32. Immettere la chiave file dell'assembly privato nel campo File_Application della tabella MsiAssembly. Aggiungere l'azione MsiPublishAssemblies alla tabella InstallExecuteSequence o alla tabella AdvtExecuteSequence. Aggiungere l'azione MsiUnpublishAssemblies alla tabella InstallExecuteSequence. Creare una cartella per l'assembly e il file manifesto nella tabella Directory. Questa cartella deve trovarsi nella directory radice dell'applicazione e contenere il file specificato nel campo File_Application della tabella MsiAssembly. Durante l'installazione dell'applicazione, il programma di installazione risolve la tabella Directory per il percorso di questa cartella. Per altre informazioni, vedere Uso della tabella directory.
  10. Aggiungere righe alla tabella MsiAssemblyName per il componente. Aggiungere una riga per ogni nome e coppia di valori specificata nella sezione assemblyIdentity del manifesto. Per altre informazioni, vedere Tabella MsiAssemblyName.