ICE42
ICE42 проверяет, что серверы InProc не связаны с ФАЙЛАми EXE в таблице классов . Он также проверяет, что только классы LocalServer и LocalServer32 имеют аргументы и значения DefInProc.
Результат
ICE42 публикует ошибку, если в таблице классов есть серверы 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 |
таблицу файлов (частично)
Файл | Имя файла |
---|---|
Файл1 | test.exe |
Связанные разделы