Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł pomaga rozwiązać problem polegający na tym, że ustawienia składnika COM+ będą uszkodzone podczas migracji z platformy x86 do platformy x64.
Dotyczy: Windows 10 — wszystkie wersje
Oryginalny numer KB: 2481190
Symptomy
Migrowanie z platformy x86 do platformy x64 przy użyciu narzędzia do migracji stanu użytkownika (USMT) 4.0 do platformy x64 spowoduje uszkodzenie ustawień składników COM+.
Uwaga 16.
Problem nie występuje podczas migracji z x86 do x86 lub x64 do platform x64.
Otwieranie APLIKACJI COMEXP. MSC lub DCOMCNFG.EXE i przejście do katalogu Usługi składników\Komputery\Mój komputer spowoduje następujący błąd na ekranie:
Nie masz uprawnień do wykonania żądanej akcji.
Ponadto w dzienniku aplikacji może zostać wyświetlone zdarzenie o identyfikatorze 4434:
Nazwa dziennika: Aplikacja
Źródło: Complus
Identyfikator zdarzenia: 4434
Poziom: Ostrzeżenie
Użytkownik: Nie dotyczy
Kategoria zadań: Zabezpieczenia
Słowa kluczowe: Klasyczne
Komputer:win7-1.contoso.com
Wywołanie metody do obiektu w aplikacji COM+ zostało odrzucone, ponieważ obiekt wywołujący nie jest poprawnie autoryzowany do wykonania tego wywołania. Aplikacja COM+ jest skonfigurowana do używania kontroli dostępu na poziomie aplikacji i składnika, a wymuszanie tych testów jest obecnie włączone. Pozostała część tego komunikatu zawiera informacje o metodzie składnika, którą obiekt wywołujący próbował wywołać i tożsamość obiektu wywołującego. SVC/Lvl/Imp = 10/6/3, Identity=<<DOMAIN\Username>>
Przyczyna
Jest to znany problem z narzędziem USMT podczas migracji z x86 do x64.
Rozwiązanie
Rozwiązanie
Aby obejść problem w narzędziu USMT 4.0, należy określić plik config.xml i ustawić "Microsoft-Windows-COM-ComPlus-Setup", aby nie migrować.
Jeśli nie używasz jeszcze pliku config.xml dla narzędzia USMT, możesz wygenerować go automatycznie, określając przełącznik /genconfig w celu scanstate.exe składni. Na przykład:
scanstate.exe /genconfig:config.xml /i:migdocs.xml /i:migapp.xml
Aby uzyskać więcej informacji na temat narzędzia USMT i plików config.xml, zobacz następujący artykuł w witrynie Microsoft TechNet:
Po wygenerowaniu pliku config.xml należy edytować następującą sekcję w zależności od źródłowego systemu operacyjnego:
Windows XP — <składnik displayname=" Microsoft-Windows-COM-ComPlus-Setup-DL " migrate=" no "
Windows Vista lub Windows 7 — <składnik displayname=" Microsoft-Windows-COM-ComPlus-Setup " migrate=" no "
Zapisz zmiany w config.xml. Uwzględnij zaktualizowany config.xml podczas używania scanstate.exe do obejścia problemu. Na przykład:
scanstate.exe c:\mystore /i:migdocs.xml /i:migapp.xml /config:config.xml /v:5
Spowoduje to wykonanie scanstate.exe, użycie c:\mystore jako magazynu migracji i dołączenie MigDocs.XML, MigApp.xml i Config.XML migracji z włączonym pełnym rejestrowaniem.
Więcej informacji
Jeśli jesteś w scenariuszu, w którym przeprowadzono już migrację, a com+ jest uszkodzony, możesz użyć następującej procedury, aby przywrócić oryginalne repozytorium COM+:
W wierszu polecenia administracyjnego uruchom następujące trzy polecenia:
CD %windir%\winsxs\
CD *amd64*com-complus*runtime*
Dir
Sprawdź, czy plik R000000000001.clb jest obecny. Następnie skopiuj go z bieżącego katalogu do katalogu głównego dysku C, uruchamiając następujące polecenie:
copy R000000000001.clb C:\R000000000001.clb
Następnie skopiuj i wklej następujący skrypt VB (między liniami przerywanym) w celu a.txt pliku i zmień jego nazwę COM_Restore.vbs (pamiętaj, aby zmienić rozszerzenie pliku .txt na vbs).
=============================================================================
Dim objComCatalog
Set objComCatalog = CreateObject("COMAdmin.COMAdminCatalog")
objComCatalog.RestoreREGDB "C:\R000000000001.clb"
MsgBox "Backup Restored!"
Set objComCatalog = Nothing
=============================================================================
Zapisz skrypt w katalogu głównym C:\.
W wierszu polecenia uruchom następujące polecenie:
C:\cscript COM_Restore.vbs
Po wyświetleniu wyskakującego komunikatu informującego, że kopia zapasowa została przywrócona, uruchom ponownie komputer (jest to wymagane).
Na koniec otwórz pozycję Serwery składników (dcomcnfg.exe) i sprawdź, czy nadal występują błędy.
Uwaga 16.
Jeśli logujesz się jako użytkownik niebędący administratorem i próbujesz uruchomić usługi składników, oczekiwany jest identyfikator zdarzenia 4434. Użytkownicy niebędący administratorami nie są częścią roli administratora aplikacji systemowej COM+ i dlatego ostrzeżenie o zabezpieczeniach zostanie zarejestrowane w dzienniku zdarzeń. Nie oznacza to, że wykaz COM+ jest uszkodzony.