I have several .dtsx packages in the folder on file system.
I try to extract additional information from the package with next script:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Microsoft.SqlServer.Server;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts;
namespace ImportDataFromPackage
{
class Program
{
static void Main(string[] args)
{
// The pkg variable points to a package
// installed with the SSIS samples.
string pkg = @"D:\MyFolder\Ryder_project\testpackage\ACS\ACS_Available_Months.dtsx";
Application app = new Application();
Package p1 = app.LoadPackage(pkg, null);
p1.Description = "CalculatedColumns package";
app.SaveToDtsServer(p1, null, @"File System\myp1Package", "YOURSERVER");
PackageInfos pInfos = app.GetDtsServerPackageInfos(@"File System", "YOURSERVER");
foreach (PackageInfo pinfo in pInfos)
{
Console.WriteLine("Package Information");
Console.WriteLine("CreationDate: {0}", pinfo.CreationDate);
Console.WriteLine("Description: {0}", pinfo.Description);
Console.WriteLine("Flags: {0}", pinfo.Flags);
Console.WriteLine("Folder: {0}", pinfo.Folder);
Console.WriteLine("Name: {0}", pinfo.Name);
Console.WriteLine("PackageDataSize: {0}", pinfo.PackageDataSize);
Console.WriteLine("PackageGuid: {0}", pinfo.PackageGuid);
Console.WriteLine("VersionBuild: {0}", pinfo.VersionBuild);
Console.WriteLine("VersionComments {0}", pinfo.VersionComments);
Console.WriteLine("VersionGUID {0}", pinfo.VersionGUID);
Console.WriteLine("VersionMajor {0}", pinfo.VersionMajor);
Console.WriteLine("VersionMinor {0}", pinfo.VersionMinor);
Console.WriteLine();
}
}
}
}
and I get next error:

Please help me to resolve the problem.
SSIS packages .dtsx files are Xml files, so you can use XML Parser and other techniques, Regular Expressions to get its informations. You can achieve this using SQL, .Net and other technologies.
You can follow my detailed answer to the following question:
Also if you are looking for a reverse engineering you can check the following link:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With