Steps taken, can be reproduced:
- Develop SSIS package in SSDT 2012, project deployment model.
- Deploy project to server A, SQL Server 2012. Package version
internal.packages is 6. - Deploy project from server A to server B, SQL Server 2012. Package
version internal.packages is 8 on server B.
If I deploy directly to both servers from SSDT 2012 there is no problem, but deploying from SSMS 2017 is bumping the version number.
Is there a way to stop that from happening during project deployment in SSMS 2017? Has anyone else encountered this?
Best Answer
I'm not surprised but haven't tested it myself.
Project deployment model packages are deployed using ISDeploymentWizard.exe and there is a version associated to each version of SQL Server (and bit-edness). For example, one laptop here has VS 2013/2015 installed and SSDT for 2012/2014/2016 installed. If I look for that executable, I see
My new machine only has bits for 2017 and looks like
The other thing to factor into all this is that using a newer version of the SSIS tooling (ISDeploymentWizard, dtexec, dtutil) will happily roll your version forward to match its version. Which is helpful as a consultant to upgrade things but the devil when you want to use new tools against old code.
My guess is that SSMS is defaulting to an ISDeploymentWizard that is not in the 120 folder. Unfortunately, I don't see a parameter in the deployment wizard to address version.
Your best, yet icky, bets are to
The last option is actually that bad. Use the GUI to click through the deployment but on this screen, stop
That highlighted box is selectable/copyable. DO THAT. The command line deploy has been built out for you (excluding the part that says "Command line:")
Thus you'd have something like