Поделиться через


DeploymentManager.Repair Метод

Определение

Пытается восстановить среду выполнения Windows App SDK независимо от ее состояния. По этой причине, чтобы избежать восстановления, когда среда выполнения Windows App SDK находится в хорошем состоянии, следует вызывать этот API только в том случае, если состояние развертывания не в порядке.

Все сведения о необходимой версии, канале и архитектуре извлекаются из текущего пакета Windows App SDK Framework.

public:
 static DeploymentResult ^ Repair();
 static DeploymentResult Repair();
public static DeploymentResult Repair();
function repair()
Public Shared Function Repair () As DeploymentResult

Возвращаемое значение

Комментарии

Так как пакеты Main и Singleton будут восстановлены, возможно, восстановление основного пакета завершится сбоем и Инициализация возвращается с состоянием PackageRepairFailed. Или возможно, что основной пакет успешно восстановлен, но восстановление одноэлементного пакета завершается сбоем, и функция Initialize возвращается с состоянием PackageRepairFailed. В обоих случаях возвращенный объект WindowsAppRuntimeStatus будет содержать ошибку первого сбоя восстановления пакета. Откат всех успешно исправленных пакетов не будет выполнен. Сведения об обработке ошибок см. в разделе Устранение ошибок установки.

if (DeploymentManager.GetStatus().Status == DeploymentStatus.PackageRepairRequired ||
    DeploymentManager.GetStatus().Status == DeploymentStatus.Unknown)
{
    // Repair will always attempt to repair the Windows App SDK runtime regardless of its state.
    // Repair can sometimes take several seconds to deploy the packages.
    // These should be run on a separate thread so as not to hang your app while the
    // packages deploy.
    var repairTask = Task.Run(() => DeploymentManager.Repair());
    // ...do other work while the repair is running...
    repairTask.Wait();

    // Check the result.
    if (repairTask.Result.Status != DeploymentStatus.Ok)
    {
        // The Repair has failed.
        // Do error reporting or gather information for submitting a bug.
        // Gracefully exit the program or carry on without using the Windows App SDK runtime.
    }
}

Применяется к