ICE42
ICE42 sprawdza, czy serwery InProc nie są połączone z plikami EXE w tabeli klas . Sprawdza również, czy tylko klasy LocalServer i LocalServer32 mają argumenty i wartości DefInProc.
Wynik
ICE42 publikuje błąd, jeśli w tabeli Klasy znajdują się serwery InProc połączone z plikami EXE.
Przykład
ICE42 zgłosi następujące błędy dla pokazanego przykładu.
Błąd ICE42 | Opis |
---|---|
CLSID "{GUID1}" jest serwerem InProc, ale składnik implementujący "Component1" ma plik EXE ("test.exe") jako plik KeyFile. | Plik wykonywalny jest określony jako serwer InProc. Pliki EXE nie mogą być serwerami InProc. |
Identyfikator CLSID "{GUID1}" w kontekście "InProcServer32" ma argument. Tylko konteksty LocalServer mogą mieć argumenty. | Aby naprawić ten błąd, usuń argument. |
CLSID "{GUID1}" w kontekście "InProcServer32" określa domyślną wartość InProc. Tylko konteksty LocalServer mogą mieć domyślne wartości InProc. | Istnieje obiekt z domyślną wartością InProc, która nie jest obiektem działającym w kontekstach LocalServer lub LocalServer32. Aby naprawić ten błąd, usuń wartość DeflnProc lub zmień kontekst klasy. |
Tabela klas (częściowa)
CLSID | Kontekst | Składnik_ | DefInProcHandler | Argument |
---|---|---|---|---|
{GUID1} | InProcServer32 | Składnik1 | InProcServer | Arg |
tabela składników (częściowa)
Składnik | KeyPath |
---|---|
Składnik1 | Plik1 |
Plik | Pod nazwą |
---|---|
Plik1 | test.exe |
Tematy pokrewne