Application.UpdatePackage Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или устанавливает булевое измерение, указывающее, можно ли обновлять пакеты при нахождении обновлённой версии.
public:
property bool UpdatePackage { bool get(); void set(bool value); };
public bool UpdatePackage { get; set; }
member this.UpdatePackage : bool with get, set
Public Property UpdatePackage As Boolean
Значение свойства
верно, если пакеты можно обновлять при найдении обновлённой версии; в противном случае — ложь. По умолчанию используется значение false.
Примеры
Следующий пример кода показывает, как включить и отключить обновления. Он устанавливает UpdatePackage значение в true, печатает значение, сбрасывает значение свойства на false, и снова выводит значение.
class ApplicationTests
{
static void Main(string[] args)
{
Application app = new Application();
Boolean updatePkg = true;
app.UpdatePackage = updatePkg;
Console.WriteLine(app.UpdatePackage);
updatePkg = false;
app.UpdatePackage = updatePkg;
Console.WriteLine(app.UpdatePackage);
}
}
Class ApplicationTests
Shared Sub Main(ByVal args() As String)
Dim app As Application = New Application()
Dim updatePkg As Boolean = True
app.UpdatePackage = updatePkg
Console.WriteLine(app.UpdatePackage)
updatePkg = False
app.UpdatePackage = updatePkg
Console.WriteLine(app.UpdatePackage)
End Sub
End Class
Пример вывода:
True
False
Комментарии
Если обновляются расширяемые объекты, такие как задачи, Foreach переписчики, провайдеры журналов и менеджеры соединений, старые пакеты могут обновляться при загрузке. Для этого в объекте приложения перед загрузкой необходимо задать следующие два свойства: trueUpdatePackage, и UpdateObjects.
Каждый расширяемый объект также должен реализовывать своё CanUpdate свойство.
Среда выполнения пытается загрузить старый пакет, и если находит более старый объект, пытается обновить. В процессе выполнения сначала перечисляются все расширяемые объекты, исключая Pipeline, который рассматривается отдельно и локально. Для каждого объекта время выполнения вызывает CanUpdate новые объекты, передавая ID старого объекта. Если новый объект может обновить старый, старый объект передаётся новому с помощью его Update метода, и его XML меняется на месте. По умолчанию все расширяемые объекты реализуются CanUpdate для возврата false; следовательно, передаваемый XML не обновляется.