Udostępnij za pośrednictwem


Rozwiązywanie problemów z krokiem sekwencji zadań Instalowanie aplikacji w programie Configuration Manager

Ten przewodnik ułatwia zrozumienie kroku sekwencji zadań Instalowanie aplikacji i rozwiązywanie typowych problemów, które mogą wystąpić. W tym przewodniku założono, że środowisko programu Configuration Manager zostało już zainstalowane i skonfigurowane.

Oryginalna wersja produktu: Configuration Manager current branch, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager
Oryginalny numer KB: 18408

Krok sekwencji zadań Zainstaluj aplikację instaluje aplikacje w ramach ogólnej sekwencji zadań. Ten krok umożliwia zainstalowanie zestawu określonych aplikacji lub zestawu aplikacji określonych przez dynamiczną listę zmiennych sekwencji zadań. Po uruchomieniu tego kroku instalacja aplikacji rozpoczyna się natychmiast bez oczekiwania na interwał sondowania zasad.

Omówienie

Krok Instalowanie aplikacji opisany w tym artykule obejmuje jedno zadanie instalacji aplikacji. Może również służyć do rozwiązywania problemów z instalacją wielu aplikacji na podstawie listy.

Po uruchomieniu kroku Instalowanie aplikacji aplikacja sprawdza możliwość zastosowania reguł wymagań i metody wykrywania dla typów wdrożeń aplikacji. Na podstawie wyników tego testu aplikacja instaluje odpowiedni typ wdrożenia. Jeśli typ wdrożenia zawiera zależności, typ wdrożenia zależnego jest oceniany i instalowany w ramach kroku Instalowanie aplikacji .

Uwaga 16.

Zależności aplikacji nie są obsługiwane dla nośników autonomicznych.

Krok 1. Menedżer sekwencji zadań analizuje kod XML sekwencji zadań i rozpoczyna zadanie Zainstaluj aplikację

Instalacje aplikacji w sekwencji zadań mają wiele wspólnego z instalacjami aplikacji poza sekwencją zadań. Obaj używają ustawień zgodności programu Configuration Manager. Ale nie działają dokładnie tak samo. Istnieje więcej składników ze względu na charakter uruchamiania sekwencji zadań.

W miarę postępu sekwencji zadań zachowuje stan zadań i skojarzony stan wykonywania przy użyciu zmiennych środowiskowych sekwencji zadań. Te wbudowane zmienne zawierają informacje o środowisku, w którym działa sekwencja zadań. Wartości tych zmiennych są dostępne w całej sekwencji zadań. Te wbudowane zmienne są inicjowane przed uruchomieniem kroku Zainstaluj aplikację w sekwencji zadań.

  1. Menedżer sekwencji zadań ustawia następujące globalne zmienne środowiskowe dla następnej instrukcji:

    • _SMSTSCurrentActionName Aby zainstalować aplikację
    • _SMSTSNexInstructionPointer do wskaźnika instrukcji przypisanego do tego zadania

    Następujące wpisy są rejestrowane w SMSTS.log:

    01-13-2016 17:56:35.510 TSManager 2176 (0x880) Rozpocznij wykonywanie instrukcji. Instrukcjaname: Zainstaluj aplikację. Wskaźnik instrukcji: 32
    01-13-2016 17:56:35.510 TSManager 2176 (0x880) Ustaw globalną zmienną środowiskową _SMSTSCurrentActionName=Install Application
    01-13-2016 17:56:35.510 TSManager 2176 (0x880) Ustawianie globalnej zmiennej środowiskowej _SMSTSNextInstructionPointer=32

  2. Menedżer sekwencji zadań zapisuje następnie stan wykonywania sekwencji zadań i środowiska (TSEnv.dat) na lokalnym dysku twardym, jak pokazano w SMSTS.log:

    01-13-2016 17:56:35.510 TSManager 2176 (0x880) Pomyślnie zapisz stan wykonywania i środowisko na lokalnym dysku twardym

  3. Menedżer sekwencji zadań uruchamia wykonywanie następnej instrukcji w sekwencji na podstawie historii wykonywania poprzedniej instrukcji i następnego wskaźnika instrukcji:

    01-13-2016 17:56:35.510 TSManager 2176 (0x880) Rozpocznij wykonywanie instrukcji. Instrukcjaname: Zainstaluj aplikację. Wskaźnik instrukcji: 32

  4. Menedżer sekwencji zadań ustawia następnie lokalne zmienne domyślne dla aplikacji:

    01-13-201617:56:35.510 TSManager 2176 (0x880) Ustaw lokalną zmienną domyślną OSDApp0Description
    01-13-201617:56:35.510 TSManager 2176 (0x880) Ustaw lokalną zmienną domyślną OSDApp0DisplayName
    01-13-201617:56:35.510 TSManager 2176 (0x880) Ustaw lokalną zmienną domyślną OSDApp0Name
    01-13-201617:56:35.510 TSManager 2176 (0x880) Ustaw lokalną zmienną domyślną OSDAppCount
    01-13-201617:56:35.525 TSManager 2176 (0x880) Ustaw globalną zmienną środowiskową _SMSTSLogPath=C:\WINDOWS\CCM\Logs\SMSTSLog

  5. Menedżer sekwencji zadań ustawia wiersz polecenia dla instalacji aplikacji (smsappinstall.exe) na podstawie zasad XML sekwencji zadań, które zostały przeanalizowane, i rozpoczyna wykonywanie go przez wywołanie smsappinstall.exe. Następujący wpis jest rejestrowany w SMSTS.log:

    01-13-2016 17:56:35.525 TSManager 2176 (0x880) Wykonywanie wiersza polecenia: smsappinstall.exe/app:ScopeId_GUID/Application_GUID/basevar: /continueOnError:False

W tym momencie zadanie Zainstaluj aplikację (smsappinstall.exe) rozpoczyna instalowanie aplikacji, chociaż wiersz polecenia do uruchomienia instalacji nie nastąpi jeszcze przez jakiś czas. Należy najpierw uzyskać wszystkie niezbędne informacje.

Rozwiązywanie problemów z krokiem 1

Na podstawie przepływu i wykonywania sekwencji zadań jest mało prawdopodobne, że w tym kroku procesu Zainstaluj aplikację wystąpi błąd. W tym momencie Menedżer sekwencji zadań pomyślnie przeanalizować kod XML sekwencji zadań i ustawić wskaźnik instrukcji dla bieżącego zadania. Ponadto zasady sekwencji zadań są pobierane po rozpoczęciu sekwencji zadań. Wyniki są zwracane do sekwencji zadań. Są one przechowywane w środowisku sekwencji zadań przy użyciu zmiennych zapisanych na dysku jako TSEnv.dat.

Poniżej przedstawiono niektóre elementy, które należy wziąć pod uwagę podczas badania tych problemów. Może istnieć dodatkowa informacja, która może służyć do rozwiązywania problemów z warunkiem błędu.

Napiwek

Treść zasad wybranej sekwencji zadań jest pobierana z bazy danych na początku sekwencji zadań i przechowywana w środowisku sekwencji zadań przy użyciu zmiennych.

MP_GetPolicy spowoduje zarejestrowanie tego działania. Aby znaleźć to żądanie w dzienniku MP_GetPolicy , wyszukaj identyfikator wdrożenia lub identyfikator sekwencji zadań.

01-13-2016 17:32:54.579 MP_GetPolicy_ISAPI 12688 (0x3190) MP GP: Ciąg zapytania przed dekodowaniem: MEH20009-MEH0000A-6F6BCC28.15_00
01-13-2016 17:32:54.579 MP_GetPolicy_ISAPI 12688 (0x3190) MP GP: IDENTYFIKATOR: MEH20009-MEH0000A-6F6BCC28
01-13-2016 17:32:54.579 MP_GetPolicy_ISAPI 12688 (0x3190) MP GP: Inicjowanie żądania z identyfikatora GUID klienta:ClientGUID.

Następująca procedura składowana jest wykonywana w celu pobrania treści zasad:

exec MP_GetPolicyBodyAfterAuthorization

Wyniki żądania treści zasad są zwracane na maszynę i zapisywane w środowisku sekwencji zadań (TSEnv.dat). Treść zasad dla sekwencji zadań i wszystkie jej zasady zależne są przechowywane przy użyciu zmiennych. Menedżer sekwencji zadań rejestruje dużą część tego, co odczytuje ze środowiska.

Krok 2. Składnik Zainstaluj aplikację ocenia zasady sekwencji zadań i przechowuje je w usłudze WMI

