Microsoft Office/Excel .dll dependencies? [C#]

Shaitan00

Junior Contributor
Joined
Aug 11, 2003
Messages
358
Location
Hell
I have an Application that uses the Excel COM object so I can create/open/read/write/sort an Excel file that I use as a database.
Now my application can't have any dependencies on packaged .dlls for things such as Microsoft Office which could cause licensing issues, instead I want my application to use the INSTALLED Microsoft Office on the users PC therefore not breaking any rules.
If they do not have Excel installed then the program will prompt them as such and exit [btw - any clue how to check if a program such as EXCEL is installed?]

Currently I see at least one .dlls that seem to be required in the same folder as my applications .exe
Interop.Excel.dll // This seems to be the key to getting excel to work
Interop.Microsoft.Office.Core.dll.old // this was also in my DEBUG folder but if I delete it my program still works, any clues?
Interop.VBIDE.dll // this was also in my DEBUG folder but if I delete it my program still works, any clues?

So my question is, I noticed that at least two of those are from Microsoft Office, is there anyway to have my program get them from the Installed EXCEL on the users computer so that
a) I do not have to distribute them
b) I am not breaking any laws/rules
My goal - one single standalone executable without any dependencies other than having a copy of Microsoft Office (minimally Excel) installed
Any help/hints would be greatly appreciated, thanks
 
The Interop.* dlls are what is known as a COM Callable Wrapper (CCW) around the underlying Office COM libraries and are not part of the Office installation and can be distributed with your application. You will still need office to be installed for you application to work however.
 
Is there a way to embed the ressources (dlls) into my .EXE?
I am trying to have a single-file stand-alone executable and don't want to distribute .Dlls with it.

If it is free to distribute then I am thinking there might be a way to embed them into the project, maybe like I do with other ressource files?
 
Back
Top