Removing an Upgraded Component from SSIS Designer Results in Error

While working with an SSIS package that uses a custom component (in this case the RegexClean transformation from Konesans) that was upgraded from SSIS 2008 to SSIS 2012, I ran into this error trying to delete it from the designer when I realized I couldn’t work with it:

SSIS Designer Error
SSIS designer error message when removing a custom component in an upgrade package

“SSIS Designer does not allow this component to be deleted.
The task editor did not clean up properly after the task was removed:”

Even though I had the 2012 version of the component installed, I also noticed that the component had the generic icon instead of the custom icon. It seems that this component did not upgrade successfully when the package was upgraded from 2008 to 2012.

Here are a few things you can try if you run into this issue.

If you find out early enough (i.e. right after upgrading): undo the upgrade (you are using source control, right?), make sure both the old and new component versions are installed and retry the upgrade. This is not guaranteed to work, but it’s worth a try.

If you find out late: edit the package XML and update the component’s Class ID (ideally, that wouldn’t have changed if the component developer did their job right) and version number to match the new version number. If you’re unsure about the new version number, simply create a new package, drop the component in place and examine the new package’s XML. This technique requires that the property names and possible values etc. are the same between the old and the new version.

This is the method I was able to use. I had to replace numerous version numbers, including those for references to Type Converters and UI Type Editors. When replacing the version numbers, be sure to also check the PublicKeyToken attribute’s value to make sure it still matches. Again, if the component developer did their job, it shouldn’t change between versions.

If you replaced everything correctly, the next time you open the package in the designer, you should see the component’s actual icon and you should be able to use any custom editors.

If the properties don’t match, then you should manually remove all traces of that component from the package XML. This unfortunately can be tedious if you have new columns that are introduced by a data flow task. If you remove the component’s XML, then any new columns that component added are gone. The designer won’t load until all references to those columns are removed.

3 thoughts on “Removing an Upgraded Component from SSIS Designer Results in Error

  1. I tried removing the component’s XML code, which was about 4000 lines, and the package became corrupt. I had already converted the project over to 2016 but still had access to the 2012 version. So, I decided to delete the bad component from the original (2012) version of the package, delete the 2016 version of the package from the 2016 project, and then add the 2012 package (without the component) to the 2016 version of the project. (This upgrades the 2012 package to 2016 in the process.) Then I created the component over again. Everything works now, so that’s good.

Let me know what you think, or ask a question...

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.