W tym kroku składnik Zainstaluj aplikację ocenia zasady sekwencji zadań i przechowuje je w usłudze WMI. Aplikacja sprawdza możliwość stosowania reguł wymagań i metody wykrywania dla typów wdrożeń aplikacji. CIStore i CIStateStore są używane do oceny stosowania i stanu elementów konfiguracji (CI) oraz zawartości danych konfiguracji skojarzonych z aplikacją i typem wdrożenia. Wynikiem jest to, że wskaźniki CI zostaną oznaczone do pobrania.

  1. Instalacja aplikacji analizuje wiersz polecenia i identyfikuje nazwę aplikacji. Następujące wpisy są rejestrowane w SMSTS.log:

    01-13-2016 17:56:35.572 InstallApplication 1608 (0x648) Nazwy aplikacji:
    01-13-2016 17:56:35.572 InstallApplication 1608 (0x648) "ScopeId_GUID/Application_GUID"

  2. Instalowanie aplikacji ustawia zmienne dla aplikacji. Następujące wpisy są rejestrowane w SMSTS.log:

    01-13-2016 17:56:35.666 InstallApplication 1608 (0x648) Ustawienie zmiennej TSEnv "SMSTSAppPolicyEvaluationJobID__ScopeId_GUID/Application_GUID'='"
    01-13-2016 17:56:35.666 InstallApplication 1608 (0x648) Ustawienie zmiennej TSEnv "SMSTSInstallApplicationJobID__ScopeId_GUID/Application_GUID'='"

  3. Następnie wyszukuje identyfikator zakresu zasad. Następujący wpis jest rejestrowany w SMSTS.log:

    01-13-2016 17:56:35.666 InstallApplication 1608 (0x648) Pobieranie wartości z TSEnv dla elementu "_SMSTSPolicy_ScopeId_GUID/Application_GUID

  4. Teraz wyszukuje i pobiera wartość zasad aplikacji ze środowiska sekwencji zadań (TSEnv.dat). Następujący wpis jest rejestrowany w SMSTS.log:

    01-13-2016 17:56:35.666 InstallApplication 1608 (0x648) Znaleziono nazwę modelu zasad aplikacji:ScopeId_GUID/RequiredApplication_GUID i CIversion:10

  5. Zainstaluj aplikację , a następnie dekompresuje zasady. Następujące wpisy są rejestrowane w SMSTS.log:

    01-13-2016 17:56:35.666 InstallApplication 1608 (0x648) Znaleziono nazwę modelu zasad aplikacji:ScopeId_GUID/RequiredApplication_GUID i CIversion:10
    01-13-2016 17:56:35.682 InstallApplication 1608 (0x648) ::D ecompressBuffer(65536)
    01-13-2016 17:56:35.682 InstallApplication 1608 (0x648) Dekompresja (zlib) powiodła się: oryginalny rozmiar 145382, nieskompresowany rozmiar 1238794.

  6. Zasady są przechowywane w usłudze WMI przez składnik Zainstaluj aplikację root\ccm\policy\actualconfig w przestrzeni nazw. Następujące wpisy są rejestrowane w SMSTS.log:

    01-13-2016 17:56:36.119 InstallApplication 1608 (0x648) Pomyślnie zablokowana konfiguracja rzeczywista
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) Nowe/zmienione wystąpienia zasad ActualConfig: 6
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) [1] Dodano/zaktualizowano ustawienie "ccm_applicationciassignment:assignmentid=dep-meh20009-scopeid_GUID/application_GUID".
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) [2] Dodano/zaktualizowano ustawienie "ccm_civersioninfo:modelname=scopeid_GUID/application_GUID:version=10".
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) [3] Dodano/zaktualizowano ustawienie "ccm_civersioninfo:modelname=scopeid_GUID/deploymenttype_GUID:version=6".
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) [4] Dodano/zaktualizowano ustawienie "ccm_civersioninfo:modelname=scopeid_GUID/requiredapplication_GUID:version=10".
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) [5] Dodano/zaktualizowano ustawienie "ccm_civersioninfo:modelname=windows/all_windows_client_server:version=1".
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) [6] Dodano/zaktualizowano ustawienie "ccm_scheduler_scheduledmessage:scheduledmessageid=dep-meh20009-scopeid_GUID/application_GUID".
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) Pomyślnie odblokowana konfiguracja rzeczywista
    01-13-2016 17:56:36.150 InstallApplication 1608 (0x648) Zdarzenie podnoszenia:
    wystąpienie CCM_PolicyAgent_SettingsEvaluationComplete
    {
    ClientID = "GUID:ClientGUID";
    DateTime = "20160113225636.150000+000";
    PolicyNamespace = "\\\\.\\root\\ccm\\policy\\machine\\actualconfig";
    ProcessID = 1392; ThreadID = 1608;
    };

  7. Dostawca agenta zasad następnie przetwarza zmianę actualconfig w przestrzeni nazw zasad. Następujące wpisy są rejestrowane w PolicyAgentProvider.log:

    01-13-2016 17:56:36.150 PolicyAgentProvider 2424 (0x978) [000000B205C423A8] Wykryto zmiany ustawień.
    01-13-2016 17:56:36.182 PolicyAgentProvider 2424 (0x978) [000000B205C423A8] Proces roboczy w kolejce w celu przetworzenia tych 1 zmian ustawień
    01-13-2016 17:56:36.182 PolicyAgentProvider 2420 (0x974) --- Przetwarzanie 1 zmian ustawień.
    01-13-2016 17:56:36.182 PolicyAgentProvider 2420 (0x974) --- [1] __InstanceCreationEvent zmiany ustawień obiektu CCM_ApplicationCIAssignment.AssignmentID="DEP-MEH20009-ScopeId_GUID/Application_GUID".
    01-13-2016 17:56:36.182 PolicyAgentProvider 2420 (0x974) --- Początek wskazujący 1 zmiany ustawień.
    01-13-2016 17:56:36.182 PolicyAgentProvider 2420 (0x974) --- Ukończono wskazujące 1 zmiany ustawień.

  8. Agent DCMAgent przetwarza zmianę i zaczyna oceniać instalacje aplikacji. W DCMAgent.log jest rejestrowany następujący wpis:

    01-13-2016 17:56:36.197 DCMAgent 2608 (0xa30) DCMAgent::P rocessAsignmentChange.

  9. Agent zasad aktualizuje informacje o elemencie konfiguracji w magazynie ciągłej integracji. Następujące wpisy są rejestrowane w CIStore.log:

    01-13-2016 17:56:36.260 CIStore 2608 (0xa30) CCIStore::P rocessCITargetEvent — CIScopeId_GUID/Application_GUID:10 będzie przeznaczony dla systemu
    01-13-2016 17:56:36.275 CIStore 2608 (0xa30) CCIStore::P rocessCITargetEvent — CI ScopeId_GUID/DeploymentType_GUID:6 będzie przeznaczony dla systemu

  10. Stan ciągłej integracji aplikacji jest dodawany do pobrania, a następnie stany wszystkich skojarzonych interfejsów CI typu wdrożenia aplikacji są sprawdzane przez CIStateStoreelement . Do pobrania są dodawane wszystkie kamijki oznaczone jako nieznajdowane .

    W CIStore.log:

    01-13-2016 17:56:36.275 CIStore 2608 (0xa30) CCIStoreTargetedCIDownloader::AddCI - CI Modelname:ScopeId_GUID/Application_GUID Wersja:10 została dodana do pobrania

    W CIStateStore.log:

    01-13-2016 17:56:36.322 CIStateStore 2608 (0xa30) CCIStateTransition::ExtractStateDetails — CI ModelName ScopeId_GUID/DeploymentType_GUID, wersja 6 nie można odnaleźć w sklepie.

    W CIStore.log:

    01-13-2016 17:56:36.369 CIStore 2608 (0xa30) CCIStoreTargetedCIDownloader::AddCI - CI Modelname:ScopeId_GUID/DeploymentType_GUID Wersja:6 została dodana do pobrania

Teraz agent DCM rozpocznie zadanie oceny zasad aplikacji i rozpocznie uzyskiwanie niezbędnych informacji z bazy danych.

Rozwiązywanie problemów z krokiem 2

Ten krok jest często miejscem, w którym występuje błąd, ale rzadko występuje błąd. Składnik Zainstaluj aplikację jest procesem najwyższego poziomu podczas instalowania aplikacji. Wszelkie błędy z listy składników, które wywołuje, zostaną wycofane. Rzeczywista przyczyna błędu jest najprawdopodobniej w kolejnym kroku. Błąd jest zgłaszany z powrotem do zadania Zainstaluj aplikację , które następnie zwraca błąd z ogólnym kodem błędu. Zazwyczaj jest to przyczyna, dla którego większość zadań instalacji aplikacji zwraca następujący błąd:

Instalacja aplikacji InstallApplication 296 (0x128) nie powiodła się.
Akcja installApplication 296 (0x128) Instalowanie aplikacji nie powiodła się: "NAZWA APLIKACJI TUTAJ". Kod błędu 0x80004005

Oto lista najczęstszych błędów zwracanych do zadania Instalowanie aplikacji :

Typ błędu Co sprawdzić
SMSTS.log pokazuje jeden z następujących błędów:
  • Ocena zasad InstallApplication 2740 (0xab4) nie powiodła się, hr=0x87d00269
  • Nie znaleziono wymaganego punktu zarządzania (błąd: 87D00269)
