ICE62
ICE62 voert uitgebreide controles uit op de tabel IsolatedComponent voor gegevens die onverwacht gedrag kunnen veroorzaken.
Het oplossen van een fout die door ICE62 is gerapporteerd, kan leiden tot een storing van het geïsoleerde onderdeelsysteem op verschillende manieren. Als de Bit SharedDllRefCount bijvoorbeeld niet is ingesteld voor een gedeeld onderdeel, kan de registratie voor het onderdeel worden verwijderd wanneer een andere toepassing die ComponentId gebruikt en wordt verwijderd.
Resultaat
ICE62 plaatst een waarschuwing of fout wanneer er gegevens in de tabel IsolatedComponent worden gevonden die onverwacht gedrag kunnen opleveren.
Voorbeeld
ICE62 rapporteert de volgende fouten en waarschuwingen voor de weergegeven voorbeelden.
The component 'Component2' is listed as an isolated application
component in the IsolatedComponent table, but the key path is not a file.
Component2 wordt vermeld als het toepassingsonderdeel voor de isolatie van component1. Component2 heeft echter een registersleutelpad en biedt geen geldig uitvoerbaar pad dat moet worden gebruikt om het onderdeel te isoleren.
Als u deze fout wilt oplossen, gebruikt u een ander onderdeel als de toepassing voor het geïsoleerde onderdeel 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 wordt vermeld als een geïsoleerd gedeeld onderdeel, maar heeft de bitset SharedDllRefCount niet. Dit kan ertoe leiden dat de levensduur van het onderdeel onjuist is. Als een andere toepassing dit onderdeel gebruikt (geïsoleerd of niet) en wordt verwijderd, wordt de registratie voor het onderdeel verwijderd, maar blijft de geïsoleerde kopie van deze toepassing behouden. Dit veroorzaakt reparatie- en verwijderingsproblemen.
Als u deze fout wilt oplossen, stelt u de SharedDllRefCount-bit voor het onderdeel in.
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 en Component2 worden geïnstalleerd door verschillende functies. Component1 wordt geïnstalleerd door Feature1 en Component2 wordt geïnstalleerd door Feature2. Feature1 is geen bovenliggend onderdeel van Feature2, dus het is mogelijk dat de toepassing wordt geïnstalleerd, maar niet het geïsoleerde onderdeel, waardoor de isolatie wordt onderbroken.
Als u deze fout wilt oplossen, voegt u een vermelding toe aan de tabel FeatureComponents die Component1 koppelt aan dezelfde functie als (of een bovenliggende functie van) de functie die Component2 installeert.
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 heeft een voorwaarde in de tabel Component. Als deze voorwaarde ooit verandert van TRUE in FALSE tijdens de levensduur van een installatie op een computer, kan het geïsoleerde onderdeel zonder registratiegegevens zweven.
Als u deze waarschuwing wilt oplossen, verwijdert u de voorwaarde of ontwerpt u de voorwaarde, zodat deze nooit kan worden gewijzigd van TRUE in 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 is geïsoleerd voor zowel Component2 als Component3, en de twee onderdelen worden ook in dezelfde map geïnstalleerd. De toepassingen delen een geïsoleerd onderdeel, maar als één toepassing wordt verwijderd, wordt het gedeelde onderdeel ook verwijderd, waardoor de andere toepassingen het geïsoleerde onderdeel kwijtraken.
Als u deze waarschuwing wilt oplossen, installeert u de toepassingen in verschillende mappen of controleert u of sommige toepassingen echt een geïsoleerd onderdeel vereisen.
Component_Shared | Component_Application |
---|---|
Component1 | Component2 |
Component1 | Component3 |
Bestanddeel | ComponentId | Map_ | Kenmerken | Conditie | KeyPath |
---|---|---|---|---|---|
Component1 | Dir1 | 0 | MYCONDITION | Bestand1 | |
Component2 | TARGETDIR | 4 | Register2 | ||
Component3 | TARGETDIR | 0 | Bestand3 |
Gelaatstrek_ | Bestanddeel_ |
---|---|
Functie1 | Component1 |
Functie2 | Component2 |
Functie1 | Component3 |
functietabel (gedeeltelijk)
Gelaatstrek | Feature_Parent |
---|---|
Functie1 | |
Functie2 |
Verwante onderwerpen