ICE42
ICE42 проверяет, не связаны ли серверы InProc с EXE-файлами в таблице Классов. Он также проверяет, имеют ли только классы LocalServer и LocalServer32 аргументы и значения DefInProc.
Результат
ICE42 выдает ошибку, если в таблице Class есть серверы InProc, связанные с EXE-файлами.
Пример
ICE42 сообщит следующие ошибки в приведенном примере.
Ошибка ICE42 | Описание |
---|---|
CLSID "{GUID1}" является сервером InProc, но реализующий компонент "Component1" имеет EXE-файл ("test.exe") в качестве keyFile. | В качестве сервера InProc указан исполняемый файл. EXE-файлы не могут быть серверами InProc. |
CLSID "{GUID1}" в контексте "InProcServer32" имеет аргумент . Аргументы могут иметь только контексты LocalServer. | Чтобы устранить эту ошибку, удалите аргумент . |
CLSID "{GUID1}" в контексте "InProcServer32" задает значение InProc по умолчанию. Только контексты LocalServer могут иметь значения InProc по умолчанию. | Существует объект со значением InProc по умолчанию, который не является объектом, работающим в контекстах LocalServer или LocalServer32. Чтобы устранить эту ошибку, удалите значение DeflnProc или измените контекст класса . |
Таблица классов (частичная)
CLSID | Контекст | Компонент_ | DefInProcHandler | Аргумент |
---|---|---|---|---|
{GUID1} | InProcServer32 | Компонент1 | InProcServer | Arg |
Таблица компонентов (частичная)
Компонент | KeyPath |
---|---|
Компонент1 | Файл1 |
Таблица файлов (частичная)
File | имя_файла |
---|---|
Файл1 | test.exe |
Связанные темы