Application.Upgrade Method

Upgrades one or more Integration Services packages from a specified source location to a specified destination location.

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

member Upgrade : 
        packages:IEnumerable<UpgradePackageInfo> * 
        source:StorageInfo * 
        destination:StorageInfo * 
        options:BatchUpgradeOptions * 
        events:IDTSEvents -> UpgradeResult 


Type: System.Collections.Generic.IEnumerable(UpgradePackageInfo)
The collection of packages to be upgraded.
Type: Microsoft.SqlServer.Dts.Runtime.StorageInfo
An StorageInfo object that specifies the source location for the packages to be upgraded.
Type: Microsoft.SqlServer.Dts.Runtime.StorageInfo
The StorageInfo object that specifies the destination location for the packages to be upgraded.
Type: Microsoft.SqlServer.Dts.Runtime.BatchUpgradeOptions
A BatchUpgradeOptions object that specifies the options that will be applied to the packages during the upgrade process.
Type: Microsoft.SqlServer.Dts.Runtime.IDTSEvents
An IDTSEvents object.

Return Value

Type: Microsoft.SqlServer.Dts.Runtime.UpgradeResult
An UpgradeResult object that specifies the result of upgrading one or more packages.

The following example shows how to upgrade a collection of packages. The original packages and the upgrade packages are stored in a folder in the file system.

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;

namespace ConsoleApplication1
    class Program
        static void Main(string[] args)

            Application app = new Application();

            UpgradePackageInfo packinfo1 = new UpgradePackageInfo("C:\\temp\\Package.dtsx", "C:\\temp\\Package.dtsx", null);
            UpgradePackageInfo packinfo2 = new UpgradePackageInfo("C:\\temp\\Package2.dtsx", "C:\\temp\\Package2.dtsx", null);

            Collection<UpgradePackageInfo> packages = new Collection<UpgradePackageInfo>();

            StorageInfo storeinfoSource = StorageInfo.NewFileStorage();
            storeinfoSource.RootFolder = "C:\\temp";
            StorageInfo storeinfoDest = StorageInfo.NewFileStorage();
            BatchUpgradeOptions upgradeOpts = new BatchUpgradeOptions();
            upgradeOpts.Validate = true;
            upgradeOpts.BackupOldPackages = true;
            upgradeOpts.ContinueOnError = true;
            upgradeOpts.ValidationFailureAsError = true;        
            MyEventsClass eventsClass = new MyEventsClass();

            app.Upgrade(packages, storeinfoSource, storeinfoDest, upgradeOpts, eventsClass);


    class MyEventsClass : DefaultEvents
        public override void OnPreExecute(Executable exec, ref bool fireAgain)
            Console.WriteLine("The PreExecute event of the " + exec.ToString() + " has been raised.");

Community Additions