Bagikan melalui


ICE62

ICE62 melakukan pemeriksaan ekstensif pada tabel IsolatedComponent untuk data yang dapat menyebabkan perilaku yang tidak terduga.

Kegagalan untuk memperbaiki kesalahan yang dilaporkan oleh ICE62 dapat mengakibatkan kegagalan sistem komponen yang terisolasi dalam berbagai cara. Misalnya, jika bit SharedDllRefCount tidak diatur untuk komponen bersama, pendaftaran untuk komponen dapat dihapus ketika aplikasi lain menggunakan ComponentId tersebut dan dihapus instalannya.

Hasil

ICE62 memposting peringatan atau kesalahan saat menemukan data dalam tabel IsolatedComponent yang dapat menghasilkan perilaku yang tidak terduga.

Contoh

ICE62 melaporkan kesalahan dan peringatan berikut untuk contoh yang ditampilkan.

The component 'Component2' is listed as an isolated application 
component in the IsolatedComponent table, but the key path is not a file.

Component2 terdaftar sebagai komponen aplikasi untuk isolasi component1. Namun, Component2 memiliki jalur kunci registri, dan tidak menyediakan jalur yang dapat dieksekusi yang valid untuk digunakan untuk mengisolasi komponen.

Untuk memperbaiki kesalahan ini, gunakan komponen yang berbeda sebagai aplikasi untuk komponen terisolasi 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 terdaftar sebagai komponen bersama yang terisolasi, tetapi tidak memiliki set bit SharedDllRefCount. Ini dapat mengakibatkan masa pakai komponen salah. Jika aplikasi lain menggunakan komponen ini (terisolasi atau tidak) dan dihapus, pendaftaran untuk komponen dihapus tetapi salinan terisolasi aplikasi ini tetap ada. Hal ini menyebabkan masalah perbaikan dan penghapusan instalasi.

Untuk memperbaiki kesalahan ini, atur bit SharedDllRefCount untuk komponen.

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 dan Component2 diinstal oleh fitur yang berbeda. Component1 diinstal oleh Feature1, dan Component2 diinstal oleh Feature2. Feature1 bukan induk dari Feature2, oleh karena itu dimungkinkan bagi aplikasi untuk diinstal tetapi bukan komponen yang terisolasi, merusak isolasi.

Untuk memperbaiki kesalahan ini, tambahkan entri ke tabel FeatureComponents yang menautkan Component1 ke fitur yang sama dengan (atau fitur induk) fitur yang menginstal 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 memiliki kondisi dalam tabel Komponen. Jika kondisi ini pernah berubah dari TRUE ke FALSE selama masa pakai penginstalan di komputer, komponen yang terisolasi dapat tanpa informasi pendaftaran.

Untuk memperbaiki peringatan ini, hapus kondisi, atau tulis kondisi sehingga tidak pernah dapat berubah dari TRUE ke 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 diisolasi untuk Component2 dan Component3, dan kedua komponen juga diinstal ke direktori yang sama. Aplikasi berbagi komponen yang terisolasi, tetapi jika satu aplikasi dihapus, komponen bersama dihapus juga menyebabkan aplikasi lain kehilangan komponen yang terisolasi.

Untuk memperbaiki peringatan ini, instal aplikasi ke direktori yang berbeda atau periksa apakah beberapa aplikasi benar-benar memerlukan komponen yang terisolasi.

Tabel IsolatedComponent

Component_Shared Component_Application
Komponen1 Komponen2
Komponen1 Komponen3

 

Tabel Komponen

Komponen ComponentId Direktori_ Atribut Kondisi KeyPath
Komponen1 Dir1 0 MYCONDITION File1
Komponen2 TARGETDIR 4 Registri2
Komponen3 TARGETDIR 0 File3

 

FeatureComponentsTable

Fitur_ Komponen_
Feature1 Komponen1
Fitur2 Komponen2
Feature1 Komponen3

 

Tabel Fitur (parsial)

Fitur Feature_Parent
Feature1
Fitur2

 

Referensi ICE