Share via


Application.UpdateObjects Property

Definition

*** Member deprecated; see Remarks. ***   Gets or sets a Boolean that indicates whether extensible objects can be updated at package load time if an updated version is found.

public:
 property bool UpdateObjects { bool get(); void set(bool value); };
public bool UpdateObjects { get; set; }
member this.UpdateObjects : bool with get, set
Public Property UpdateObjects As Boolean

Property Value

true if extensible objects can be updated at package load time when an updated version is found; otherwise, false.

Examples

The following code example shows how to toggle the UpdateObjects property to enable or prevent updates. It sets the UpdateObjects to true, prints the value of the property, sets it to false, and prints out the value again.

class ApplicationTests  
    {  
        static void Main(string[] args)  
        {  
            Application app = new Application();  

            Boolean updateObjs = true;  
            app.UpdateObjects = updateObjs;  
            Console.WriteLine(app.UpdateObjects);  

            updateObjs = false;  
            app.UpdateObjects = updateObjs;  
            Console.WriteLine(app.UpdateObjects);  
        }  
    }  
Class ApplicationTests  
        Shared  Sub Main(ByVal args() As String)  
            Dim app As Application =  New Application()   

            Dim updateObjs As Boolean =  True   
            app.UpdateObjects = updateObjs  
            Console.WriteLine(app.UpdateObjects)  

            updateObjs = False  
            app.UpdateObjects = updateObjs  
            Console.WriteLine(app.UpdateObjects)  
        End Sub  
End Class  

Sample Output:

True

False

Remarks

Note

This member will be removed in a future version of MicrosoftSQL Server. Avoid using this member in new development work, and plan to modify applications that currently use this member.

When new versions of extensible objects such as the tasks, Foreach enumerators, log providers, and connection managers become available, existing packages can be updated at load time to reference the new objects. You can do this by setting the UpdateObjects to true before loading the package.

Each extensible object implements a CanUpdate property. The runtime tries to load the existing package, and if it finds a reference to an older object, the package tries to update its references. It first enumerates all the extensible objects it contains, excluding the Pipeline, which is treated separately and locally, and for each object, calls CanUpdate on the new object passing the ID of the old one. If the new object can update the old object, the old object is passed to the new one through the Update method, and the XML is changed in place. By default, all extensible objects implement CanUpdate to return false, in which case Update does nothing to the XML that is passed.

Applies to