ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VS.NET 2003 .DLL used in Excel - works on my machine, no one else's (https://www.excelbanter.com/excel-programming/317000-vs-net-2003-dll-used-excel-works-my-machine-no-one-elses.html)

Yacobs

VS.NET 2003 .DLL used in Excel - works on my machine, no one else's
 
Hello,

I've got a DLL project that I'm compiling using VS.NET 2003. Then I
call functions from it in some VBA code in an Excel spreadsheet. It
works perfectly fine on my computer but as soon as I put the
spreadsheet and DLL file on another person's computer, Excel complains
"Cannot find <the dll." The DLL is written in C++ but it uses some C#
type stuff like "using" namespaces, etc.

I've searched and found many topics on this that are somewhat similar
but no one seems to give an answer that actually works for me.

I had a somewhat similar issue where I created an .XLL file for Excel
which worked on my computer and wouldnt work on someone else's. I
ended up solving that issue by compiling the project in VS 6 instead
of .NET... however, that is not an option this time since my DLL
references a library that must be compiled in .NET.

It's almost as if there's some DLL file or something that my DLL file
relies on and which only exists on my computer (or computers with .NET
installed?). But I have no way to find this necessary DLL or verify if
this is even the problem.

I tried "regsvr" but it fails saying "LoadLibrary("<the dll") failed.
Cannot find the specified module."

I tried compiling with "no entry point" as per Microsoft's bug with
managed extensions, but then the DLL fails to work even on my own
computer.

Does anyone have any idea what to do? This is quite urgent and I'd
really appreciate anyone's help.

Thanks so much,
Andrew

Jake Marx[_3_]

VS.NET 2003 .DLL used in Excel - works on my machine, no one else's
 
Hi Andrew,

If you're going to use a .NET DLL on client machines, they must all have the
..NET framework installed:

http://www.microsoft.com/downloads/d...displaylang=en

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


Yacobs wrote:
Hello,

I've got a DLL project that I'm compiling using VS.NET 2003. Then I
call functions from it in some VBA code in an Excel spreadsheet. It
works perfectly fine on my computer but as soon as I put the
spreadsheet and DLL file on another person's computer, Excel complains
"Cannot find <the dll." The DLL is written in C++ but it uses some C#
type stuff like "using" namespaces, etc.

I've searched and found many topics on this that are somewhat similar
but no one seems to give an answer that actually works for me.

I had a somewhat similar issue where I created an .XLL file for Excel
which worked on my computer and wouldnt work on someone else's. I
ended up solving that issue by compiling the project in VS 6 instead
of .NET... however, that is not an option this time since my DLL
references a library that must be compiled in .NET.

It's almost as if there's some DLL file or something that my DLL file
relies on and which only exists on my computer (or computers with .NET
installed?). But I have no way to find this necessary DLL or verify if
this is even the problem.

I tried "regsvr" but it fails saying "LoadLibrary("<the dll") failed.
Cannot find the specified module."

I tried compiling with "no entry point" as per Microsoft's bug with
managed extensions, but then the DLL fails to work even on my own
computer.

Does anyone have any idea what to do? This is quite urgent and I'd
really appreciate anyone's help.

Thanks so much,
Andrew



Yacobs

VS.NET 2003 .DLL used in Excel - works on my machine, no one else's
 
Thanks for your reply. Unfortunately, they do have the .NET framework
installed and it still doesn't work. In fact, they have VS.NET 2003
installed too.

"Jake Marx" wrote in message ...
Hi Andrew,

If you're going to use a .NET DLL on client machines, they must all have the
.NET framework installed:

http://www.microsoft.com/downloads/d...displaylang=en

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


Yacobs wrote:
Hello,

I've got a DLL project that I'm compiling using VS.NET 2003. Then I
call functions from it in some VBA code in an Excel spreadsheet. It
works perfectly fine on my computer but as soon as I put the
spreadsheet and DLL file on another person's computer, Excel complains
"Cannot find <the dll." The DLL is written in C++ but it uses some C#
type stuff like "using" namespaces, etc.

I've searched and found many topics on this that are somewhat similar
but no one seems to give an answer that actually works for me.

I had a somewhat similar issue where I created an .XLL file for Excel
which worked on my computer and wouldnt work on someone else's. I
ended up solving that issue by compiling the project in VS 6 instead
of .NET... however, that is not an option this time since my DLL
references a library that must be compiled in .NET.

It's almost as if there's some DLL file or something that my DLL file
relies on and which only exists on my computer (or computers with .NET
installed?). But I have no way to find this necessary DLL or verify if
this is even the problem.

I tried "regsvr" but it fails saying "LoadLibrary("<the dll") failed.
Cannot find the specified module."

I tried compiling with "no entry point" as per Microsoft's bug with
managed extensions, but then the DLL fails to work even on my own
computer.

Does anyone have any idea what to do? This is quite urgent and I'd
really appreciate anyone's help.

Thanks so much,
Andrew


Jens Thiel[_2_]

VS.NET 2003 .DLL used in Excel - works on my machine, no one else's
 
Hi Andrew,

as the .NET framework is installed on the other computers, I guess that you
might link dynamically against MSVC run-time library. Locate DEPENDS.EXE
(usually in VS2003\Common7\Tools\Bin) and use it to open your DLL or XLL. It
will show you the DLLs your own DLL is depending on. Repeat this on the
"other" computer if you can not figure out which one is missing.

To link the run-time statically, you must change your project configuration.
Go to "C/C++" - "Code Genaration" - "Runtime Library" and change it to
something without "DLL" in the name.

Hope this helps,

Jens.
--
http://ManagedXLL.net/
Replace MSDN with my first name when replying to my email address!



"Yacobs" wrote in message
om...
Hello,

I've got a DLL project that I'm compiling using VS.NET 2003. Then I
call functions from it in some VBA code in an Excel spreadsheet. It
works perfectly fine on my computer but as soon as I put the
spreadsheet and DLL file on another person's computer, Excel complains
"Cannot find <the dll." The DLL is written in C++ but it uses some C#
type stuff like "using" namespaces, etc.

I've searched and found many topics on this that are somewhat similar
but no one seems to give an answer that actually works for me.

I had a somewhat similar issue where I created an .XLL file for Excel
which worked on my computer and wouldnt work on someone else's. I
ended up solving that issue by compiling the project in VS 6 instead
of .NET... however, that is not an option this time since my DLL
references a library that must be compiled in .NET.

It's almost as if there's some DLL file or something that my DLL file
relies on and which only exists on my computer (or computers with .NET
installed?). But I have no way to find this necessary DLL or verify if
this is even the problem.

I tried "regsvr" but it fails saying "LoadLibrary("<the dll") failed.
Cannot find the specified module."

I tried compiling with "no entry point" as per Microsoft's bug with
managed extensions, but then the DLL fails to work even on my own
computer.

Does anyone have any idea what to do? This is quite urgent and I'd
really appreciate anyone's help.

Thanks so much,
Andrew





All times are GMT +1. The time now is 04:44 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com