Uso degli analizzatori di coerenza interna
Per convalidare un database, usare uno strumento di convalida speciale per unire un file con estensione cub contenente gli analizzatori di coerenza interna (ICEs) nel database, eseguire gli ices e segnalare i risultati. Diversi strumenti di questo tipo sono disponibili in Microsoft Windows Software Development Kit (SDK). Gli ambienti di creazione di fornitori di terze parti possono anche incorporare il sistema di convalida ICE nell'ambiente di creazione. È anche possibile scrivere uno strumento personalizzato per eseguire la convalida ICE. La maggior parte degli strumenti di convalida ICE unisce il file con estensione cub e il database in un terzo database temporaneo. Windows Installer visualizza avvisi, errori, informazioni di debug ed errori dell'API durante l'esecuzione di ogni ice nel file con estensione cub. Al termine dell'esecuzione degli ices, il programma di installazione chiude il file di .msi, il file con estensione cub e il database temporaneo senza salvare alcuna modifica. Il file .msi e il file con estensione cub rimangono invariati dal test di convalida.
Le azioni personalizzate ICE comunicano all'utente chiamando MsiProcessMessage e pubblicando un messaggio di INSTALLMESSAGE_USER. Un messaggio ICE restituisce in genere informazioni come le seguenti:
- Nome dell'ice che ha rilevato un errore
- Data di creazione dell'ice
- Autore del ICE
- Data dell'ultima modifica dell'ice.
- Descrizione dell'errore dell'API che causa l'esito negativo di ICE
- Descrizione dell'errore
- Avviso all'utente
- Nome della tabella di database contenente l'errore o l'avviso
- Nome della colonna della tabella contenente l'errore o l'avviso
- Chiavi primarie della tabella contenente l'errore o l'avviso
- URL di un file HTML che fornisce suggerimenti di debug
- Stringa che può contenere altre informazioni
Gli autori di pacchetti di installazione possono scrivere azioni personalizzate ICE o usare il set standard di TIC inclusi nei file con estensione cub forniti con l'SDK. Per altre informazioni su come scrivere un ICE, vedere Building an ICE (Creazione di un ice).
Dopo aver scritto gli ICE appropriati per la convalida, uno sviluppatore deve raccogliere insieme le azioni personalizzate in un database .msi, denominato file con estensione cub, che contiene solo gli ICE e le relative tabelle necessarie. Non è possibile installare un file con estensione cub e viene usato solo per archiviare e fornire l'accesso alle azioni personalizzate ICE. Per altre informazioni sulla creazione di file con estensione cub, vedere Building an ICE Database.For more information on making .cub files, see Building an ICE Database. In alternativa, gli sviluppatori possono convalidare il pacchetto di installazione usando gli ices esistenti descritti in Riferimento ICE. Questi ices possono essere ottenuti da file con estensione cub standard forniti con l'SDK.
L'installazione dell'editor di tabelle di database Orca o dello strumento di convalida msival2 fornisce i file Logo.cub, Darice.cub e Mergemod.cub. Il set di ices nel file Logo.cub è un subset di quelli nel file Darice.cub. Se il pacchetto supera la convalida usando Darice.cub, passerà con Logo.cub. Mergemod.cub contiene un set di ices usati per convalidare i moduli di merge. Per altre informazioni, vedere Merge Module ICE Reference .For more information, see Merge Module ICE Reference.
Per convalidare un pacchetto di installazione
- Ottenere o creare le azioni personalizzate ICE appropriate. È possibile usare uno o più ices esistenti descritti nella guida di riferimento ICE. Se la convalida richiede un ICE non ancora presente in questo elenco, è possibile creare un nuovo ICE come descritto in Building an ICE .If your validation requires an ICE not yet in this list, you can create a new ICE as described in Building an ICE.
- Preparare un database ICE contenente tutte le azioni personalizzate ICE. Per informazioni sulla preparazione di un file con estensione cub, vedere la sezione Creazione di un database ICE .
- Specificare il file con estensione cub e il file .msi a uno strumento di convalida del pacchetto, ad esempio Orca.exe o Msival2.exe.
Si noti che i moduli di merge devono essere convalidati come descritto in Convalida dei moduli di merge.