Application.UpdatePackage 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个布尔值,指示当发现更新版本时是否可以更新包。
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 不会被更新。