Analizzatori di coerenza interna - ICEs

Gli analizzatori di coerenza interni, detti anche ICE, sono azioni personalizzate scritte in VBScript, JScript o come DLL o EXE. Quando queste azioni personalizzate vengono eseguite, analizzano il database per individuare le voci nei record di database validi singolarmente, ma che possono causare comportamenti non corretti nel contesto dell'intero database. Si noti che questa operazione è diversa dalla convalida eseguita sui singoli record usando MsiViewModify.

Ad esempio, la tabella Component può elencare diversi componenti che sono tutti validi quando vengono testati singolarmente con MsiViewModify. Tuttavia, MsiViewModify non rileva l'errore quando due componenti usano lo stesso GUID del codice del componente. L'azione personalizzata ICE08 è progettata per verificare che la tabella Component non contenga GUID di codice componente duplicati.

Le azioni personalizzate ICE restituiscono quattro tipi di messaggi:

  • Errori I messaggi di errore segnalano la creazione del database che causano un comportamento errato. Ad esempio, i GUID dei componenti duplicati fanno in modo che il programma di installazione registri erroneamente i componenti.
  • Avvertenze I messaggi di avviso segnalano la creazione di database che causano un comportamento non corretto in determinati casi. Gli avvisi possono anche segnalare effetti collaterali imprevisti della creazione del database. Ad esempio, l'immissione dello stesso nome di proprietà in due condizioni che differiscono solo per le lettere maiuscole e minuscole nel nome. Poiché il programma di installazione fa distinzione tra maiuscole e minuscole, il programma di installazione considera queste proprietà come proprietà diverse.
  • Errori I messaggi di errore segnalano l'errore dell'azione personalizzata ICE. L'errore è in genere causato da un database con problemi così gravi che l'ICE non può nemmeno essere eseguito.
  • Informativo I messaggi informativi forniscono informazioni da ICE e non indicano un problema con il database. Spesso sono informazioni sull'ICE stesso, ad esempio una breve descrizione. Possono anche fornire informazioni sullo stato di avanzamento durante le esecuzioni ICE.

Per altre informazioni, vedere Uso degli analizzatori di coerenza interna.