This cost me two very precious hours today, so I thought I would share.
In preparing my laptop for my upcoming trip, I needed to get the latest version of an app I wrote for a client in case I need to do any work for them while I'm away. The application uses the latest version of Crystal Reports which caused me a great deal of grief when I recently moved to it. (See my ASPAlliance article: Lessons Learned: Sorting out Crystal Reports 2008 Versioning, Service Packs and Deployment for details).
Today's time-sucker was not Crystal's fault but the fact that when I installed the earlier version of Crystal on to the laptop, I had done it from an external drive.
When I tried to install the newer version, it chugged along then said that it failed because it couldn't uninstall the previous version.
I attempted to do the uninstall myself from the Control Panel but that failed with this message:
""Error applying transforms. Verify that the specified transform paths are valid"
Some googling pointed out that if I copied the original install files to my hard drive and ran setup from there I could avoid the problem.
That didn't work.
Finally I discovered that within the registry (in Computer\HKey_CLASSES_ROOT\Installer\Products\) there was a folder that contained the Crystal install information. In there was a key called "Transforms" which pointed to F:\Extended\Package\1033.mst. F:\ must have been the path of the external drive when I originally installed the app.
I changed the path of that file to the folder that I had just copied onto my hard drive.
Then I was able to uninstall, not from the Control Panel, but form the setup.exe from that same set of installer files.
Hopefully I'll save somebody the hours and frustration I wasted myself. If you're really grateful, just send chocolate. :-)


