IsFinished: Boolean;
Свойство IsFinished возвращает признак успешного применения обновления.
Свойство возвращает значение True, если установка обновления завершилась успешно и False, если при установке возникли какие-либо ошибки.
Для выполнения примера предполагается наличие файла обновления «D:\Work\update.pefx».
Добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
Mb: IMetabase;
Update: IMetabaseUpdate;
Log: IMetabaseUpdateLog;
Progress: CUpdateProgress;
Begin
Mb := MetabaseClass.Active;
// Загрузка обновления из файла
Update := Mb.CreateUpdate;
Update.LoadFromFileNF("D:\Work\update.pefx");
// Применение обновления
Progress := New CUpdateProgress.Create;
Update.Apply(Progress);
// Просмотр общей информации из журнала обновления
Log := Update.Log;
If Log.IsFinished Then
Debug.WriteLine("---Обновление завершено успешно---");
Else
Debug.WriteLine("---Обновление завершено с ошибками---");
Debug.WriteLine("Конфликты соответствия объекта в обновлении и репозитории: " + Log.HasConflicts.ToString);
Debug.WriteLine("Ошибки при обновлении объектов: " + Log.HasErrors.ToString);
Debug.WriteLine("Имеются пропущенные ошибки: " + Log.HasErrorSkipped.ToString);
Debug.WriteLine("Несоответствие зависимостей объектов: " + Log.HasOnResolve.ToString);
End If;
Debug.WriteLine("Начало обновления: " + Log.UpdateStartTimestamp.ToString);
Debug.WriteLine("Окончание обновления: " + Log.UpdateFinishTimestamp.ToString);
Debug.WriteLine("Репозиторий, в котором применено обновления: " + Log.UpdateMetabase);
Debug.WriteLine("Пользователь: " + Log.UpdateUserName);
Debug.WriteLine("SID пользователя: " + Log.UpdateUserSID);
Debug.WriteLine("Рабочая станция, с которой производилась установка обновления: " + Log.UpdateWorkstation);
End Sub UserProc;
Class CUpdateProgress: UpdateProgress
Sub OnError(Data: IMetabaseUpdateProgressData; Var Ignore: Boolean);
Begin
Ignore := True;
End Sub OnError;
End Class CUpdateProgress;
При выполнении примера будет загружено и установлено обновление из указанного файла. Общая информация о результатах установки будет выведена в консоль среды разработки.
См. также: