locked
Can I redistribute Microsoft.Office.Interop.Outlook.dll and office.dll ? RRS feed

  • Question

  • Hi all,

    Sorry if this has been asked before. I have been searching for a clear answer to this question for some time now, but haven't been able to find one (or atleast not one that I understand Smile).

    I have an application that depends on Microsoft.Office.Interop.Outlook.dll, and the setup project for the application automatically detected Microsoft.Office.Interop.Outlook.dll and office.dll as required dependencies. When running the application installation msi on a client machine, the application installs correctly, and both Microsoft.Office.Interop.Outlook.dll and office.dll are placed in the applications installation folder. Everything works great.

    But, is this legal or does it conflict with the Office PIA Redistributable license?

    Thanks!
    Daniel
    Friday, March 28, 2008 12:18 PM

Answers

  • Hello Daniel,

     

    I don't know about Licensing if you can redistribute the PIA's as standalone dll's. You have to read the EULA that ships with the Redistributale Package.

    Technically it should be no problem.

     

    But think of Updates. When you install the official PIA's as redistributable, it will be detected and updated with security updates and Service Packs. The file in your AppDirectory not.

     

    However, If you deploy the Office.dll with your app, you also have to register it, because it's a COM.dll.

    And here you ran into problems. You didn't know which version of the Office.dll the Client has installed. Maybe it's a newer Version updated by a security update or a Service Pack. You may damage the Office installation on the Client machine.

     

    If it's just a licensing problem - maybe someone from Microsoft may answer this question to you.

    Normally everything is ruled in the EULA that you accept when you install something.

    Greets, Helmut

     

    Sunday, March 30, 2008 7:07 PM
    Answerer
  • i'm not certain about the Microsoft Software License Terms myself, but i will second Helmut's concerns about versioning. using the PIA redistributable also includes the binding redirects so that if a later version of Microsoft Office is installed, the matching version of the PIA is loaded.  this would be a concern for Office 2003 --> 2007 and also future versions of Office.

     

    m.

    Sunday, March 30, 2008 11:15 PM

All replies

  •  

    Hello Daniel,

     

    as I know - you should exclude these dll's in your setup project and use the primary interop assemblies redistributable in your bootstrapper as prerequisite.

     

    The PIA's are normally installed in the Global Assembly Cache.

     

    Have a look in your project at the references to your Office dll's

    They should point to the GAC Folder. If not then you have the wrong PIA's (self genereate while adding a reference to the COM Dll's).

     

    If so, make sure that you installe the PIA's on your development machine first, and the remove the references to Office Dll's and add it again.

     

    Also exclude the COM Dll's from your Setup Project like Office.Dll

    Otherwise it could happen that you overwrite a dll on the client computer - or remove an Office.dll during the installation / deinstallation of your AddIn

     

    Hope this helps,

    greets, Helmut

     

     

    Saturday, March 29, 2008 4:32 AM
    Answerer
  • Hello,

     

    Thank you very much for the reply, Helmut!

     

    Maybe I should have been a little more precise - I am aware that the solution you describe is the recommended one, and that distributing single PIAs inside the application folder can cause problems.

     

    However, if I still would want to include Microsoft.Office.Interop.Outlook.dll and office.dll in the setup project (for good or bad reasons Smile), placing them in my application's folder on the client machine, would that be legal? Or, does the license require the PIAs to be installed on the client machine via Microsoft's official PIA installation MSI?

     

    -Daniel

    Sunday, March 30, 2008 5:22 PM
  • Hello Daniel,

     

    I don't know about Licensing if you can redistribute the PIA's as standalone dll's. You have to read the EULA that ships with the Redistributale Package.

    Technically it should be no problem.

     

    But think of Updates. When you install the official PIA's as redistributable, it will be detected and updated with security updates and Service Packs. The file in your AppDirectory not.

     

    However, If you deploy the Office.dll with your app, you also have to register it, because it's a COM.dll.

    And here you ran into problems. You didn't know which version of the Office.dll the Client has installed. Maybe it's a newer Version updated by a security update or a Service Pack. You may damage the Office installation on the Client machine.

     

    If it's just a licensing problem - maybe someone from Microsoft may answer this question to you.

    Normally everything is ruled in the EULA that you accept when you install something.

    Greets, Helmut

     

    Sunday, March 30, 2008 7:07 PM
    Answerer
  • i'm not certain about the Microsoft Software License Terms myself, but i will second Helmut's concerns about versioning. using the PIA redistributable also includes the binding redirects so that if a later version of Microsoft Office is installed, the matching version of the PIA is loaded.  this would be a concern for Office 2003 --> 2007 and also future versions of Office.

     

    m.

    Sunday, March 30, 2008 11:15 PM
  • Hi Daniel

    Did you get the answer? I have also an application that depends on Microsoft.Office.Interop.Outlook.dll - but I don't include the DLL in my installer. Do you know if there are any Microsoft license issues when distributing commercial software that connects to Outlook?

    Thanks’ and regards
    Wednesday, June 17, 2009 11:08 AM
  • Hello Daniel,
     
    as I know:
    as long a s you have a valid Visual Studio License or a MSDN subscription and you accept the EULA (License Aggreement)
    you can redistribute and Install the Primary Interop Assemblies with you application.
    Normally you would include it in the Bootstrapper of your Setup file.
     
    There are PIA redistributables for Office XP, 2003 and Office 2007.
    You can download it from microsoft.com/downloads.
     
    Do not redistribute only the Dll's. Because you won't get Updates for it by Windows Update.
     
    Hope this helps,
    greets - Helmut
    • Proposed as answer by AMcMillan Friday, July 10, 2009 3:38 PM
    Thursday, June 18, 2009 6:22 PM
    Answerer
  • In my case, my application only uses Outlook if Outlook is installed.  If Outlook is installed, then I use the proper Office PIA installer to install the DLLs.  The problem I have, is that if Office/Outlook is not installed, then it is not a problem for my application, but my application will not run because it's reference to the Microsoft.Office.Interop.Outlook.dll is not satisfied.  I am trying to figure out a way to "easily" late bind to the DLL so that this is not a problem, but in the mean time...if I am reading this correctly, then it is "legal" for me to simply install this DLL into my application directory to satisfy the reference.  Obviously, if they ever do install Outlook, this could cause some "DLL ____" for my application, but the likelihood of that happenning in my case is very slim, and I am willing to deal with the problem if it does occur.
    Friday, July 10, 2009 3:46 PM