Błąd wskazuje, że maszyna nie może komunikować się z punktem zarządzania (MP). Sprawdź, czy używasz niestandardowej witryny internetowej dla mp. Jeśli tak, zapoznaj się z tematem How to Create the Custom Website in Internet Information Services (IIS) (Jak utworzyć niestandardową witrynę internetową w usługach Internet Information Services (IIS). Upewnij się, że kopia dokumentu domyślnego (default.htm) została umieszczona w folderze głównym, który hostuje witrynę internetową. Upewnij się również, że przekierowanie HTTP nie jest włączone w domyślnej witrynie internetowej.
SMSTS.log pokazuje następujący błąd:
Ocena zasad InstallApplication 3248 (0xcb0) nie powiodła się, hr=0x80004005
Upewnij się, że masz zainstalowane najnowsze aktualizacje programu Configuration Manager.
SMSTS.log pokazuje następujący błąd:
Instalacja aplikacji statycznych nie powiodła się, hr=0x87d00267
Upewnij się, że zainstalowano najnowszą wersję programu ConfigMgr 2012 R2 SP1.
SMSTS.log pokazuje następujący błąd:
Odebrano stan wykonania: 24 (Pobieranie aplikacji nie powiodło się)
Przejrzyj KB3007095 i upewnij się, że jesteś aktualny. Upewnij się, że masz zainstalowane najnowsze aktualizacje programu Configuration Manager.
SMSTS.log pokazuje następujący błąd:
Akcja instalacji aplikacji nie powiodła się: "NAZWA APLIKACJI TUTAJ". Kod błędu 0x80004005"
Przejrzyj CCMExec.log, aby potwierdzić, że host agenta programu SMS został uruchomiony bez błędu.

Krok 3. Agent DCM zarządza pozyskiwaniem elementów konfiguracji z bazy danych lokacji

W poprzednim kroku elementy CI zostały oznaczone do pobrania. Agent DCM używa agenta ciągłej integracji do rozpoczęcia uzyskiwania elementów konfiguracji i zawartości danych konfiguracji (pakiet SDM) z bazy danych. Zawarte są następujące informacje:

  • Właściwości aplikacji
  • Manifest aplikacji
  • Właściwości typu wdrożenia
  • Manifest typu wdrożenia
  • Zasady intencji aplikacji pod kątem zgodności

Pozyskiwanie tych informacji nie dzieje się jednocześnie. Agent DCM używa następujących składników po stronie klienta w różnym czasie, aby wykonać tę pracę:

  • Agent ciągłej integracji
  • Program do pobierania ciągłej integracji
  • CIStore
  • Usługa transferu danych
  • Menedżer transferu zawartości

Wszystkie te informacje są wymagane z bazy danych za pośrednictwem punktu zarządzania. Żądania i odpowiedzi można monitorować przy użyciu pliku MP_GetSDMPackage.log.

Pełna kolejność MP_GetSDMDocument wykonywania i pobieranie usługi transferu danych dla każdego zadania instalacji aplikacji:

  1. WŁAŚCIWOŚCI aplikacji: Wyniki mają podstawowe informacje o ciągłej integracji aplikacji. Tylko nazwa.
  2. Manifest aplikacji: łączy dokumenty ciągłej integracji platformy zasad za pomocą ciągłej integracji aplikacji.
  3. Zasady intencji aplikacji: wymagany żądany stan aplikacji.
  4. Manifest aplikacji ponownie. Zanotuj inny skrót skrótu. Tym razem wyniki zawierają rozszerzone informacje, takie jak przestrzenie nazw usługi WMI dla manifestów ciągłej integracji, odwołania ciągłej integracji dla aplikacji.
  5. Właściwości aplikacji ponownie. Zanotuj inny skrót skrótu. Tym razem wyniki obejmują właściwości rozszerzone i niestandardowe, wydawcę, datę wydania, ikony itd.
  6. WŁAŚCIWOŚCI DT aplikacji. Wyniki obejmują opis, szacowany czas instalacji, zachowanie po instalacji itd.
  7. Manifest DT aplikacji. Wyniki obejmują rozszerzone informacje, przestrzenie nazw usługi WMI dla manifestów ciągłej integracji.
  8. Zasady aplikacji. Wyniki obejmują moF platformy zasad, które mają zostać skompilowane po stronie klienta z żądanym stanem, właściwościami aplikacji i właściwościami dt aplikacji.
  9. Zasady dt aplikacji są kompresowane. Nie można dekompresować.

Napiwek

Każdy składnik zaangażowany w ten proces utworzy zadanie z identyfikatorem zadania, którego można użyć do śledzenia postępu. Agent DCM jest zawsze pierwszym w procesie. Podczas rozwiązywania problemów zanotuj identyfikator zadania dla każdego składnika podczas przeglądania dzienników. Następnie postępuj zgodnie z identyfikatorem zadania.

Poniżej znajduje się przykład żądania i pobrania tylko właściwości aplikacji i manifestu (kroki 1 i 2 z powyższych).

  1. Identyfikator zadania agenta DCM. W DCMAgent.log:

    01-13-201617:56:36.979 DCMAgent 1568(0x620) CDCMAgentJobMgr::StartJob — Uruchamianie zadania agenta DCM{ID}

  2. Agent DCM tworzy zadanie dla agenta ciągłej integracji. W DCMAgent.log:

    01-13-2016 17:56:37.088 DCMAgent 2768 (0xad0) DCMAgentJob({ID}): CDCMAgent::InitiateCIAgentJob — uruchamianie zadania agenta ciągłej integracji {ID} dla komputera docelowego. Aby uzyskać więcej informacji, zapoznaj się z tym identyfikatorem zadania agenta ciągłej integracji w ciagent.log

  3. CIDownloader tworzy zadanie. W CIDownloader.log:

    01-13-2016 17:56:37.166 CIDownloader 2728 (0xaa8) CIDownloaderJob({ID}): SetFailureCondition — zadanie zakończy się niepowodzeniem natychmiast po błędzie

  4. Agent DCM śledzi postęp za pośrednictwem własnego zadania. W DCMAgent.log:

    01-13-2016 17:56:37.182 DCMAgent 2768 (0xad0) DCMAgentJob({ID}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating)

  5. CIDownloader oblicza zakres ciągłej integracji, który uruchamia sprawdzanie magazynu ciągłej integracji. W CIDownloader.log:

    01-13-2016 17:56:37.182 CIDownloader 2728 (0xaa8) [Calculate Scope] — Dodawanie nazwy modelu ci:ScopeId_GUID/RequiredApplication_GUID Wersja:10 do listy głównej nazwy modelu CIs:ScopeId_GUID/RequiredApplication_GUID Wersja:10

    W CIStore.log:

    01-13-201617:56:37.182 CIStore 2728(0xaa8) CCIStore::GetTargetedCIReference wywołana dla CIScopeId_GUID/RequiredApplication_GUID:10 ukierunkowanej na system

  6. Ciągła integracja jest odpytywane w magazynie stanu ciągłej integracji i nie można jej odnaleźć. W CIStateStore.log:

    01-13-201617:56:37.197 CIStateStore 2728(0xaa8) CCIStateTransition::ExtractStateDetails - CIModelNameScopeId_GUID/RequiredApplication_GUID,wersja 10 nie znaleziono w sklepie.

  7. Ponieważ ciągła integracja nie zostanie znaleziona, zostanie dodana do CIDownloader zadania. W CIDownloader.log:

    01-13-201617:56:37.213 CIDownloader 2728(0xaa8) CIDownloaderJob({ID}): ciągła integracja z ModelNameScopeId_GUID/RequiredApplication_GUID,wersja 10. Model:(null) dodany do zadania.

  8. Agent ciągłej CIDownloader integracji uruchamia teraz zadanie pobierania identyfikatorów CI. W CIAgent.log:

    01-13-201617:56:37.229 CIAgent 2728(0xaa8) CIAgentJob({ID}):Rozpoczęto CIDownloadJob({ID})

  9. Zadanie CIDownloader przechodzi do fazy Pobieranie pakietów i dodaje pliki źródłowe dla identyfikatorów CI do żądania. W tym momencie pakiety odwołują się do pakietu SDM, a nie zawartości (plików binarnych). W CIDownloader.log:

    01-13-201617:56:37.229 CIDownloader 2728(0xaa8) CIDownloaderJob({ID}): DownloadPackages
    01-13-201617:56:37.229 CIDownloader 2728(0xaa8) --Source file:.sms_dcm?Id& DocumentId=ScopeId_GUID/RequiredApplication_GUID/10/MANIFEST& Hash=HashString & Compression=zlib
    01-13-201617:56:37.229 CIDownloader 2728(0xaa8) --Source file:.sms_dcm?Id& DocumentId=ScopeId_GUID/RequiredApplication_GUID/10/PROPERTIES& Hash=HashString & Compression=zlib

  10. CIDownloader wywołuje usługę transferu danych, aby zażądać manifestu i właściwości aplikacji oraz typu wdrożenia aplikacji. W DataTransferService.log:

    01-13-201617:56:37.275 DataTransferService 2728(0xaa8) Added(source=.sms_dcm?Id&DocumentId=ScopeId_GUID/RequiredApplication_GUID/10/PROPERTIES&Hash=HashString&Compression=zlib,dest={JobID}_2.zip)pair from manifest.
    01-13-201617:56:37.275 DataTransferService 2728(0xaa8) Dodano(source=.sms_dcm?Id&DocumentId=ScopeId_GUID/RequiredApplication_GUID/10/MANIFEST&Hash=HashString&Compression=zlib,dest={JobID}_1.zip)pair from manifest.

  11. Usługa transferu danych wywołuje interfejs MP_GetSDMPacakge ISAPI w punkcie zarządzania, który z kolei żąda informacji o pakiecie SDM z bazy danych przez wyzwolenie procedury składowanej SQL. W programie SQL Server Profiler:

    exec MP_GetSdmDocument N'ScopeId_GUID/RequiredApplication_GUID/10/PROPERTIES',N'HashString',N'1',N'1'
    exec MP_GetSdmDocument N'ScopeId_GUID/RequiredApplication_GUID/10/MANIFEST',N'HashString',N'1',N'1'

  12. Usługa transferu danych uruchamia zadanie usługi analizy w tle (BITS) i dodaje ścieżkę do zadania po odebraniu odpowiedzi. I zaczyna pobierać dane. W DataTransferService.log:

    01-13-201617:56:37.432 DataTransferService 2316(0x90c) Uruchamianie zadania USŁUGI BITS"{ID}" dla zadania DTS"{ID}" w obszarze użytkownika "SID".
    01-13-201617:56:37.479 DataTransferService 2316(0x90c) BITSHelper: Pełna ścieżka źródłowa do przeniesienia = http://PS1.contoso.com:80/SMS_MP/.sms_dcm?Id&DocumentId=ScopeId_GUID/RequiredApplication_GUID/10/PROPERTIES&Hash=HashString&Compression=zlib
    01-13-201617:56:37.479 DataTransferService 2316(0x90c) Dodawanie do zadania usługi BITS:{ID}_2.zip
    01-13-201617:56:37.479 DataTransferService 2316(0x90c) BITSHelper: Pełna ścieżka źródłowa do przeniesienia= http://PS1.contoso.com:80/SMS_MP/.sms_dcm?Id&DocumentId=ScopeId_GUID/RequiredApplication_GUID/10/MANIFEST&Hash=HashString&Compression=zlib
    01-13-201617:56:37.479 DataTransferService 2316 (0x90c) Dodawanie do zadania usługi BITS: {ID}_1.zip

  13. Monitoruj DataTransferService.log na potrzeby ukończenia pobierania pakietu SDM. Wyszukaj wiersze podobne do poniższych:

    Element konfiguracji nr 1

    01-13-2016 17:56:37.588 DataTransferService 2748 (0xabc) Zadanie: {ID}, łączna liczba plików: 2, Transferowane pliki: 2, Łączna liczba bajtów: 1160, Przetransferowane bajty: 1160
    01-13-2016 17:56:37.588 DataTransferService 2748 (0xabc) DTSJob {ID} pomyślnie ukończono pobieranie.

    Element konfiguracji nr 2

    01-13-2016 17:56:37.791 DataTransferService 1568 (0x620) Zadanie: {ID}, łączna liczba plików: 3, Transferowane pliki: 3, Łączna liczba bajtów: 2616, Przetransferowane bajty: 2616
    01-13-2016 17:56:37.791 DataTransferService 1568 (0x620) DTSJob {ID} pomyślnie ukończono pobieranie.

    Element konfiguracji nr 3

    01-13-2016 17:56:37.994 DataTransferService 2748 (0xabc) Zadanie: {ID}, łączna liczba plików: 3, Transferowane pliki: 3, Łączna liczba bajtów: 3216, Przetransferowane bajty: 3216
    01-13-2016 17:56:37.994 DataTransferService 2748 (0xabc) DTSJob {ID} pomyślnie ukończono pobieranie.

    Element konfiguracji nr 4

    01-13-2016 17:56:38.104 DataTransferService 1568 (0x620) Zadanie: {ID}, łączna liczba plików: 1, Transferowane pliki: 1, Łączna liczba bajtów: 4172, Przetransferowane bajty: 4172
    01-13-2016 17:56:38.104 DataTransferService 1568 (0x620) DTSJob {ID} pomyślnie ukończono pobieranie.

Rozwiązywanie problemów z krokiem 3

W kroku 3 do kroku 6 wiele składników współdziała ze sobą. Zadania są tworzone lokalnie, aby ocenić istnienie wystąpień CI za pośrednictwem magazynu ciągłej integracji (CCMStore.sdf). Lub interfejsy CI są oznaczone jako nie znaleziono. W następnej fazie tego kroku może wystąpić wiele problemów:

Usługa DataTransferService używa usługi BITS i komunikacji HTTP z dostawcą usług w celu zażądania identyfikatorów CI i pobrania ich.

Ta sytuacja może mieć następujące przyczyny:

  • Nieprawidłowe dane w bazie danych. Na przykład zwraca uszkodzone dane ciągłej integracji lub pakietu SDM, nieaktualne wersje itd.
  • Problemy z usługą WMI podczas uzyskiwania dostępu do przestrzeni nazw zasad lokalnie na maszynie, która wykonuje sekwencję zadań.
  • Błąd podczas komunikacji z programem MP lub bazą danych.
  • Błędy zadań usługi BITS.
  • Błędy związane z siecią, pliki do pobrania itd.
  • Problemy z usługami IIS związane z SMS_MP vDir (folder SMS_CCM\SMS_MP).
  • Błędy oceny po zainstalowaniu.

Sprawdź następujące pliki dziennika, aby ustalić, gdzie ten proces kończy się niepowodzeniem:

  • CIDownloader.log
  • DCMAgent.log
  • CIStore.log
  • CIStateStore.log
  • DataTransferService.log

Krok 4. Agent ciągłej integracji przetwarza elementy CI i zapisuje je lokalnie w pliku CCMStore.sdf

Po zakończeniu zadania usługi transferu danych pobieranie wszystkich identyfikatorów CI, do których odwołuje się instalacja aplikacji, CIDownloader sprawdzi skrót identyfikatorów CI, zdekompresuje je, a następnie utrwali je w magazynie ciągłej integracji. Ten proces jest wykonywany dla każdego z interfejsów CI skojarzonych z aplikacją.

W przypadku każdej ciągłej integracji, która ma relację z aplikacją instalowaną w tym zadaniu, wystąpi następujący proces. Scalanie dzienników pomoże śledzić postęp każdego z nich. Postępuj zgodnie z identyfikatorami zadań.

  1. Pojedynczo po całkowitym pobraniu każdej ciągłej integracji usługa transferu danych oznacza ukończenie zadania i CIDownloader potwierdza skrót.

    W DataTransferService.log:

    01-13-2016 17:56:37.588 DataTransferService 2748 (0xabc) Zadanie: {ID}, łączna liczba plików: 2, Transferowane pliki: 2, Łączna liczba bajtów: 1160, Przetransferowane bajty: 1160
    01-13-2016 17:56:37.588 DataTransferService 2748 (0xabc) DTSJob {ID} pomyślnie ukończono pobieranie.
    01-13-2016 17:56:37.604 DataTransferService 2316 (0x90c) DTSJob {ID} w stanie "NotifiedComplete".

    W CIDownloader.log:

    01-13-2016 17:56:37.619 CIDownloader 2768 (0xad0) ::D ecompressFile(C:\WINDOWS\CCM\CIDownloader\Staging}_1.zip,65536,C:\WINDOWS\CCM\CIDownloader\Staging{JobID}_1.xml)
    01-13-2016 17:56:37.619 CIDownloader 2768 (0xad0) VerifyCIDocumentHash — przygotowanie do zweryfikowania skrótu dokumentu ciągłej integracji ScopeId_GUID/RequiredApplication_GUID/10/MANIFEST
    01-13-2016 17:56:37.619 CIDownloader 2768 (0xad0) ::D ecompressFile(C:\WINDOWS\CCM\CIDownloader\Staging{JobID}_2.zip,65536,C:\WINDOWS\CCM\CIDownloader\Staging{JobID}_2.xml)
    01-13-2016 17:56:37.619 CIDownloader 2768 (0xad0) VerifyCIDocumentHash — przygotowanie do zweryfikowania skrótu dokumentu ci ScopeId_GUID/RequiredApplication_GUID/10/PROPERTIES

  2. Po CIDownloader uzyskaniu wszystkich identyfikatorów CI z punktu zarządzania wywoła go z powrotem do agenta ciągłej integracji i rozpocznie utrwalanie identyfikatorów CI. W CIAgent.log:

    01-13-2016 17:56:38.119 CIAgent 2768 (0xad0) CIAgentJob({ID}): CAgentJob::NotifyComplete - CIDownloader callback
    01-13-2016 17:56:38.119 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=PersistingCIModels)
    01-13-2016 17:56:38.119 CIAgent 2728 (0xaa8) CIAgentJob({ID}): PersistCIModels

  3. CIDownloader będzie utrwalać identyfikatory CI w magazynie szyfrów ciągłej integracji. W CIDownloader.log:

    01-13-2016 17:56:38.119 CIDownloader 2728 (0xaa8) CCIDigestStore::P ersistIntegratedCIDefinitions
    01-13-2016 17:56:38.182 CIDownloader 2728 (0xaa8) DCM::LanternUtils::StoreModelDocument
    01-13-2016 17:56:38.385 CIDownloader 2728 (0xaa8) DCM::LanternUtils::StoreModelDocument powiodło się
    01-13-2016 17:56:38.385 CIDownloader 2728 (0xaa8) CCIDigestStore::P ersistIntegratedCIDefinitions — dokument modelu Lantern skompilowany do usługi WMI.
    01-13-2016 17:56:38.463 CIDownloader 2728 (0xaa8) CCIDigestStore::P ersistIntegratedCIDefinitions — Tworzenie pliku C:\WINDOWS\CCM\CIDownloader\DigestStore\321EC9594015C9F9E6780EB4FEC210A78BEC119CB44ADE46A94C5F5B26F47948.xml
    01-13-2016 17:56:38.463 CIDownloader 2728 (0xaa8) CCIDigestStore::P ersistIntegratedCIDefinitions — Tworzenie pliku C:\WINDOWS\CCM\CIDownloader\DigestStore\B7BE90F13A8B7B3BD870B8DC5D0DF3E8378137B385988C2037A5C94EF21E4BCB.xml
    01-13-2016 17:56:38.463 CIDownloader 2728 (0xaa8) CCIDigestStore::P ersistIntegratedCIDefinitions — Skrót Dcm utrwalone do CIDigestStore.

  4. CIDownloader kończy utrwalanie identyfikatorów CI i oznacza zakończenie zadania. W CIDownloader.log:

    01-13-2016 17:56:38.463 CIDownloader 2728 (0xaa8) CCIDigestStore::P ersistIntegratedCIDefinitions — Skrót Dcm utrwalone do CIDigestStore.
    01-13-2016 17:56:38.463 CIDownloader 2728 (0xaa8) CCIDownloader::CompleteJob dla zadania {ID}.

  5. Agent ciągłej integracji sprawdza magazyn ciągłej integracji dla interfejsów certyfikacji wymaganych przez proces instalacji aplikacji. Magazyn ciągłej integracji zwraca odpowiednie wartości. W CIAgent.log:

    01-13-2016 17:56:38.479 CIAgent 2728 (0xaa8) CCIInfo::AddDepedentCI for ModelName: ScopeId_GUID/Application_GUID Wersja: 10
    01-13-2016 17:56:38.479 CIStore 2728 (0xaa8) CCIStore::GetCIEx — Zażądano nazwy modelu CI ModelName ScopeId_GUID/Application_GUID, wersja 10 zwrócona z [Store]
    01-13-2016 17:56:38.479 CIStore 2728 (0xaa8) Znaleziono właściwość (DisplayName), ale tylko z rezerwą do języka angielskiego USA: ConfigMgr 2012 Toolkit R2
    01-13-2016 17:56:38.510 CIAgent 2728 (0xaa8) CCIInfo::AddDepedentCI for ModelName: ScopeId_GUID/DeploymentType_GUID Wersja: 6
    01-13-2016 17:56:38.510 CIStore 2728 (0xaa8) CCIStore::GetCIEx — zażądano nazwy modelu CI ModelName ScopeId_GUID/DeploymentType_GUID, wersja 6 zwrócona z [Store]
    01-13-2016 17:56:38.510 CIStore 2728 (0xaa8) Znaleziono właściwość (DisplayName), ale tylko z rezerwą domyślną: ConfigMgr 2012 Toolkit R2 — Instalator Windows (*.msi plik)

