Sunday, May 17, 2015

Fix for "ICWrapper.dll failed to register" when installing QuickBooks

QuickBooks, how many ways do I hate you? Let me count the ways.

Every version of QuickBooks I've ever installed has had horrible install bugs that made installation difficult or impossible. For five years I couldn't print anything because QuickBooks didn't support printing in 64-bit Windows. The newest version, QuickBooks Pro 2015, has yet another problem.

The error is:

ICWrapper.dll failed to register

If you search the web, you will find many people who are unable to install QuickBooks because of this error. The pathetic part is that the solution is easy. Install the VC90 redistributable (the 32-bit version). It can be found at:

Intuit, are you listening?

Here's a really really easy solution for Intuit that will save your customers endless frustration. Try installing QuickBooks on a Windows clean machine. That's a version of Windows that's just been installed with nothing else. No Microsoft Office. No Visual Studio. Especially no Chrome and no Firefox. Just the latest security updates.

Once you've installed QuickBooks (assuming that works), try testing things like printing.

This would trivially have found the problem on Windows 8.1.

Here's how to debug this particular problem. Perform the following steps:
  1. RegSvr32 ICWrapper.dll. You'll get an error about an error in the side-by-side configuration.
  2. Open the DLL in Visual Studio. The resource section should appear.
  3. Open RT_MANIFEST.
  4. Notice that it wants vc90, version 21022.
  5. Now look in %WINDIR%\WinSxS
  6. Notice that Windows 8.1 includes 30729.1, not 21022.8. Therefore it won't run, especially since your manifest doesn't allow later versions.