diff --git a/BidsHelper2016.pkgdef.bak b/BidsHelper2016.pkgdef.bak
new file mode 100644
index 0000000..133a8b6
Binary files /dev/null and b/BidsHelper2016.pkgdef.bak differ
diff --git a/BidsHelperPackage.cs b/BidsHelperPackage.cs
index e57236b..97247b6 100644
--- a/BidsHelperPackage.cs
+++ b/BidsHelperPackage.cs
@@ -85,6 +85,7 @@ public BIDSHelperPackage()
///
protected override void Initialize()
{
+ bool bQuitting = false;
base.Initialize();
#if DEBUG
@@ -105,6 +106,13 @@ protected override void Initialize()
DebuggerService.AdviseDebuggerEvents(this, out debugEventCookie);
+ if (SwitchVsixManifest())
+ {
+ bQuitting = true;
+ RestartVisualStudio();
+ return;
+ }
+
foreach (Type t in Assembly.GetExecutingAssembly().GetTypes())
{
if (//typeof(IBIDSHelperPlugin).IsAssignableFrom(t.GetType())
@@ -157,7 +165,120 @@ protected override void Initialize()
}
finally
{
- StatusBar.Clear();
+ if (!bQuitting)
+ StatusBar.Clear();
+ }
+
+ }
+
+ private bool SwitchVsixManifest()
+ {
+#if SQL2017
+ string sVersion = VersionInfo.SqlServerVersion.ToString();
+ if (sVersion.StartsWith("13.")) //this DLL is for SQL 2017 but you have SSDT for SQL2016 installed
+ {
+ string sFolder = System.IO.Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName;
+ string sManifestPath = sFolder + "\\extension.vsixmanifest";
+ string sBackupManifestPath = sFolder + "\\extension2017.vsixmanifest";
+ string sOtherManifestPath = sFolder + "\\extension2016.vsixmanifest";
+
+ string sPkgdef2017Path = sFolder + "\\BidsHelper2017.pkgdef";
+ string sPkgdef2017BackupPath = sFolder + "\\BidsHelper2017.pkgdef.bak";
+ string sPkgdef2016Path = sFolder + "\\BidsHelper2016.pkgdef";
+ string sPkgdef2016BackupPath = sFolder + "\\BidsHelper2016.pkgdef.bak";
+
+ if (System.IO.File.Exists(sOtherManifestPath) && System.IO.File.Exists(sPkgdef2016BackupPath) && System.IO.File.Exists(sPkgdef2017Path))
+ {
+ //backup the current SQL2017 manifest
+ System.IO.File.Copy(sManifestPath, sBackupManifestPath, true);
+
+ //copy SQL2016 manifest over the current manifest
+ System.IO.File.Copy(sOtherManifestPath, sManifestPath, true);
+
+ if (System.IO.File.Exists(sPkgdef2016Path))
+ System.IO.File.Delete(sPkgdef2016BackupPath);
+ else
+ System.IO.File.Move(sPkgdef2016BackupPath, sPkgdef2016Path);
+
+ if (System.IO.File.Exists(sPkgdef2017BackupPath))
+ System.IO.File.Delete(sPkgdef2017Path);
+ else
+ System.IO.File.Move(sPkgdef2017Path, sPkgdef2017BackupPath);
+
+ System.Windows.Forms.MessageBox.Show("You have SSDT for SQL Server " + VersionInfo.SqlServerFriendlyVersion + " installed. Please restart Visual Studio so BIDS Helper can reconfigure itself to work properly with that version of SSDT.", "BIDS Helper");
+ return true;
+ }
+ else
+ {
+ throw new Exception("You have SSDT for SQL Server " + VersionInfo.SqlServerFriendlyVersion + " installed but we couldn't find BIDS Helper 2016 files!");
+ }
+ }
+#elif SQL2016
+ string sVersion = VersionInfo.SqlServerVersion.ToString();
+ if (sVersion.StartsWith("14.")) //this DLL is for SQL 2016 but you have SSDT for SQL2017 installed
+ {
+ string sFolder = System.IO.Directory.GetParent(System.IO.Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName).FullName;
+ string sManifestPath = sFolder + "\\extension.vsixmanifest";
+ string sBackupManifestPath = sFolder + "\\extension2016.vsixmanifest";
+ string sOtherManifestPath = sFolder + "\\extension2017.vsixmanifest";
+
+ string sPkgdef2017Path = sFolder + "\\BidsHelper2017.pkgdef";
+ string sPkgdef2017BackupPath = sFolder + "\\BidsHelper2017.pkgdef.bak";
+ string sPkgdef2016Path = sFolder + "\\BidsHelper2016.pkgdef";
+ string sPkgdef2016BackupPath = sFolder + "\\BidsHelper2016.pkgdef.bak";
+
+ if (System.IO.File.Exists(sOtherManifestPath) && System.IO.File.Exists(sPkgdef2017BackupPath) && System.IO.File.Exists(sPkgdef2016Path))
+ {
+ //backup the current SQL2016 manifest
+ System.IO.File.Copy(sManifestPath, sBackupManifestPath, true);
+
+ //copy SQL2017 manifest over the current manifest
+ System.IO.File.Copy(sOtherManifestPath, sManifestPath, true);
+
+ if (System.IO.File.Exists(sPkgdef2017Path))
+ System.IO.File.Delete(sPkgdef2017BackupPath);
+ else
+ System.IO.File.Move(sPkgdef2017BackupPath, sPkgdef2017Path);
+
+ if (System.IO.File.Exists(sPkgdef2016BackupPath))
+ System.IO.File.Delete(sPkgdef2016Path);
+ else
+ System.IO.File.Move(sPkgdef2016Path, sPkgdef2016BackupPath);
+
+ System.Windows.Forms.MessageBox.Show("You have SSDT for SQL Server " + VersionInfo.SqlServerFriendlyVersion + " installed. Please restart Visual Studio so BIDS Helper can reconfigure itself to work properly with that version of SSDT.", "BIDS Helper");
+ return true;
+ }
+ else
+ {
+ throw new Exception("You have SSDT for SQL Server " + VersionInfo.SqlServerFriendlyVersion + " installed but we couldn't find BIDS Helper 2017 files!");
+ }
+ }
+#endif
+ return false;
+
+ }
+
+ private void RestartVisualStudio()
+ {
+ System.Diagnostics.Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
+ System.Diagnostics.Process newProcess = new System.Diagnostics.Process();
+ newProcess.StartInfo = new System.Diagnostics.ProcessStartInfo {
+ FileName = currentProcess.MainModule.FileName,
+ ErrorDialog = true,
+ UseShellExecute = true,
+ Arguments = DTE2.CommandLineArguments
+ };
+ newProcess.Start();
+
+ EnvDTE.Command command = DTE2.Commands.Item("File.Exit", -1);
+
+ if ((command != null) && command.IsAvailable)
+ {
+ DTE2.ExecuteCommand("File.Exit", "");
+ }
+ else
+ {
+ DTE2.Quit();
}
}
diff --git a/Core/Options/BIDSHelperOptionsVersion.cs b/Core/Options/BIDSHelperOptionsVersion.cs
index 023ec4b..636742d 100644
--- a/Core/Options/BIDSHelperOptionsVersion.cs
+++ b/Core/Options/BIDSHelperOptionsVersion.cs
@@ -13,11 +13,11 @@ namespace BIDSHelper.Core
{
[ClassInterface(ClassInterfaceType.AutoDual)]
[CLSCompliant(false), ComVisible(true)]
- //[Guid(BIDSHelperOptionsVersion.OptionsGuidString)]
+ [Guid(BIDSHelperOptionsVersion.VersionGuidString)]
public class BIDSHelperOptionsVersion: DialogPage
{
- // public const string OptionsGuidString = "9EBCE16B-26C2-4A22-A409-9752750A16AE";
-
+ public const string VersionGuidString = "9128d0ed-abbe-3002-9aee-4c06babd03ae";
+
protected override IWin32Window Window
{
get
diff --git a/Core/VersionInfo.cs b/Core/VersionInfo.cs
index 9e2b151..cef3f55 100644
--- a/Core/VersionInfo.cs
+++ b/Core/VersionInfo.cs
@@ -127,6 +127,8 @@ public static string SqlServerFriendlyVersion
return "2014";
else if (sVersion.StartsWith("13."))
return "2016";
+ else if (sVersion.StartsWith("14."))
+ return "2017";
else
return string.Format("(SQL Unknown {0})", sVersion);
}
diff --git a/Manifest/SQL2017/VSPackage.resx b/Manifest/SQL2017/VSPackage.resx
new file mode 100644
index 0000000..e5def2f
--- /dev/null
+++ b/Manifest/SQL2017/VSPackage.resx
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ BIDS Helper 2017 Extension
+
+
+ BIDS Helper 2017 Visual Studio Extension v2.0.1 - An add-in to extend SQL Server Data Tools
+
+
+
+ ..\..\Resources\BidsHelper.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\..\Resources\deploymdxscript.xslt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252
+
+
+ ..\..\helpabouttext.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+
+
\ No newline at end of file
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
index f3de503..70f2381 100644
--- a/Properties/AssemblyInfo.cs
+++ b/Properties/AssemblyInfo.cs
@@ -18,7 +18,9 @@
[assembly: CLSCompliant(false)]
[assembly: NeutralResourcesLanguage("en-US")]
-#if SQL2016
+#if SQL2017
+[assembly: AssemblyTitle("BIDS Helper for SQL Server 2017")]
+#elif SQL2016
[assembly: AssemblyTitle("BIDS Helper for SQL Server 2016")]
#elif SQL2014
[assembly: AssemblyTitle("BIDS Helper for SQL Server 2014")]
diff --git a/SQL2016_BidsHelper.csproj b/SQL2016_BidsHelper.csproj
index 407812f..a397d5f 100644
--- a/SQL2016_BidsHelper.csproj
+++ b/SQL2016_BidsHelper.csproj
@@ -49,11 +49,11 @@
AnyCPU
2.0
{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- {0828F434-598D-4E5B-983A-9FAD3BFDE857}
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}
Library
Properties
BIDSHelper
- BidsHelper
+ BidsHelper2016
v4.6.1
true
true
diff --git a/SQL2017_BidsHelper.sln b/SQL2017_BidsHelper.sln
new file mode 100644
index 0000000..fdab6e1
--- /dev/null
+++ b/SQL2017_BidsHelper.sln
@@ -0,0 +1,48 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQL2017_BidsHelper", "SQL2017_BidsHelper.csproj", "{0828F434-598D-4E5B-983A-9FAD3BFDE857}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQL2016_BidsHelper", "SQL2016_BidsHelper.csproj", "{4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Debug|x86.ActiveCfg = Debug|x86
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Debug|x86.Build.0 = Debug|x86
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Release|x86.ActiveCfg = Release|x86
+ {0828F434-598D-4E5B-983A-9FAD3BFDE857}.Release|x86.Build.0 = Release|x86
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Debug|x86.ActiveCfg = Debug|x86
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Debug|x86.Build.0 = Debug|x86
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Release|x86.ActiveCfg = Release|x86
+ {4EA3FC6B-F3D9-467E-92EA-68AC4C574CB3}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(TeamFoundationVersionControl) = preSolution
+ SccNumberOfProjects = 3
+ SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
+ SccTeamFoundationServer = https://tfs.codeplex.com/tfs/tfs01
+ SccProjectUniqueName0 = SQL2017_BidsHelper.csproj
+ SccLocalPath0 = .
+ SccProjectUniqueName1 = SQL2016_BidsHelper.csproj
+ SccLocalPath1 = .
+ SccLocalPath2 = .
+ EndGlobalSection
+EndGlobal
diff --git a/SSAS/DeploymentSettings.cs b/SSAS/DeploymentSettings.cs
index 3a2c925..e154fc1 100644
--- a/SSAS/DeploymentSettings.cs
+++ b/SSAS/DeploymentSettings.cs
@@ -92,7 +92,7 @@ public string TargetCubeName
private void SetDefaultTargetServer()
{
Microsoft.Win32.RegistryKey regKey;
-#if SQL2016
+#if SQL2016 || SQL2017
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\VisualStudio\14.0\Packages\{4a0c6509-bf90-43da-abee-0aba3a8527f1}\Settings\Analysis Services Project");
#elif SQL2014
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\VisualStudio\12.0\Packages\{4a0c6509-bf90-43da-abee-0aba3a8527f1}\Settings\Analysis Services Project");
diff --git a/SSIS/DeployPackagesPlugin.cs b/SSIS/DeployPackagesPlugin.cs
index 0fb0fbe..ec91d18 100644
--- a/SSIS/DeployPackagesPlugin.cs
+++ b/SSIS/DeployPackagesPlugin.cs
@@ -285,6 +285,10 @@ private void DeployProject(Project proj, IOutputWindow outputWindow, System.Arra
process.StartInfo.CreateNoWindow = true;
process.StartInfo.FileName = SSIS.PerformanceVisualization.PerformanceTab.GetPathToDtsExecutable("dtutil.exe", false); //makes the bat file less portable, but does workaround the problem if SSIS2005 and SSIS2008 are both installed... issue 21074
+ if (string.IsNullOrEmpty(process.StartInfo.FileName))
+ throw new Exception("Can't find path to dtutil in registry! Please make sure you have the SSIS service installed from the " + PackageHelper.TargetServerVersion.ToString() + " install media");
+
+
if (newOptions.DeploymentType != DtsProjectExtendedConfigurationOptions.DeploymentTypes.FilePathDestination)
{
//create the directories
diff --git a/SSIS/PackageHelper.cs b/SSIS/PackageHelper.cs
index fb7b72f..da230c1 100644
--- a/SSIS/PackageHelper.cs
+++ b/SSIS/PackageHelper.cs
@@ -38,8 +38,11 @@ internal class PackageHelper
/// All managed components in the data flow share the same wrapper, identified by this GUID.
/// The specific type of managed component is identified by the UserComponentTypeName custom property of the component.
/// The GUID is documented in the class Syntax section - https://technet.microsoft.com/en-gb/library/microsoft.sqlserver.dts.pipeline.wrapper.cmanagedcomponentwrapperclass(v=sql.105).aspx
+ /// With newer versions, disassemble Microsoft.SqlServer.DTSPipelineWrap to find the GUID attribute on Microsoft.SqlServer.Dts.Pipeline.Wrapper.CManagedComponentWrapperClass
///
-#if SQL2016
+#if SQL2017
+ public const string ManagedComponentWrapper = "{8DC69D45-2AD5-40C6-AAEC-25722F92D6FC}";
+#elif SQL2016
public const string ManagedComponentWrapper = "{4F885D04-B578-47B7-94A0-DE9C7DA25EE2}";
#elif SQL2014
public const string ManagedComponentWrapper = "{33D831DE-5DCF-48F0-B431-4D327B9E785D}";
diff --git a/SSIS/PerformanceVisualization/DtsPipelineTestDirector.cs b/SSIS/PerformanceVisualization/DtsPipelineTestDirector.cs
index 969eca9..f8c57d8 100644
--- a/SSIS/PerformanceVisualization/DtsPipelineTestDirector.cs
+++ b/SSIS/PerformanceVisualization/DtsPipelineTestDirector.cs
@@ -750,7 +750,7 @@ private static void HookupRowCountTransform(TaskHost dataFlowTask, MainPipe pipe
Variable variable = dataFlowTask.Variables.Add("BIDS_HELPER_ROWCOUNT_" + output.ID, false, "User", (int)0);
IDTSComponentMetaDataXX transform = pipeline.ComponentMetaDataCollection.New();
-#if SQL2016
+#if SQL2016 || SQL2017
transform.ComponentClassID = "Microsoft.RowCount";
#else
transform.ComponentClassID = "DTSAdapter.RowCount";
@@ -771,7 +771,7 @@ private static void HookupRowCountTransform(TaskHost dataFlowTask, MainPipe pipe
private void HookupRawDestination(MainPipe pipeline, IDTSOutputXX output)
{
IDTSComponentMetaDataXX rawDestComponent = pipeline.ComponentMetaDataCollection.New();
-#if SQL2016
+#if SQL2016 || SQL2017
rawDestComponent.ComponentClassID = "Microsoft.RawDestination";
#else
rawDestComponent.ComponentClassID = "DTSAdapter.RawDestination";
@@ -793,7 +793,7 @@ private void HookupRawDestination(MainPipe pipeline, IDTSOutputXX output)
private static void HookupRawSource(MainPipe pipeline, MainPipe pipelineToReference, IDTSInputXX input, IDTSComponentMetaDataXX componentNextInPath, string sRawFilePath)
{
IDTSComponentMetaDataXX rawSourceComponent = pipeline.ComponentMetaDataCollection.New();
-#if SQL2016
+#if SQL2016 || SQL2017
rawSourceComponent.ComponentClassID = "Microsoft.RawSource";
#else
rawSourceComponent.ComponentClassID = "DTSAdapter.RawSource";
diff --git a/SSIS/PerformanceVisualization/PerformanceTab.cs b/SSIS/PerformanceVisualization/PerformanceTab.cs
index b953178..a17e927 100644
--- a/SSIS/PerformanceVisualization/PerformanceTab.cs
+++ b/SSIS/PerformanceVisualization/PerformanceTab.cs
@@ -68,6 +68,8 @@ private static string DtsPathRegistryPath
return @"SOFTWARE\Microsoft\Microsoft SQL Server\120\SSIS\Setup\DTSPath";
case SsisTargetServerVersion.SQLServer2016:
return @"SOFTWARE\Microsoft\Microsoft SQL Server\130\SSIS\Setup\DTSPath";
+ case SsisTargetServerVersion.SQLServer2017:
+ return @"SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath";
default:
throw new Exception("Unknown deployment version, DTSPATH_REGISTRY_PATH cannot be determined.");
}
@@ -477,7 +479,7 @@ private void RefreshProjectAndPackageProperties()
if (this.dtexecPath == null && this.use64Bit)
this.dtexecPath = GetPathToDtsExecutable("dtexec.exe", false);
if (this.dtexecPath == null)
- throw new Exception("Can't find path to dtexec in registry!");
+ throw new Exception("Can't find path to dtexec in registry! Please make sure you have the SSIS service installed from the " + PackageHelper.TargetServerVersion.ToString() + " install media");
}
internal static void SetupCustomLogging(Package pkg, string sLogFilePath)
diff --git a/SSIS/SSISHelpers.cs b/SSIS/SSISHelpers.cs
index d5878f4..16b5f9d 100644
--- a/SSIS/SSISHelpers.cs
+++ b/SSIS/SSISHelpers.cs
@@ -15,13 +15,16 @@ public enum SsisTargetServerVersion
{
SQLServer2012 = 110,
SQLServer2014 = 120,
- SQLServer2016 = 130
+ SQLServer2016 = 130,
+ SQLServer2017 = 140
}
public static class SSISHelpers
{
-#if SQL2016
+#if SQL2017
+ public const string CreationNameIndex = "6";
+#elif SQL2016
public const string CreationNameIndex = "5";
#elif SQL2014
public const string CreationNameIndex = "4";
@@ -66,7 +69,9 @@ private static SsisTargetServerVersion CompilationVersion
{
get
{
-#if SQL2016
+#if SQL2017
+ return SsisTargetServerVersion.SQLServer2017;
+#elif SQL2016
return SsisTargetServerVersion.SQLServer2016;
#elif SQL2014
return SsisTargetServerVersion.SQLServer2014;
@@ -74,7 +79,7 @@ private static SsisTargetServerVersion CompilationVersion
return SsisTargetServerVersion.SQLServer2012;
#endif
}
- }
+ }
///
/// Get the SsisTargetServerVersion of a project. See PackageHelper.SetTargetServerVersion and PackageHelper.TargetServerVersion or actual usage.
diff --git a/SSIS/VariablesWindowPlugin.cs b/SSIS/VariablesWindowPlugin.cs
index 87bc251..cb9619a 100644
--- a/SSIS/VariablesWindowPlugin.cs
+++ b/SSIS/VariablesWindowPlugin.cs
@@ -22,7 +22,10 @@ public partial class VariablesWindowPlugin : BIDSHelperWindowActivatedPluginBase
///
/// TODO: Make thks a base class, and inherit for variables and parameters window controls
///
-#if SQL2016
+ /// See vNextDebugCode comment below on how to get this GUID
+#if SQL2017
+ internal const string SSIS_VARIABLES_TOOL_WINDOW_KIND = "{DDC39177-57E8-413D-9382-9E92CE5DA83B}";
+#elif SQL2016
internal const string SSIS_VARIABLES_TOOL_WINDOW_KIND = "{9F0B409F-14B8-4D44-AFD0-1099A3FB8BA3}";
#elif SQL2014
internal const string SSIS_VARIABLES_TOOL_WINDOW_KIND = "{826881A1-F158-483E-A118-8D5289CB6F1C}";
@@ -73,6 +76,8 @@ private void HookupVariablesWindow(Window GotFocus)
try
{
if (GotFocus == null) return;
+ //when the next version of SQL comes along find the GUID uncomment this code; vNextDebugCode
+ //if (GotFocus.Caption == "Variables") package.Log.Verbose(GotFocus.ObjectKind);
if (GotFocus.ObjectKind != SSIS_VARIABLES_TOOL_WINDOW_KIND) return; //if not the variables window
}
catch //ObjectKind property blows up on some windows
diff --git a/extension2016.vsixmanifest b/extension2016.vsixmanifest
new file mode 100644
index 0000000..eee7bd9
--- /dev/null
+++ b/extension2016.vsixmanifest
@@ -0,0 +1,23 @@
+
+
+
+ BIDS Helper for Visual Studio 2015
+ BIDS Helper is an extension for BIDS / SSDT-BI that includes numerous enhancements for SQL Server BI projects
+ https://bidshelper.codeplex.com/documentation
+ License.rtf
+ BIDSHelper.ico
+ BIDSHelperMontage.gif
+ SSDT,SSIS,SSAS,SSRS,BIDS,SQL Server Data Tools,Integration Services,Analysis Services,Reporting Services
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file