Welcome to EMC Consulting Blogs Sign in | Join | Help

SSIS Junkie

Once upon a time this blog was a hive of activity. Now however its pretty lifeless as you can probably tell so if are pining for more of the same you can find me over at http://sqlblog.com/blogs/jamie_thomson. I look forward to seeing you there!

SSIS: Deploying custom tasks and component

Most of the stuff I put up here is in the interests of knowledge sharing but every so often I stick stuff up here just so that I'll be able to find it later. Mainly because its easier to search the blog than OWA.

Here's such a case. If you want to automate the deployment of your custom tasks and components when you build them then put one of the follwing into the post-build event of your project:

"$(DevEnvDir)..\..\SDK\v2.0\Bin\gacutil.exe"  /if "$(TargetPath)"
copy "$(TargetPath)" "c:\Program Files\Microsoft SQL Server\90\DTS\Tasks"
 
"$(DevEnvDir)..\..\SDK\v2.0\Bin\gacutil.exe"  /if "$(TargetPath)"
copy "$(TargetPath)" "c:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents"

Simple but effective!

-Jamie

 

 

Published 08 February 2006 09:37 by jamie.thomson

Comments

 

Maciek said:

It's even better if you use $(ProgramFiles) instead of "c:\Program Files\". That way, if you move your project to another machine, that have Program Files on d: drive for example, it will still work.
February 8, 2006 17:21
 

jamie.thomson said:

Excellent point Maciek. Thanks.
February 8, 2006 17:28
 

Simon said:

You also need to have installed the SDK to get gacutil. A common view is gacutil is in the framework and it isn't in 2.0
February 11, 2006 09:38
 

Scott Barrett said:

Jamie,

I've been able to get around the GacUtil requirement by copying the .dll to the assembly folder under C:\Windows. This will autoregister it and make it available....

Scott Barrett
February 13, 2006 15:06
 

jamie.thomson said:

Scott,
The point of the gacutil bit is so that you don't HAVE to drop it into c:\windows\assembly. Not the other way around :)

It saves on doing that manual step.

-Jamie
February 28, 2006 00:15
 

steve.wright said:

Another useful trick, after the frist time you compile your componet, is to use the Pre-Build to clean out your old version of the componet befre you build the new version. Here is a exmaple of how you might do it.

"$(DevEnvDir)..\..\SDK\v2.0\Bin\gacutil.exe" /uf "$(TargetPath)"
del "c:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents\$(TargetFileName)"
March 15, 2006 18:08
 

Gareth Horton said:

One northerner to another (maybe North Notts is technically Midlands)

Now all we need is the ability to programmatically add and remove components from the toolbox.  As a packaged software vendor, it's a bit mickey mouse having the user do it manually on install, and really difficult to get them to remember to do it before they install a new version. (In my experience, SSIS is most unhappy if you replace a component in the toolbox with a new version without removing the old one, the next time it starts up)

The death of a package/project due to a new release of a component is also a bunch of laughs.

Here's hoping for more titbits on how to create custom components, deploy them professionally and make them work.

I have had some success with rescuing SSIS projects after a new component build by editing the DTSX manually - attack the DTSExecutable ExecutableType and DTS Name, for a Task in our case and replace it with the new info.  Even if the interface for the component has changed slightly, it seems to deal with that OK.

Also, you can "cleanse" the toolbox when it goes haywire by deleting the toolbox.tbd, in Documents and Settings\<UserName>Local Settings\Application Data\Microsoft\VisualStudio\8.0

Gareth

September 4, 2007 17:54
 

Babak said:

Hi, I recently installed SQL Server SSIS Sample Component: CodePageConvert (http://www.microsoft.com/downloads/details.aspx?FamilyID=9E56417E-23D1-4FD3-8D6D-61314FAA2DE3&displaylang=en)

When I build this project I get this note on the output:

'gacutil' is not recognized as an internal or external command, operable program or batch file.

Would, please, help me and tell me what to do?

Thank you,

Babak

March 28, 2008 08:19
 

Jeremy said:

Babak -

While this is probably too late for you, I've found that you can just drag the .dll into the C:\Windows\assembly folder.  It doesn't want to let you paste it, because it's not actually a file folder, but dragging from one folder to another works.

July 29, 2008 15:18
New Comments to this post are disabled

This Blog

Syndication

Powered by Community Server (Personal Edition), by Telligent Systems