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)

Public Function Upgrade ( _
	packages As IEnumerable(Of UpgradePackageInfo), _
	source As StorageInfo, _
	destination As StorageInfo, _
	options As BatchUpgradeOptions, _
	events As IDTSEvents _
) As UpgradeResult
Dim instance As Application
Dim packages As IEnumerable(Of UpgradePackageInfo)
Dim source As StorageInfo
Dim destination As StorageInfo
Dim options As BatchUpgradeOptions
Dim events As IDTSEvents
Dim returnValue As UpgradeResult

returnValue = instance.Upgrade(packages, _
	source, destination, options, events)


Type: System.Collections.Generic.IEnumerable(Of 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