I had the same error too, donaghquish. Here's how I got it to work.
First of all, it's exclusively the Framework 2 package that's causing the conflict (meaning Framework 1 or 3 should not need to be tampered with).
I had the same issue trying to uninstall Framework 2 as well (safe mode won't let you do it either, citing a problem with the windows installer). Because of this, I did end up reinstalling the windows installer, though I suspect this was an unnecessary step, as I still get error messages when trying to uninstall (or even upgrade) my version of Framework 2. So. Through some online research, I turned up the dotnetfx_cleanup_tool, which allowed me to remove only Framework 2.0 (I was using the SP2 version of it).
Happy to see that it was no longer in my installed programs list, I also used ccleaner to remove any registry entries that may have been left behind, and rebooted. Sure enough, I was able to reinstall Framework 2.0 SP1 (maybe I'm being paranoid, but the issue(s) I had with SP2 made me decide to just use the older version - this isn't the first time I've had issues with .NET Framework after updating to the latest release). With .NET Framework 2.0 re-installed, Impulse installed flawlessly and Fences works like a charm.
Aaaanyway.
Just to cover all my bases, I should mention that I started out trying to install the free version of Fences, which is when I first got this error. After that, I gave it up until last night when I decided to just shell out for the full version and encountered the same errors when trying to install Impulse. That's when I decided that .NET Framework 2.0 needed to learn a little lesson in manners and knuckled down to find a solution. So, while I haven't tried the free version of Fences, I'm pretty confident that if this fixed the identical error with Impulse, it should also fix the issue you're having with the free Fences installer.
Good luck! Sorry so long-winded, but you never know what details might be relevant 