MSBuildSsis2012 Now Available (…or Rather SSIS 2012 Deployment Fail Revisited…Again)

Edit: MSSISBuild has been updated and moved to GitHub. Read about it here.  The rest of this post is still relevant, it’s just where you download the code form that has changed. this has proven to be a popular post, and the software has been downloaded a few times. I will post an update for SQL Server 2016 soon, though I think it is just references in the solution that needs updating.

Today I am pleased to announce the release of MSBuildSsis2012 on Codeplex. But before i get into what it does first, a bit of background:

Back in May, and subsequently a few more times since, I’ve posted about an error I get occasionally in one of our custom tasks that run in our builds. This custom task is a special case: As the SSIS 2012 project extension is dtproj, it cannot be compile using MSBuild. The typical solution would be to use DevEnv In MSBuild. And to automate deployment the solution (that would work for most people) is to use the SSIS Deployment Wizard in silent mode. However, we don’t use the SSIS Deployment Wizard in our automated builds as it does not work in Silent Mode when you have assembly references in the SSIS packages: it destroys those references and the dtsx packages fail whenever they run.

Continue reading “MSBuildSsis2012 Now Available (…or Rather SSIS 2012 Deployment Fail Revisited…Again)”

Managing Build Agents via Visual Studio

Things have been quiet on the blogging front, the reason being that house buying/selling has become a major distraction. Plus any time I do get I’ve been looking at Clustered Columnstore Indexes. The more I read about them the more I’m impressed by what Microsoft and the bods on the SQL DB Engine team have achieved here. If you want to read more about clustered columnstore indexes I suggest you check out my previuous posts as there are plenty of links to pique your interest.

Outside of SQL and CCI, I’ve been handing over the builds to the dev team. Letting something go is hard for me; I’m a control freak, but one of the things that has come out of it has been a fresh pair of eyes on how our builds work, plus questions I haven’t asked myself about builds. Like for example  “how do I manage build agents without having to go on the machine itself?” Myself, I’ve always just gone onto the machine and edited the build agent there. however there is a menu in Visual Studio 2012 which shows you all the build agents, there status and the ability to edit the agents themselves. Just open Visual Studio 2012, go to builds actions, manage build controllers and you’ll see the menu below (I’ve frost glassed out the names intentionally):

2014-03-13 14_36_45 Microsoft Visual Studio

You can edit a build agent by highlighting and selecting “properties”. Then the window to manage the agent appears, which is has the exact same options as through the TFS Build Configuration app on the build servers.

2014-03-13 14_40_48-Manage Build Controllers

Frustratingly you cannot manage the builds like this through the web portal. Maybe you can in 2013, but seems a bit unnecessary to require the Visual Studio IDE for something like this. But at any rate, I never knew about this until someone asked me about it today.

SSIS 2012 Deployment Fail Revisited

( Part 2 focuses on clearing out the SSISDB by creating new stored proc based on the one used by the maintenance job. If your Maintenance Job is taking hours to run, you need to check this out.)

When deploying our Ispacs through my builds, I’ve still been getting the intermittent “timeout” issues I first wrote about back in May, and this has been exacerbated by extra SSIS Projects added to the SSISDB catalog.

Continue reading “SSIS 2012 Deployment Fail Revisited”

Associating changesets and Work Items Since the Last Successful Build

Way back in 2008, a post on the blogs.msdn site showed how to create a custom MSBuild task to associate changesets and work items only since the last successful build. Recently I needed to write this custom task myself, but for builds that were “PartiallySuccessful” as well as “Successful”, and was pleased to find such a complete target available. However as it is written for TFS 2008 it won’t work with TFS 2010 onwards. As the blog appears to be inactive now I’ve made the changes and put the code below. Hopefully anyone who needs it for TFS 2010 onwards can use the pingback to get here for the up to date code. The rest of the solution works fine.

Continue reading “Associating changesets and Work Items Since the Last Successful Build”

Using DevEnv In MSBuild

So new week, new post, and getting back to what I really started this blog. I like sharing knowledge, but part of the reason I blog about new versions of software is so that it motivates me to read up on what’s coming up, but the post today is typical of what I enjoy writing about the most. This post is about how to get projects that are unsupported by MSBuild built in an automated build.

Continue reading “Using DevEnv In MSBuild”

Visual Studio 2012 Update 3 Released

The TFS Team at Microsoft certainly have been been busy this year. Visual Studio 2012 Update 3, presumalby the final update for VS 2012 before VS 2013 goes live, is avilable to download. It’s ben said for quite some time that this update is consideraby smaller than either of the previous Updates, as it includes bug fixes.

In addition, Update 3 is a cumulative release that also includes all of the benefits delivered in Update 1 and Update 2.

It’s worth noting that it’s important to install Update 3 if you need to be able to “Round Trip” (scroll down to end of article to read about it) projects between Visual Studio 2012 and Visual Studio 2013, or if you want to run Visual Studio 2012 on the Windows 8.1 Preview.
The Knowledge Base article for Update 3

Download Visual Studio 2012 Update 3

Download TFS 2012 Update 3

WiX Wednesday 1.3 Update Config Files During Deployment


There are many ways to run a find and replace in a config file to environmentalize it: you can update files in the build before they are compiled into the MSI, and even here there are multiple choices: SlowCheetah being one of them. This only works if you know at runtime the servers you are deploying to, or you only want a direct 1 to 1 connection. So on those occasions that you want to deploy to more than one box, updating at runtime does not work. Fortunately there is a way to update using WiX, and is surprisingly straightforward.

Continue reading “WiX Wednesday 1.3 Update Config Files During Deployment”

SSIS 2012 Deployment Fail

(Update: Part 2 focuses on clearing out the SSISDB by creating new stored proc based on the one used by the maintenance job. If your Maintenance Job is taking hours to run, you need to check this out.)

No WiX Wednesday this week, owing to commitments in real life. Instead, here is something regarding SSIS 2012 Deployment. Enjoy!

As part of our CI and Test Builds we have automated the deployment of two SSIS Projects. One is fairly large and the other one contains only two dtsx packages. Recently we have been getting timeout issues with the deployment of the solutions. Continue reading “SSIS 2012 Deployment Fail”

Keeping Microsoft Products Up-to-Date

I posed a question to one of our new starters the other day: Would you rather have 6 months experience in SQL Server 2012 or 8 years experience in SQL Server 2005? I asked him this in response to his surprise that we seem to use the latest versions of all the Microsoft products: Windows 8, TFS 2012, Visual Studio 2012 (including the new BIDS version), SQL Server, Windows Server 2012… the list goes on. Certainly it benefits us employees as we get exposure to the latest software. But the policy to upgrade to the latest SKU’s of Microsoft products isn’t for the benefit of the employees,it’s just a bonus. And, though it may look like the company is on the bleeding edge of IT, that ‘s also not really the case either. It may be up to date, but certainly not bleeding edge. Other than access to the latest features, there are two main reasons why it makes sense to upgrade the latest version:

Continue reading “Keeping Microsoft Products Up-to-Date”