Następnie agent ciągłej integracji przeprowadzi dalsze przetwarzanie, wywołując model SDM. Pakiety SDM łączą ze sobą interfejsy CI i zawierają dodatkowe informacje na temat konfiguracji, która zostanie zaimplementowana. Część tego procesu wiąże również urzędy certyfikacji z zasadami przy użyciu platformy Microsoft Policy Platform.

Rozwiązywanie problemów z krokiem 4

Aby rozwiązać problemy w tym kroku, zobacz Rozwiązywanie problemów z krokiem 3.

Krok 5. Agent ciągłej integracji wykonuje dalsze przetwarzanie interfejsów CI przy użyciu modelu SDM

W tym momencie zostały uzyskane niezbędne elementy CI, a dane pakietu SDM zostały pobrane. Agent ciągłej integracji wykona następujące procesy:

  • wywołaj metodę SDMMethod , aby powiązać identyfikatory CI z zasadami/ lantern zasad przechowywanymi w usłudze WMI znajdującymi się w root\Microsoft\PolicyPlatform\Documents\Locallokalizacji .
  • ocenianie ich stosowania
  • ostatecznie oznacz je jako dostępne dla wymuszania przed oczyszczeniem swoich zadań

W CIAgent.log:

01-13-2016 17:56:38.510 CIAgent 2728 (0xaa8) CIAgentJob({ID}): TransitionState(From=PersistingCIModels, To=InvokingSdmMethod) for Event=Transition

  1. Agent ciągłej integracji rozpoczyna uchwalenie i ocenę dla interfejsów CI aplikacji. W CIAgent.log:

    01-13-2016 17:56:38.541 CIAgent 2316 (0x90c) CIAgentJob({ID}): StartEnactment — CI — ScopeId_GUID/RequiredApplication_GUID
    01-13-2016 17:56:38.541 CIAgent 2316 (0x90c) CIAgentJob({ID}): wymagana jest ocena ciągłej integracji "ScopeId_GUID/RequiredApplication_GUID.10".

  2. Agent ciągłej integracji wywołuje klienta platformy zasad i wiąże zasady, wywołując platformę zasad firmy Microsoft. W CIAgent.log:

    01-13-2016 17:56:38.541 CIAgent 2316 (0x90c) CIAgentJob({ID}): wymagana jest ocena ciągłej integracji "ScopeId_GUID/RequiredApplication_GUID.10".
    01-13-2016 17:56:38.541 CIAgent 2316 (0x90c) CIAgentJob({ID}): StartEnactment — próba wywołania klienta platformy zasad
    01-13-2016 17:56:38.885 CIAgent 2316 (0x90c) DCM::LanternUtils::ScopeAndBindPolicies - [ScopedPolicies] ScopeId_GUID_Application_GUID_Platform_PolicyDocument
    01-13-2016 17:56:38.885 CIAgent 2316 (0x90c) DCM::LanternUtils::ScopeAndBindPolicies - [ScopedPolicies] ScopeId_GUID_Application_GUID_Configuration_PolicyDocument

  3. Agent ciągłej integracji kończy uchwalenie. W CIAgent.log:

    01-13-2016 17:56:38.885 CIAgent 2316 (0x90c) DCM::LanternUtils::ScopeAndBindPolicies - [ScopedPolicies] ScopeId_GUID_DeploymentType_GUID_Discovery_PolicyDocument
    01-13-2016 17:56:39.619 CIAgent 2768 (0xad0) CIAgentJob({ID}): Wywołanie powiodło się dla identyfikatora zadania platformy zasad
    01-13-2016 17:56:39.619 CIAgent 2316 (0x90c) Zadanie lantern:ID powiodło się.
    01-13-2016 17:56:39.619 CIAgent 2768 (0xad0) CIAgentJob({ID}): ReportMethodInvocation:: Uchwalenie powiodło się

  4. Agent ciągłej integracji przechodzi teraz zadanie do pobierania identyfikatorów CI, a następnie natychmiast przechodzi jego stan ponownie, tym razem w celu wymuszania wystąpień CI. W CIAgent.log:

    01-13-2016 17:56:39.963 CIAgent 2768 (0xad0) CIAgentJob({ID}): TransitionState(From=StateDownloadingContents, To=StateEnforcingCIs) for Event=Transition
    01-13-2016 17:56:39.963 CIAgent 2768 (0xad0) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=CITaskComplete, CurrentState=StateEnforcingCIs)

  5. Agent ciągłej integracji sprawdzi jeszcze raz, aby upewnić się, że aplikacja nie jest jeszcze zainstalowana. Agent DCM oznacza ciągłą integrację jako dostępną dla wymuszania, a następnie zgłasza ten stan.

    W CIAgent.log:

    01-13-2016 17:56:39.963 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=StateEnforcingCIs)

    W DCMAgent.log:

    01-13-2016 17:56:39.979 DCMAgent 1844 (0x734) CAppMgmtSDK::GetEvaluationState ScopeId_GUID/RequiredApplication_GUID.10 = AvailableForEnforcement

    W CIAgent.log:

    01-13-2016 17:56:40.057 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=StateEnforcementReporting)

  6. Elementy CI zostały ocenione, pobrane, zdekompresowane, utrwalone, a następnie ponownie ocenione. Agent ciągłej integracji i agent DCM czyści utworzone zadania, aby wykonać wszystkie te zadania.

    W CIAgent.log:

    01-13-2016 17:56:40.072 CIAgent 2356 (0x934) Wewnętrzne żądanie usunięcia zadania CIAgent {ID}

    W DCMAgent.log:

    01-13-2016 17:56:40.088 DCMAgent 2728 (0xaa8) DCMAgentJob({ID}): CDCMAgentJob::HandleEvent(Event=Transition, CurrentState=Success)

    W CIAgent.log:

    01-13-2016 17:56:40.104 CIAgent 2356 (0x934) CIAgentJob({ID}): Ukończenie zadania. Zamykanie pompy zdarzeń.

    W DCMAgent.log:

    01-13-2016 17:56:40.104 DCMAgent 2728 (0xaa8) CDCMAgentJobMgr::D eleteJob — żądanie usunięcia zadania agenta DCM {ID}
    01-13-2016 17:56:40.135 DCMAgent 2728 (0xaa8) DCMAgentJob({ID}): QueueDebug — Zdarzenie wykonywania.
    01-13-2016 17:56:40.104 DCMAgent 2728 (0xaa8) Ukończono zadanie. Zamykanie pompy zdarzeń.

