Application.UpdatePackage Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor booleano que indica si se pueden actualizar los paquetes cuando se encuentra una versión actualizada.
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
Valor de propiedad
true si se pueden actualizar paquetes cuando se encuentra una versión actualizada; de lo contrario, false. El valor predeterminado es false.
Ejemplos
En el ejemplo de código siguiente se muestra cómo habilitar y deshabilitar las actualizaciones. Establece en UpdatePackagetrue
, imprime el valor , restablece el valor de la propiedad en y vuelve a false
imprimir el valor.
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
Salida del ejemplo:
True
False
Comentarios
Si se actualizan objetos extensibles, como tareas, Foreach
enumeradores, proveedores de registro y administradores de conexiones, los paquetes más antiguos se pueden actualizar en tiempo de carga. Para que esto ocurra, las dos propiedades siguientes deben establecerse true
en en el objeto de aplicación antes de cargar: UpdatePackage, y UpdateObjects.
Cada objeto extensible también debe implementar su CanUpdate
propiedad .
El tiempo de ejecución intenta cargar el paquete antiguo y, si encuentra un objeto anterior, intenta una actualización. El tiempo de ejecución enumera primero todos los objetos extensibles que contiene, excepto , Pipeline
que se trata por separado y localmente. Para cada objeto, el tiempo de ejecución llama CanUpdate
a en los nuevos objetos y pasa el identificador del objeto antiguo. Si el nuevo objeto puede actualizar el antiguo, el objeto antiguo se pasa al nuevo mediante su Update
método y su XML se cambia en su lugar. De forma predeterminada, todos los objetos extensibles implementan CanUpdate
para devolver false
; por lo tanto, el XML que se pasa no se actualiza.