A team I know was working on an application, which was a plug-in for Microsoft Outlook.

With Win XP SP2 they were able to successfully run the plug-in application they had developed, inside Outlook. But they were unable to run the application with Win 2K SP4.

On Win2k SP4 the application gave an error message saying missing “office.dll”. However, if the Microsoft office.dll was copied from XP to Win2k the application worked fine, but this workaround was not the perfect solution as they were restricted from distributing Microsoft office.dll along with the developed application because of Microsoft License issues.

The solution for this was a simple one. Microsoft Office plug-ins depends upon the version of office in which it is loading and that is the reason I found the plugin of XP was not working on 2K (assumption is the plugin was developed and compiled on XP and was being deployed on Win 2K).

If a developer ensures the office versions on XP and 2K are same, and compiles the plugin, then one should not face this issue.

If any of you have a suggestion, please do share…

Update (05/05/08):

This gets even more interesting now. Microsoft seems to have licensing issues and hence we cannot distribute office.dll, however, Microsoft understands that such situations might arise and have a solution for it. Microsoft has, in the interest of developers who like to develop custom applications has released a MSI called “Redistributable Primary Interop Assemblies” . Download it and extract to find the MSI and run the MSI file that’s extracted.

As you can infer from the first part of the post, the team initially mistook it to be a problem occurring only on Win2K machines. Only later did they figure out that the problem was happening on machines having “Typical” installation. And again, if the machine previously was installed and uninstalled with Office “Complete” and second time installed a “Typical” installation you won’t face this problem. That’s because on the first installation of Office Complete, Windows copies the office.dll into the virtual directory, which will not be removed on uninstalling of Office “Complete“.