Сбой запуска Windows Admin Center


Опубликовано 11.10.2024 12:57 | Автор: Admin

В данной статье рассматривается:
Не запускается Windows Admin Center после обновлений на ОС Windows 10. Решений одной из причин такого поведения будет описан ниже.

После некоторых обновлений перестал запускаться Windows Admin Center со следующими ошибками.

Версия установки: WindowsAdminCenter2311.msi

Ошибка WAC

Имя сбойного приложения: SmeDesktop.exe, версия: 1.5.2407.23001, метка времени: 0x9a70c5cc
Имя сбойного модуля: KERNELBASE.dll, версия: 10.0.19041.3930, метка времени: 0x9141f979
Код исключения: 0xe0434352
Смещение ошибки: 0x000000000002cf19
Идентификатор сбойного процесса: 0x2bc8
Время запуска сбойного приложения: 0x01db1b1ec9639ed1
Путь сбойного приложения: C:\Program Files\Windows Admin Center\SmeDesktop.exe
Путь сбойного модуля: C:\WINDOWS\System32\KERNELBASE.dll
Идентификатор отчета: 21ee1ef3-fd4b-41c2-bd35-be3c515203a9
Полное имя сбойного пакета: 
Код приложения, связанного со сбойным пакетом: 

Приложение: SmeDesktop.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: Microsoft.ManagementExperience.PackageManagement.ExtensionSignatureException
   в Microsoft.ManagementExperience.PackageManagement.SignatureValidationPolicy.ApplyTo(Microsoft.ManagementExperience.Common.ValidationResult)
   в Microsoft.ManagementExperience.FrontEnd.Startup.Start(Microsoft.ManagementExperience.Common.Gateway.GatewayMode)
   в Microsoft.ManagementExperience.Desktop.Program.Launch(Boolean)
   в Microsoft.ManagementExperience.Desktop.Program.Main(System.String[])

Лечение:

Причиной этого стал отозванный корневой сертификат: Microsoft Root Certificate Authority

Серийный номер: 79ad16a14aa0a5ad4c7358f407132e65

Удалите данный сертификат.

Дополнение:

Как часто бывает, надо решить по-быстрому небольшую проблемку, но на пути попадаешь в некий адский круг и маленькая проблемка затягивает тебя в решение других проблем.

В данном случае так и произошло и где ожидалось решить за пол часика, пришлось потратить более полу дня.

Сам путь поиска проблемы был долгий и тернистый и лезть в код это было уже последней надеждой.

Ошибка была в модуле: Microsoft.ManagementExperience.PackageManagement.dll

Я не поленился и декопилировал модуль, чтоб понять, что происходит. Код, в котором происходило не обработанное исключение

public class SignatureValidationPolicy
{
 public bool IsDevMode { get; }

 public bool IsDebugBuild { get; }
 public bool ShouldValidate { get; }
 public SignatureValidationPolicy(bool developerMode, bool debugBuild)
 {
  IsDevMode = developerMode;
  IsDebugBuild = debugBuild;
  ShouldValidate = !developerMode && !debugBuild;
 }
 public void ApplyTo(ValidationResult validationResult)
 {
  if (validationResult.IsValid)
  {
   return;
  }
  if (ShouldValidate)
  {
   throw new ExtensionSignatureException("Error(s) validating platform integrity.", validationResult.InvalidFiles.Select((FileInfo f) => f.FullName));
  }
  foreach (FileInfo invalidFile in validationResult.InvalidFiles) ////-> в этом месте
  {
   Trace.TraceWarning(FormattableString.Invariant($"Unsigned file identified: {invalidFile.FullName}.  When run in Production Mode, this will cause the gateway to not run."));
  }
 }
}

Далее я подключался дебагером, смотрел, ломал, пытался ....

В итоге получилось выдернуть список файлов, что не нравилось системе:

Недопустимые файлы:

C:\Program Files\Windows Admin Center\Microsoft.AspNet.SignalR.Core.dll
C:\Program Files\Windows Admin Center\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
C:\Program Files\Windows Admin Center\NuGet.Core.dll
C:\Program Files\Windows Admin Center\System.Net.Http.dll
C:\Program Files\Windows Admin Center\System.Net.Http.Formatting.dll
C:\Program Files\Windows Admin Center\System.Numerics.Vectors.dll
C:\Program Files\Windows Admin Center\System.Runtime.InteropServices.RuntimeInformation.dll
C:\Program Files\Windows Admin Center\System.Security.Cryptography.Algorithms.dll
C:\Program Files\Windows Admin Center\System.Security.Cryptography.Encoding.dll
C:\Program Files\Windows Admin Center\System.Security.Cryptography.Primitives.dll
C:\Program Files\Windows Admin Center\System.Security.Cryptography.X509Certificates.dll
C:\Program Files\Windows Admin Center\System.ValueTuple.dll
C:\Program Files\Windows Admin Center\System.Web.Cors.dll
C:\Program Files\Windows Admin Center\System.Web.Http.Cors.dll
C:\Program Files\Windows Admin Center\System.Web.Http.dll
C:\Program Files\Windows Admin Center\System.Web.Http.Owin.dll

Взял самый первый и Microsoft.AspNet.SignalR.Core.dll - имел не действующий сертификат ... ну а дальше вы все знаете.

Ну еще чуток кода, что проверяет система

private static void ValidatePlatformSignatures()
	{
		SignatureValidator signatureValidator = new SignatureValidator();
		ValidationResult validationResult = new ValidationResult();
		signatureValidator.Validate(Path.Combine(StaticFileConfiguration.Instance.RootFolder, StaticFileConfiguration.PluginsFolderName), validationResult);
		signatureValidator.Validate(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), validationResult);
		if (validationResult.IsValid)
		{
			Trace.TraceInformation("Validation complete.  All assemblies have valid signatures.");
		}
		else
		{
			new SignatureValidationPolicy(GatewayHostInformation.IsDevelopmentMode, StaticFileConfiguration.IsDebug).ApplyTo(validationResult); // вот сюда мы попадали
		}
	}

Следствием того, что все пошло плохо стало обновление сертификатов на Windows 10.


Метки
Windows WAC Error Заметка

Комментариев: 0

 43 |


Добавить комментарий:
Google
Yandex
Отправить