Rozwiązywanie problemów z krokiem 5

Aby rozwiązać problemy w tym kroku, zobacz Rozwiązywanie problemów z krokiem 3.

Krok 6. Agent DCM potwierdza, że wszystkie urzędy certyfikacji są obecne i flaguje zawartość do pobrania

Instalacja aplikacji spowoduje teraz wywołanie z powrotem do zestawu SDK, aby zainstalować aplikację. Tworzy nowe zadanie dla agenta DCM, które z kolei tworzy zadanie dla agenta ciągłej integracji i wszystkich używanych składników. Ten sam proces wystąpi, w którym agent ciągłej integracji używa składników, aby upewnić się, że wszystkie elementy CI zostały pobrane, ocenione i utrwalone. Wynikiem tego kroku jest to, że zawartość (pliki binarne) dla procesu instalacji aplikacji zostanie oznaczona do pobrania.

  1. Instalacja aplikacji wywołuje zestaw SDK zarządzania aplikacjami (DCM Agent) w celu zainstalowania aplikacji. W InstallApplication.log:

    01-13-2016 17:56:40.119 InstallApplication 1608 (0x648) Wywoływanie zestawu SDK zarządzania aplikacjami w celu zainstalowania aplikacji
    01-13-2016 17:56:40.135 InstallApplication 1608 (0x648) Rozpoczęto instalowanie aplikacji "ScopeId_GUID/RequiredApplication_GUID". Aby uzyskać szczegółowe informacje na temat tego zadania, zapoznaj się z DCMAgent.log. JobID='{ID}'

  2. Agent DCM tworzy nowe zadanie dla agenta ciągłej integracji.

    W DCMAgent.log:

    01-13-2016 17:56:40.135 DCMAgent 2356 (0x934) DCMAgentJob({ID}): CDCMAgent::InitiateCIAgentJob — uruchamianie zadania agenta ciągłej integracji {ID} dla komputera docelowego. Aby uzyskać więcej informacji, zapoznaj się z tym identyfikatorem zadania agenta ciągłej integracji w ciagent.log

    W CIAgent.log:

    01-13-2016 17:56:40.135 CIAgent 2356 (0x934) CIAgentJob({ID}): [LeakTest] AgentJob created

  3. To nowe zadanie agenta ciągłej integracji przechodzi od razu do stanu Oczekiwanie na przypisaną liczbę CIs . Następnie następuje natychmiastowe przejście do pobierania interfejsów CI.

    W CIAgent.log:

    01-13-2016 17:56:40.135 CIAgent 2768 (0xad0) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=WaitingForAssignedCI)
    01-13-2016 17:56:40.135 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=DownloadCIs, CurrentState=WaitingForAssignedCI)
    01-13-2016 17:56:40.135 CIAgent 2768 (0xad0) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=DownloadingCIs)

  4. CIDownloader Tworzy zadanie do obsługi pobierania i sprawdza, czy są obecne urzędy certyfikacji. W CIDownloader.log:

    01-13-2016 17:56:40.135 CIDownloader 2768 (0xad0) CIDownloaderJob({ID}): SetFailureCondition — zadanie zakończy się niepowodzeniem natychmiast po błędzie

  5. CIDownloader raportuje agentowi ciągłej integracji, że wszystkie identyfikatory CI dla aplikacji znajdują się w sklepie. W CIDownloader.log:

    01-13-2016 17:56:40.166 CIDownloader 2768 (0xad0) CDownloadPayloadInfo::AddCI - CI with ModelName ScopeId_GUID/Application_GUID, wersja 10 jest już dostępna.

  6. Ciągła integracja dla aplikacji, jednostek DT aplikacji i wymagań została już pobrana. Dzienniki agenta ciągłej integracji, które nie mają być pobierane. Następnie przechodzi do utrwalania modeli ciągłej integracji.

    W CIAgent.log:

    01-13-2016 17:56:40.182 CIAgent 2768 (0xad0) CIAgentJob({ID}): Nic do pobrania.
    01-13-2016 17:56:40.182 CIAgent 2316 (0x90c) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=PersistingCIModels)

  7. Agent ciągłej integracji ponownie wywołuje metodę SDM. Tylko tym razem będzie oznaczać, że pliki binarne (install.msi) nie zostały pobrane. W CIAgent.log:

    01-13-2016 17:56:40.213 CIAgent 2316 (0x90c) CIAgentJob({ID}): CI ScopeId_GUID/DeploymentType_GUID Zestaw narzędzi ConfigMgr 2012 Toolkit R2 — Instalator Windows (*plik .msi)) przeznaczony dla elementu docelowego (zależna od ScopeId_GUID zasad/RequiredApplication_GUID:10) jest w zakresie oceny.
    01-13-2016 17:56:40.213 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=InvokingSdmMethod)

  8. Agent ciągłej integracji ponownie rozpoczyna uchwalenie, wywołuje platformę zasad firmy Microsoft i potwierdza, że elementy CI są powiązane z zasadami.

    W CIAgent.log:

    01-13-2016 17:56:40.244 CIAgent 2728 (0xaa8) CIAgentJob({ID}): StartEnactment — CI - ScopeId_GUID/RequiredApplication_GUID
    01-13-2016 17:56:40.244 CIAgent 2728 (0xaa8) CIAgentJob({ID}): StartEnactment — próba wywołania klienta platformy zasad
    01-13-2016 17:56:40.322 CIAgent 2768 (0xad0) CIAgentJob({ID}): ReportMethodInvocation :: Uchwalenie powiodło się
    01-13-2016 17:56:40.322 CIAgent 2768 (0xad0) CIAgentJob({ID}): ReportMethodInvocation :: Uzyskane raporty latarni

  9. W tym momencie agent ciągłej integracji oznacza zarówno aplikację, jak i jednostki DT aplikacji jako dostępne i odpowiednie, a także że zostaną zainstalowane.

    W CIAgent.log:

    01-13-2016 17:56:40.369 CIAgent 2768 (0xad0) CIAgentJob({ID}):State - Reporting (scan):: AppModel — ScopeId_GUID/Application_GUID:10 — State = NotInstalled ResolvedState = Available Applicability = Applicable ConfigureState = NotNeededed
    01-13-2016 17:56:40.385 CIAgent 2768 (0xad0) CIAgentJob({ID}):Stan — raportowanie (skanowanie):: Typ wdrożenia — ScopeId_GUID/DeploymentType_GUID:6 — Stan = NotInstalled ResolvedState = Available Applicability = Applicable ConfigureState = NotNeededed
    01-13-2016 17:56:40.463 CIAgent 2728 (0xaa8) Job({ID}): CI ModelName ScopeId_GUID/Application_GUID w wersji 10 zostanie ZAINSTALOWANY. : Task(ScopeId_GUID/RequiredApplication_GUID.10.ContentDownload)
    01-13-2016 17:56:40.463 CIAgent 2728 (0xaa8) Job({ID}): CI ModelName ScopeId_GUID/DeploymentType_GUID w wersji 6 zostanie ZAINSTALOWANY. : Task(ScopeId_GUID/Application_GUID.10.ContentDownload)

  10. Teraz agent ciągłej integracji rozpocznie pobieranie plików binarnych dla instalacji aplikacji. W CIAgent.log:

    01-13-2016 17:56:40.417 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=StateDownloadingContents)
    01-13-2016 17:56:40.417 CIAgent 2728 (0xaa8) CIAgentJob({ID}): DownloadBinaryContents
    01-13-2016 17:56:40.417 CIAgent 2728 (0xaa8) {ID} — inicjowanie zadań ContentDownload.
    01-13-2016 17:56:40.463 CIAgent 2728 (0xaa8) Job({ID}) : Successfully initialized: Task(ScopeId_GUID/DeploymentType_GUID.6.ContentDownload)
    01-13-2016 17:56:40.463 CIAgent 2728 (0xaa8) Job({ID}) : Successfully initialized: Task(ScopeId_GUID/Application_GUID.10.ContentDownload)

