c# Windows Application failed to run on another computer

-1

I have created an new C# windows forms application. I have added COM Reference "Microsoft Excel 15.0 Object Library" to my project. This project is for importing excel data to the dataset. I have done it. I works fine in my computer. If i run the exe file on another computer it showing error like below.

ERROR:

Unable to cast COM object of type Microsoft.Office.Interop.Excel.ApplicationClass’ to interface type ‘Microsoft.Office.Interop.Excel._Application’” This operation failed because the QueryInterface call on the COM component for the interface with IID '{{000208D5-0000-0000-C000-000000000046}' failed due to the following error: Error loading type library/DLL (Exception from HRESULT:0x80029C4A(TYPE_E_CANTLOADLIBRARY)).

c#
.net
vb.net
excel
office-interop
asked on Stack Overflow Jul 8, 2016 by Muthuraman Sundararaj • edited Jul 8, 2016 by Babbillumpa

3 Answers

0

COM components are not my specialty, and I do not use them too often. But I will tell you what I have experienced before. Please note that I experienced this about 6 months ago and the circumstances were far from ideal at my work place.

In order to use a/some COM component(s) you also need to have it's dependency installed on the target computer (in this case Excel/Office). Have you checked if the target computer has Excel installed on it?

If not, you can use an OLEDB connection to read Excel files. I don't remember how this is done specifically.

Maybe this can help in some way to read Excel files using OLEDB: http://www.codeproject.com/Tips/705470/Read-and-Write-Excel-Documents-Using-OLEDB

answered on Stack Overflow Jul 8, 2016 by SHW
0

In your proyect references, try to set Copy Local = true in your dll

answered on Stack Overflow Jul 8, 2016 by Daniel
-2

If you are working on a 64 bit development environment, try explicitly defining the use of non 32 bit version of the library. For doing so in visual studio, tick and then untick the box "Prefer 32-bit" in the build section of the project configuration, which will add <Prefer32Bit>false</Prefer32Bit> in the .csproj file.

answered on Stack Overflow Aug 24, 2018 by Stathis Agrapidis • edited Aug 24, 2018 by Stathis Agrapidis

User contributions licensed under CC BY-SA 3.0