ICE42

ICE42 validates that InProc servers are not linked to EXE files in the Class table. It also validates that only LocalServer and LocalServer32 classes have arguments and DefInProc values.

Result

ICE42 posts an error if there are InProc servers linked to EXE files in the Class table.

Example

ICE42 would report the following errors for the example shown.

ICE42 error Description
CLSID '{GUID1}' is an InProc server, but the implementing component 'Component1' has an EXE ('test.exe') as its KeyFile. There is an executable file specified as an InProc server. EXE files cannot be InProc servers.
CLSID '{GUID1}' in context 'InProcServer32' has an argument. Only LocalServer contexts can have arguments. To fix this error, remove the argument.
CLSID '{GUID1}' in context 'InProcServer32' specifies a default InProc value. Only LocalServer contexts can have default InProc values. There is an object with a default InProc value that is not an object operating in the LocalServer or LocalServer32 contexts. To fix this error, remove the DeflnProc value or change the context of the class.

 

Class Table (partial)

CLSID Context Component_ DefInProcHandler Argument
{GUID1} InProcServer32 Component1 InProcServer Arg

 

Component Table (partial)

Component KeyPath
Component1 File1

 

File Table (partial)

File Filename
File1 test.exe

 

ICE Reference