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 |
Related topics