Skomplikowana część się skończyła. Teraz przejdziemy do pobrania plików binarnych.

Rozwiązywanie problemów z krokiem 6

Aby rozwiązać problemy w tym kroku, zobacz Rozwiązywanie problemów z krokiem 3.

Krok 7. Pobieranie zawartości zadania instalacji aplikacji przy użyciu standardowego procesu żądania/odpowiedzi zawartości

Aby pobrać zawartość instalacji, używane są standardowe procesy żądań zawartości. Składniki zaangażowane po stronie klienta to:

  • Usługi lokalizacyjne
  • Dostęp do zawartości (CAS)
  • Menedżer transferu zawartości
  • Menedżer transferu danych

Po stronie serwera składniki obejmują:

  • MP_Location
  • MP_GetDPInfoContent
  • Usługi IIS w punkcie dystrybucji (DP), z którego będzie uzyskiwany dostęp do zawartości.
  1. Dostęp do zawartości (CAS) będzie uzyskiwać dostęp do informacji o żądaniu zawartości z usługi WMI. W CAS.log:

    01-13-2016 17:56:40.572 ContentAccess 2728 (0xaa8) CContentAccessService::Initialize
    01-13-2016 17:56:40.572 ContentAccess 2728 (0xaa8) CDownloadManager::InitializeFromWmi
    01-13-2016 17:56:40.572 ContentAccess 2728 (0xaa8) ===== CacheManager: inicjowanie stanu pamięci podręcznej z usługi Wmi. =====
    01-13-2016 17:56:40.588 ContentAccess 2728 (0xaa8) Ładowanie konfiguracji pamięci podręcznej z usługi Wmi.
    01-13-2016 17:56:42.166 ContentAccess 2728 (0xaa8) CacheManager: Pobieranie informacji o zawartości buforowanej dla Content_GUID.1.

  2. Menedżer transferu zawartości tworzy i wysyła żądanie lokalizacji zawartości. W ContentTransferManager.log:

    01-13-2016 17:56:42.432 ContentTransferManager 2768 (0xad0) Próba utworzenia żądania lokalizacji dla packageID='PackageID' i Version='1'
    01-13-2016 17:56:42.448 ContentTransferManager 2768 (0xad0) Próba wysłania żądania lokalizacji dla packageID='Content_GUID'
    01-13-2016 17:56:42.448 ContentTransferManager 2728 (0xaa8) Utworzono zadanie CTM {ID} dla identyfikatora SID użytkownika
    01-13-2016 17:56:42.448 ContentTransferManager 2768 (0xad0) ContentLocationRequest: <ContentLocationRequest SchemaVersion="1.00" ExcludeFileList="><Package ID="UID:Content_GUID" Version="1"/><AssignedSite SiteCode="MEH"/><ClientLocationInfo LocationType="SMSUpdate" DistributeOnDemand="0" UseAzure="0" AllowWUMU="0" UseProtected="0" AllowCaching="0" BranchDPFlags="0" UseInternetDP="0" AllowHTTP="1" AllowSMB="0" AllowMulticast="0"><ADSite Name=" Default-First-Site-Name"/><Forest Name="contoso.com"/><Domain Name="contoso.com"/><IPAddresses><IPAddress SubnetAddress="10.10.25.128" Address="10.10.10.10.25.130"/><IPAddress SubnetAddress="10.10.25.128" Address="10.10.25.166"//><IPAddresses></ClientLocationRequest><>
    01-13-2016 17:56:42.463 ContentTransferManager 2768 (0xad0) Utworzone i wysłane żądanie lokalizacji "{ID}" dla Content_GUID pakietu
    01-13-2016 17:56:42.463 ContentTransferManager 2768 (0xad0) Zadanie CTM {ID} wprowadzono CCM_DOWNLOADSTATUS_DOWNLOADING_DATA fazy

  3. MP_Location odbiera żądanie i przetwarza je, wykonując procedurę składowaną w bazie danych. MP_GetDPInfoProtected lub MP_GetDPInfoUnprotected.

    Napiwek

    MP_GetContentDPInfoProtected jest wywoływany, gdy klient należy do grupy granic, która ma chronioną usługę DP. Chronione adresy IP to te, które nie zezwalają na powrót. MP_GetContentDPInfoUnprotected jest wywoływana, gdy klient nie należy do grupy granic, która ma chronioną usługę DP.

    W MP_Location.log:

    01-13-2016 17:56:42.516 MP_LocationManager 4044 (0xfcc) MP_GetContentDPInfoProtected (UID:Content_GUID,1,MEH,ServerNameList ServerName PS1DP.CONTOSO.COM/ServerName/ServerNameList,SMSUpdate,000000000,contoso.com,contoso.com<>><>< ClientLocationInfo LocationType="SMSUpdate" DistributeOnDemand="0" UseAzure="0" AllowWUMU="0" UseProtected="0" AllowCaching="0" BranchDPFlags="0" UseInternetDP="0" AllowHTTP="1" AllowSMB="0" AllowMulticast="0"><<><ADSite Name="DEFAULT-FIRST-SITE-NAME"/><Forest Name="contoso.com"/><Domain Name="contoso.com"/><IPAddresses IPAddresses><SubnetAddress="10.10.25.128" Address="10.10.110.25.130"/><IPAddress SubnetAddress="10.10.25.128" Address="10.10.25.166"//><IPAddresses></ClientLocationInfo>)

  4. MP_Location wysyła odpowiedź zawierającą listę dostępnych punktów dystrybucji, w których można pobrać pliki binarne. W MP_Location.log:

    01-13-2016 17:56:42.523 MP_LocationManager 4044 (0xfcc) MP LM: Treść komunikatu odpowiedzi: <ContentLocationReply SchemaVersion="1.00" ContentFlags="200960" HashAlgorithm="32780" AlgorithmPreference="4" Hash="HashString" ExcludeFileListHash="" RelatedContentID=""><ContentInfo PackageFlags="32"><ContentHashValues Hash Algorithm="32780" HashString="HashString" HashPreference="4"//><ContentHashValues><></ContentInfo><Sites Site><><MPSite SiteCode="MEH" MasterSiteCode="MEH" SiteLocality="LOCAL" IISPreferedPort="80" IISSSLPreferedPort="443"/><LocationRecords><LocationRecord><Url Name="http://PS1DP.contoso.com/SMS_DP_SMSPKG$/Content_GUID.1" Signature="http://PS1DP.contoso.com/SMS_DP_SMSSIG$/Content_63fbf078-1815-4e37-9614-b60ce7947805.1.tar/><ADSite Name="Default-First-Site-Name "/><IPSubnets><IPSubnet Address="10.10.25.128"/><IPSubnet Address=""/><IPSubnets><Metric Value=""/><Version>8239</Version><Capabilities SchemaVersion="1.0"><Property Name="SSLState" Value="0"//><Capabilities><ServerRemoteName PS1DP.contoso.com</ServerRemoteName><>DPType SERVER</DPType>><Windows Trust="1"/><Locality>LOCAL</LocationRecord></LocationRecords/LocationRecords></Site><><MPSite SiteCode="MEH" MasterSiteCode="MEH" SiteLocality="LOCAL"/><LocationRecords/></><><Site RelatedContentIDs><><//ContentLocationReply>

  5. Odpowiedź jest odbierana przez usługi lokalizacji na kliencie. W LocationServices.log:

    01-13-2016 17:56:42.510 LocationServices 2752 (0xac0) ContentLocationReply: <ContentLocationReply SchemaVersion="1.00" ContentFlags=" 200960" HashAlgorithm="32780" AlgorithmPreference="4" Hash="6FB054E0532351D888291FF52F74E0085940AEA90EC85A5B999B6CFBE94663FC" ExcludeFileListHash="" RelatedContentID=""><ContentInfo PackageFlags="32"><ContentHashValues><Hash Algorithm="32780" HashString="6FB054E0532351D888291FF52F74E0085940AEA9EC85A5B999B6CFBE94663FC" HashPreference="4"//ContentHashValues></ContentInfo><Sites><><MPSite SiteCode="MEH" MasterSiteCode="MEH" SiteLocality="LOCAL" IISPreferedPort="80" IISSSLPreferedPort="443"/><LocationRecords><LocationRecords><Nazwa adresu URL="http://PS1DP.contoso.com/SMS_DP_SMSPKG$/Content_63fbf078-1815-4e37-9614-b60ce7947805.1" Signature="http://PS1DP.contoso.com/SMS_DP_SMSSIG$/Content_63fbf078-1815-4e37-9614-b60ce7947805.1.tar/><ADSite Name="Default-First-Site-Name"/><IPSubnets IPSubnet Address="10.10.25.128"/><IPSubnet Address=""/></IPSubnets><><Metric Value=""/><Version>8239><</Wersja><Capabilities SchemaVersion="1.0"><Property Name="SSLState" Value="0"//><Capabilities><ServerRemoteName>PS1DP.contoso.com</ServerRemoteName><DPType>SERVER</DPType><Windows Trust="1"//><Locality LOCAL</Locality>></LocationRecord/LocationRecords></Site><><MPSite SiteCode="MEH" MasterSiteCode="MEH" SiteLocality="LOCAL"/><LocationRecords></></Site></Sites><RelatedContentIDs/></ContentLocationReply>

  6. Usługi lokalizacji analizuje odpowiedź, aby uzyskać listę punktów dystrybucji, która jest wysyłana do Menedżera transferu zawartości. W LocationServices.log:

    01-13-2016 17:56:42.526 LocationServices 2752 (0xac0) Punkt dystrybucji =''http://PS1DP.contoso.com/SMS_DP_SMSPKG$/Content_GUID.1, Locality='LOCAL', DPType='SERVER', Version='8239', Capabilities='<Capabilities SchemaVersion="1.0"><Property Name="SSLState" Value="0"//><Capabilities>', Signature=''http://PS1DP.contoso.com/SMS_DP_SMSSIG$/Content_GUID.1.tar, ForestTrust='TRUE',

  7. Menedżer transferu zawartości utrzymuje lokalizację zadania, które zostało utworzone do pobierania plików binarnych. W ContentTransferManager.log:

    01-13-2016 17:56:42.526 ContentTransferManager 2752 (0xac0) Utrwalone lokalizacje dla zadania CTM {ID}: (LOCAL) http://PS1DP.contoso.com/SMS_DP_SMSPKG$/Content_GUID.1

  8. Następnie Menedżer transferu zawartości tworzy zadanie dla usługi transferu danych w celu pobrania plików binarnych. W ContentTransferManager.log:

    01-13-2016 17:56:42.541 ContentTransferManager 2752 (0xac0) zadanie CTM {ID} (odpowiadające zadanie DTS {ID}) rozpoczęto pobieranie z folderu "http://PS1DP.contoso.com/SMS_DP_SMSPKG$/Content_GUID.1" w celu pobrania pełnej zawartości.

  9. Usługa transferu danych kompiluje zadanie przy użyciu adresu URL i uruchamia zadanie usługi BITS do pobrania. W DataTransferService.log:

    01-13-2016 17:56:42.541 DataTransferService 2752 (0xac0) Wysyłanie żądania PROPFIND przy użyciu adresu URL http://PS1DP.contoso.com:80/SMS_DP_SMSPKG$/Content_GUID.1
    01-13-2016 17:56:42.557 DataTransferService 2752 (0xac0) UpdateURLWithTransportSettings(): NOWY adres URL — http://ps1dp.contoso.com:80/SMS_DP_SMSPKG$/Content_GUID.1/sccm?/ConfigMgrTools.msi
    01-13-2016 17:56:42.573 DataTransferService 2752 (0xac0) Uruchamianie pobierania usługi BITS dla zadania DTS "{ID}".
    01-13-2016 17:56:42.573 DataTransferService 2752 (0xac0) BITSHelper: Pełna ścieżka źródłowa do przeniesienia = http://PS1DP.contoso.com:80/SMS_DP_SMSPKG$/Content_GUID.1/sccm?/ConfigMgrTools.msi

  10. Usługa transferu danych kończy pobieranie i oznacza pomyślne zadanie. W DataTransferService.log:

    01-13-2016 17:56:42.666 DataTransferService 2748 (0xabc) Zadanie: {ID}, łączna liczba plików: 1, przeniesione pliki: 0, łączna liczba bajtów: 5664768, przetransferowane bajty: 262144
    01-13-2016 17:56:42.869 DataTransferService 1568 (0x620) Zadanie: {ID}, łączna liczba plików: 1, Transferowane pliki: 1, Łączna liczba bajtów: 5664768, Przetransferowane bajty: 5664768
    01-13-2016 17:56:42.885 DataTransferService 2752 (0xac0) DTSJob {ID} w stanie "NotifiedComplete".
    01-13-2016 17:56:42.885 DataTransferService 2752 (0xac0) Zadanie DTS {ID} zostało ukończone: Stan: SUCCESS,

  11. Następnie Menedżer transferu zawartości czyści zadanie DTS, a usługa CAS rozpoczyna sprawdzanie skrótu pobranych plików binarnych.

    W ContentTransferManager.log:

    01-13-2016 17:56:42.901 ContentTransferManager 2728 (0xaa8) CCTMJob::_Cleanup(JobID={ID}) — anulowanie zadania DTS z domyślnym dostawcą <>
    01-13-2016 17:56:42.901 ContentAccess 2348 (0x92c) Używanie skrótu z informacji o zawartości LS: HashString

    W CAS.log:

    01-13-2016 17:56:42.948 ContentAccess 2348 (0x92c) Obliczony skrót: HashString
    01-13-2016 17:56:42.948 ContentAccess 2348 (0x92c) Weryfikacja skrótu powodzenia z algorytmem skrótu = 32780, preferencja: 4

  12. Następnie program Content Access mapuje zawartość do pamięci podręcznej PROGRAMU CCM, w której są teraz przechowywane pobrane pliki binarne. W CAS.log:

    01-13-2016 17:56:42.948 ContentAccess 2348 (0x92c) Zapisane mapowanie identyfikatora zawartości Content_GUID.1, C:\WINDOWS\ccmcache\1
    01-13-2016 17:56:42.948 ContentAccess 2348 (0x92c) CacheManager: ADD new cache entry for id:Content_GUID Version : 1 Size : 5532K RefCount:1 LastRef Minutes: 0 State : ACTIVE PinDuration : 0 Location : C:\WINDOWS\ccmcache\1
    01-13-2016 17:56:42.948 ContentAccess 2348 (0x92c) Utworzono nowy element pamięci podręcznej w lokalizacji C:\WINDOWS\ccmcache\1 dla 1.Content_GUID Rozmiar 5532 KB bajtów
    01-13-2016 17:56:42.948 ContentAccess 2348 (0x92c) Pobieranie zakończyło się pomyślnie dla żądania pobrania {GUID}

  13. Aktualizacje magazynu stanu ciągłej integracji CIEnforcementState dla interfejsów certyfikacji w celu pomyślnego pobrania zawartości. Następnie agent ciągłej integracji pobiera kopię zapasową i rozpoczyna wymuszanie interfejsów certyfikacji. W CIAgent.log:

    01-13-2016 17:56:43.041 CIAgent 2316 (0x90c) CIAgentJob({ID}): TransitionState(From=StateDownloadingContents, To=StateEnforcingCIs) for Event=Transition
    01-13-2016 17:56:43.041 CIAgent 2728 (0xaa8) CIAgentJob({ID}): EnforceCIs
    01-13-2016 17:56:43.041 CIAgent 2728 (0xaa8) {ID} — inicjowanie wymuszania zadań.
    01-13-2016 17:56:43.073 CIAgent 2728 (0xaa8) Job({ID}) : Wykonywanie: Task(ScopeId_GUID/RequiredApplication_GUID.10.Enforce)
    01-13-2016 17:56:43.073 CIAgent 2728 (0xaa8) Job({ID}) : Wykonywanie: Task(ScopeId_GUID/Application_GUID.10.Enforce)
    01-13-2016 17:56:43.073 CIAgent 2728 (0xaa8) Job({ID}) : Wykonywanie: Task(ScopeId_GUID/DeploymentType_GUID.6.Enforce)

Rozwiązywanie problemów z krokiem 7

W tym momencie w sekwencji zadań zażądaliśmy i pobraliśmy zawartość kilka razy. Zostało to wykonane przy użyciu standardowych procedur żądania/odpowiedzi dotyczących zawartości. Te procedury są używane w standardowych instalacjach oprogramowania/aplikacji poza sekwencją zadań. Ponieważ sekwencja zadań pomyślnie użyła tych procedur, istnieje niewielkie prawdopodobieństwo ich niepowodzenia podczas tego zadania. Jeśli jednak wystąpią problemy z żądaniami lokalizacji zawartości lub dostępem, sprawdź następujące pliki dziennika, aby uzyskać wskazówki dotyczące tego, gdzie proces kończy się niepowodzeniem:

  • CIAgent.log
  • CAS.log
  • ContentTransferManager.log
  • DataTransferService.log
  • LocationServices.log
  • MP_Location.log

Krok 8. Typ wdrożenia aplikacji jest wymuszany przez wykonanie wiersza polecenia

Teraz jest praca wymuszania instalacji aplikacji. Będzie ona używać standardowych składników i przepływu instalacji aplikacji:

  • AppDiscovery
  • AppEnforce
  1. AppDiscovery odnajduje aplikację i jej właściwości. W AppDiscovery.log:

    ActionType — czas instalacji, maksymalny czas wykonywania = 120 minut dla narzędzia AppDT "ConfigMgr 2012 Toolkit R2 — Instalator Windows (*plik .msi)" [ScopeId_GUID/DeploymentType_GUID], poprawka — 6

  2. AppEnforce rozpoczyna wymuszanie instalacji przez wykrywanie typu wdrożenia aplikacji. W przypadku tożsamości usługi zarządzanej używa kodu produktu, aby sprawdzić, czy jest już zainstalowany. Przy założeniu, że stan wykrywania nie został odnaleziony, instalacja będzie kontynuowana. W AppEnforce.log:

    01-13-2016 17:56:43.104 AppEnforce 2216 (0x8a8) +++ Uruchamianie wymuszania instalacji dla jednostek DT aplikacji "ConfigMgr 2012 Toolkit R2 — Instalator Windows (*.msi pliku)" ApplicationDeliveryType — ScopeId_GUID/DeploymentType_GUID, Poprawka — 6, ContentPath — C:\WINDOWS\ccmcache\1, Kontekst wykonywania — dowolne
    01-13-2016 17:56:44.666 AppEnforce 2216 (0x8a8) +++ Nie odnaleziono aplikacji. [Identyfikator appDT: ScopeId_GUID/DeploymentType_GUID, poprawka: 6]

  3. Teraz usługa AppEnforce przygotuje środowisko wymuszania, analizuje wiersz polecenia i inne parametry instalacji, a następnie przygotowuje katalog roboczy i wykonuje wiersz polecenia.

    W AppEnforce.log:

    01-13-2016 17:56:44.682 AppEnforce 2216 (0x8a8) Środowisko wymuszania aplikacji:
    Kontekst: maszyna
    Wiersz polecenia: msiexec /i "ConfigMgrTools.msi" /q /L*V "C:\Windows\CCM\Logs\MSI_install.log"
    Zezwalaj na interakcję z użytkownikiem: Nie
    Tryb interfejsu użytkownika: 0
    Token użytkownika: null
    Identyfikator sesji: 4294967295
    Ścieżka zawartości: C:\WINDOWS\ccmcache\1
    Katalog roboczy:
    01-13-2016 17:56:44.682 AppEnforce 2216 (0x8a8) Przygotowany katalog roboczy: C:\WINDOWS\ccmcache\1
    01-13-2016 17:56:44.713 AppEnforce 2216 (0x8a8) Przeanalizowane cmdLine: msiexec /i "ConfigMgrTools.msi" /q /L*V "C:\Windows\CCM\Logs\MSI_install.log"
    01-13-2016 17:56:44.713 AppEnforce 2216 (0x8a8) Znaleziono plik wykonywalny msiexec z pełną ścieżką C:\WINDOWS\system32\msiexec.exe
    01-13-2016 17:56:45.666 AppEnforce 2216 (0x8a8) Wykonywanie wiersza polecenia: "C:\WINDOWS\system32\msiexec.exe" /i "ConfigMgrTools.msi" /q /L*V "C:\Windows\CCM\Logs\MSI_install.log" /qn z kontekstem systemu
    01-13-2016 17:56:44.729 AppEnforce 2216 (0x8a8) Przeanalizowane cmdLine: "C:\WINDOWS\system32\msiexec.exe" /i "ConfigMgrTools.msi" /q /L*V "C:\Windows\CCM\Logs\MSI_install.log" /qn
    01-13-2016 17:56:45.666 AppEnforce 2216 (0x8a8) Wykonywanie wiersza polecenia: "C:\WINDOWS\system32\msiexec.exe" /i "ConfigMgrTools.msi" /q /L*V "C:\Windows\CCM\Logs\MSI_install.log" /qn z kontekstem systemu

  4. W tym momencie przy założeniu, że istnieje rejestrowanie instalacji MSI, msiexec.exe przejmuje instalację i wykonuje instalację. W Logging.log MSI:

    == Pełne rejestrowanie rozpoczęte: 1/13/2016 17:56:45 Typ kompilacji: SHIP UNICODE 5.00.9600.00 Wywoływanie procesu: C:\WINDOWS\system32\msiexec.exe =

  5. Po zakończeniu instalacji msiexec.exe wyśle kod powrotny do instalacji aplikacji. Zainstaluj aplikację ustawi niezbędne zmienne środowiskowe sekwencji zadań wskazujące powodzenie, a następnie zgłosi pomyślną instalację z powrotem do AppEnforceprogramu .

    W AppEnforce.log:

    MSI (c) (BC:EC) [17:56:47:604]: MainEngineThread zwraca wartość 0
    01-13-2016 17:56:47.979 InstallApplication 1384 (0x568) Odebrano powiadomienieProgress: 1 (aplikacja została zainstalowana pomyślnie)
    01-13-2016 17:56:48.010 InstallApplication 1608 (0x648) Zadanie instalacji zostało zakończone z kodem zakończenia 0x00000000
    01-13-2016 17:56:48.010 InstallApplication 1608 (0x648) Odebrano stan wykonania: 1 (aplikacja została zainstalowana pomyślnie)
    01-13-2016 17:56:48.010 InstallApplication 1608 (0x648) Ustawienie zmiennej TSEnv "_TSAppInstallStatus'='Success"
    01-13-2016 17:56:48.010 InstallApplication 1608 (0x648) Ustawienie zmiennej TSEnv "SMSTSInstallApplicationJobID__ScopeId_GUID/Application_GUID'='"
    01-13-2016 17:56:48.010 InstallApplication 1608 (0x648) Krok 2 na 2 ukończone
    01-13-2016 17:56:48.010 InstallApplication 1608 (0x648) Wysyłanie komunikatu o stanie powodzenia

  6. AppEnforce Pasuje do kodu powodzenia do tabeli określonej na karcie Kody powrotne we właściwościach typu wdrożenia aplikacji. Następnie ponownie wykonuje wykrywanie i oznacza ukończenie wymuszania instalacji.

    W AppEnforce.log:

    01-13-2016 17:56:47.620 AppEnforce 2216 (0x8a8) Szukasz kodu zakończenia 0 w tabeli kodów zakończenia...
    01-13-2016 17:56:47.620 AppEnforce 2216 (0x8a8) Znaleziono dopasowanie w kodach zakończenia powodzenia.
    01-13-2016 17:56:47.620 AppEnforce 2216 (0x8a8) Dopasowany kod zakończenia 0 do wpisu Powodzenie w tabeli kodów zakończenia.
    01-13-2016 17:56:47.620 AppEnforce 2216 (0x8a8) Wykrywanie typu wdrożenia aplikacji ConfigMgr 2012 Toolkit R2 — Instalator Windows (plik .msi)(ScopeId_GUID/DeploymentType_GUID, wersja 6) dla systemu.
    01-13-2016 17:56:47.635 AppEnforce 2216 (0x8a8) +++ Odnaleziona aplikacja [Identyfikator aplikacji: ScopeId_GUID/DeploymentType_GUID, poprawka: 6]
    01-13-2016 17:56:47.635 AppEnforce 2216 (0x8a8) ++++++ wymuszanie aplikacji (4 sekundy) dla dt aplikacji "ConfigMgr 2012 Toolkit R2 — Plik Windows (
    plik .msi)" [ScopeId_GUID/DeploymentType_GUID], poprawka: 6, identyfikator SID użytkownika: ] ++++++

