Application.Upgrade Method (IEnumerable<UpgradePackageInfo>, StorageInfo, StorageInfo, BatchUpgradeOptions, IDTSEvents)


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)

public UpgradeResult Upgrade(
	IEnumerable<UpgradePackageInfo> packages,
	StorageInfo source,
	StorageInfo destination,
	BatchUpgradeOptions options,
	IDTSEvents events


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.");
Return to top