ICE62
ICE62 esegue controlli estesi sulla tabella IsolatedComponent per i dati che possono causare un comportamento imprevisto.
La correzione di un errore segnalato da ICE62 può causare un errore del sistema componente isolato in un'ampia gamma di modi. Ad esempio, se il bit SharedDllRefCount non è impostato per un componente condiviso, la registrazione per il componente potrebbe essere rimossa quando un'altra applicazione usa ComponentId e viene disinstallata.
ICE62 invia un avviso o un errore quando trova i dati nella tabella IsolatedComponent che potrebbero produrre un comportamento imprevisto.
ICE62 segnala gli errori e gli avvisi seguenti per gli esempi illustrati.
The component 'Component2' is listed as an isolated application
component in the IsolatedComponent table, but the key path is not a file.
Component2 è elencato come componente dell'applicazione per l'isolamento del componente1. Tuttavia, Component2 ha un percorso chiave del Registro di sistema e non fornisce un percorso eseguibile valido da usare per isolare il componente.
Per correggere questo errore, usare un componente diverso come applicazione per il componente isolato Component1.
The component 'Component1' is listed as an isolated shared component in the
IsolatedComponent table, but is not marked with the SharedDllRefCount component attribute.
Component1 è elencato come componente condiviso isolato, ma non ha il set di bit SharedDllRefCount. Ciò potrebbe comportare la durata del componente non corretto. Se un'altra applicazione usa questo componente (isolato o meno) e viene disinstallata, la registrazione per il componente viene rimossa ma la copia isolata dell'applicazione rimane. Ciò causa problemi di ripristino e disinstallazione.
Per correggere questo errore, impostare il bit SharedDllRefCount per il componente.
The isolated shared component 'Component1' is not installed by the same feature as
(or a parent feature of) its isolated application component 'Component2' (which is installed by feature 'Feature2').
Component1 e Component2 vengono installati da diverse funzionalità. Component1 è installato da Feature1 e Component2 è installato da Feature2. Feature1 non è un elemento padre di Feature2, pertanto è possibile che l'applicazione venga installata ma non il componente isolato, interrompendo l'isolamento.
Per correggere questo errore, aggiungere una voce alla tabella FeatureComponents che collega Component1 alla stessa funzionalità di (o una funzionalità padre) della funzionalità che installa Component2.
WARNING: The isolated shared component 'Component1' (referenced in the IsolatedComponent table)
is conditionalized. Isolated shared component conditions should never change from TRUE to FALSE after the first install of the product.
Component1 ha una condizione nella tabella Component. Se questa condizione cambia da TRUE a FALSE durante la durata di un'installazione in un computer, il componente isolato potrebbe essere orfano senza informazioni di registrazione.
Per correggere questo avviso, rimuovere la condizione o creare la condizione in modo che non possa mai passare da TRUE a FALSE.
WARNING: The isolated shared component 'Component1' is shared by multiple applications
(including 'Component2') that are installed to the directory 'TARGETDIR'.
WARNING: The isolated shared component 'Component1' is shared by multiple applications
(including 'Component3') that are installed to the directory 'TARGETDIR'.
Component1 è isolato sia per Component2 che per Component3 e i due componenti vengono installati anche nella stessa directory. Le applicazioni condividono un componente isolato, ma se un'applicazione viene rimossa, il componente condiviso viene rimosso, causando la perdita del componente isolato da parte delle altre applicazioni.
Per correggere questo avviso, installare le applicazioni in directory diverse o verificare se alcune delle applicazioni richiedono veramente un componente isolato.
Component_Shared | Component_Application |
---|---|
Componente1 | Componente2 |
Componente1 | Componente3 |
Componente | Componentid | Directory_ | Attributi | Condizione | KeyPath |
---|---|---|---|---|---|
Componente1 | Dir1 | 0 | MYCONDITION | File1 | |
Componente2 | TARGETDIR | 4 | Registro di sistema2 | ||
Componente3 | TARGETDIR | 0 | File3 |
Feature_ | Component_ |
---|---|
Feature1 | Componente1 |
Funzionalità2 | Componente2 |
Feature1 | Componente3 |
Tabella delle funzionalità (parziale)
Funzionalità | Feature_Parent |
---|---|
Feature1 | |
Funzionalità2 |