Rozwiązywanie problemów z krokiem 8

Zainstalowane aplikacje muszą spełniać następujące kryteria:

  • Aplikacja musi być typem wdrożenia Instalatora Windows lub Instalatora skryptu. Typy wdrożeń pakietu aplikacji systemu Windows (.appx pliku) nie są obsługiwane.
  • Musi działać na lokalnym koncie systemowym, a nie na koncie użytkownika.
  • Nie może on wchodzić w interakcje z pulpitem. Program musi działać w trybie dyskretnym lub w trybie nienadzorowanym.
  • Nie może on samodzielnie zainicjować ponownego uruchomienia. Aplikacja musi zażądać ponownego uruchomienia przy użyciu standardowego kodu ponownego uruchomienia (kod zakończenia 3010). Gwarantuje to, że krok sekwencji zadań będzie obsługiwał prawidłowe ponowne uruchomienie. Jeśli aplikacja zwróci kod zakończenia 3010, podstawowy aparat sekwencji zadań wykonuje ponowne uruchomienie. Po ponownym uruchomieniu sekwencja zadań będzie automatycznie kontynuowana.

Aby zebrać więcej informacji o źródle błędu, sprawdź dziennik MSI. Poniższy artykuł zawiera więcej informacji na temat rozwiązywania problemów z dziennikami MSI:

Odczytywanie dziennika msi narzędzia wdrażania

Poniższy artykuł zawiera informacje specyficzne dla produktu i niektóre ogólne porady dotyczące rozwiązywania problemów z dziennikami MSI:

Rozwiązywanie problemów z błędami instalacji pakietu Office

Aby uzyskać więcej informacji na temat typowych błędów instalatora MSI, zobacz komunikaty o błędach MsiExec.exe i InstMsi.exe.

Krok 9. Aplikacja jest wykrywana jako zainstalowana, a stan wymuszania jest zgłaszany z powrotem do Menedżera sekwencji zadań

W tej chwili agent ciągłej integracji sprawdza magazyn stanów ciągłej integracji pod kątem stanu wymuszania urzędów certyfikacji. Agent DCM działa tak samo, jak również monitorowanie postępu i rejestrowanie go w celu DCMAgent.log.

  1. Instalacja została ukończona, a wykrywanie oznaczyło je jako zainstalowane. Magazyn stanu ciągłej integracji wykryje, że stan istniejącej ciągłej integracji zmienił się z Wymuszanie na EnforcementSuccess.

    W CIStateStore.log:

    01-13-2016 17:56:47.667 CIStateStore 2728 (0xaa8) Istniejący stan ciągłej integracji został zmieniony
    01-13-2016 17:56:47.667 CIStateStore 2728 (0xaa8) [ScopeId_GUID/DeploymentType_GUID:6] CiEnforceState zmieniono: Wymuszanie -> EnforcementSuccess
    01-13-2016 17:56:47.729 CIStateStore 2348 (0x92c) Istniejący stan ciągłej integracji został zmieniony
    01-13-2016 17:56:47.776 CIStateStore 2728 (0xaa8) [ScopeId_GUID/RequiredApplication_GUID:10] CiEnforceState zmieniono: Wymuszanie -> EnforcementSuccess

  2. Po otrzymaniu nowego stanu wymuszania z magazynu stanu ciągłej integracji agent ci oznaczy swoje zadania jako ukończone i przejdzie do raportowania stanu wymuszania. W CIAgent.log:

    01-13-2016 17:56:47.823 CIAgent 2348 (0x92c) JobTaskHelper — Inicjowanie następnego zadania w razie potrzeby
    01-13-2016 17:56:47.823 CIAgent 2348 (0x92c) Job({ID}): Already Completed : Task(ScopeId_GUID/DeploymentType_GUID.6.Enforce)
    01-13-2016 17:56:47.823 CIAgent 2348 (0x92c) Job({ID}): Already Completed : Task(ScopeId_GUID/Application_GUID.10.Enforce)
    01-13-2016 17:56:47.823 CIAgent 2348 (0x92c) Job({ID}): Already Completed : Task(ScopeId_GUID/RequiredApplication_GUID.10.Enforce)
    01-13-2016 17:56:47.838 CIAgent 2316 (0x90c) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=StateEnforcementReporting)

  3. Raportowanie wymuszania obejmuje sprawdzanie magazynu stanów ciągłej integracji pod kątem stanu zgodności aplikacji. Po ustawieniu zgodności agent ciągłej integracji przejdzie na ukończone i wyczyści zadanie.

    W CIStateStore.log:

    01-13-2016 17:56:47.932 CIStateStore 2316 (0x90c) [ScopeId_GUID/RequiredApplication_GUID:10] Zmieniono stan CIState: Niezgodne —> zgodne

    W CIAgent.log:

    01-13-2016 17:56:47.963 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=Completed)
    01-13-2016 17:56:47.963 CIAgent 2728 (0xaa8) CIAgentJob({ID}): CAgentJob::HandleEvent(Event=Transition, CurrentState=Completed)
    01-13-2016 17:56:47.963 CIAgent 2728 (0xaa8) CIAgentJob({ID}): Usuwanie zadania CIAgent
    01-13-2016 17:56:47.963 CIAgent 2728 (0xaa8) Usunięte zadanie CIAgent {ID}

  4. Agent DCM przekazuje powiadomienie o powodzeniu do procesu Instalowanie aplikacji (smsappinstall.exe), a agent DCM czyści zadanie.

    W DCMAgent.log:

    01-13-2016 17:56:47.979 DCMAgent 1384 (0x568) CAppMgmtSDK::GetEvaluationState ScopeId_GUID/RequiredApplication_GUID.10 = Wymuszone
    01-13-2016 17:56:47.979 DCMAgent 2316 (0x90c) DCMAgentJob({ID}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Success)
    01-13-2016 17:56:47.979 InstallApplication 1608 (0x648) Odebrano powiadomienie o ukończeniu zadania od agenta DCM
    01-13-2016 17:56:47.995 DCMAgent 2348 (0x92c) CDCMAgentJobMgr::D eleteJob — żądanie usunięcia zadania agenta DCM {ID}

  5. Na koniec kod zakończenia jest zwracany z powrotem do Menedżera sekwencji zadań. Menedżer sekwencji zadań aktualizuje odpowiednie zmienne środowiskowe sekwencji zadań i wznawia następne zadanie w sekwencji. W SMSTS.log:

    01-13-2016 17:56:48.073 TSManager 2176 (0x880) Proces zakończony kodem zakończenia 0
    01-13-2016 17:56:48.073 TSManager 2176 (0x880) Pomyślnie ukończono akcję (Zainstaluj aplikację) z kodem zakończenia win32 0

Więcej informacji

W celach związanych z rozwiązywaniem problemów najlepszym rozwiązaniem jest utworzenie i użycie zduplikowanej kopii sekwencji zadań produkcyjnych. Może być konieczne zmodyfikowanie sekwencji zadań w celu uwzględnienia większej liczby zadań zbierania danych. Może być konieczne wdrożenie sekwencji zadań na maszynie testowej.

Wdrożenia, które mają problemy, zwykle będą zgłaszać błędy w obszarze roboczym Monitorowanie . Te błędy można zobaczyć po wybraniu pozycji Błąd wdrożeń>. Aby uzyskać więcej informacji na temat rozwiązywania tych błędów, zobacz następujący artykuł:

Porady i wskazówki: Jak podjąć działania dotyczące zasobów, które zgłaszają niepowodzenie wdrożenia w programie System Center 2012 Configuration Manager

Aby uzyskać więcej informacji na temat kroków sekwencji zadań, zobacz Kroki sekwencji zadań.