-
March 24th, 2004, 12:35 PM
#1
Which dll contains CTime?
In my app, I used CTime and CTimeSpan. And I want to distribute my app. I choose MFC dll as shared in order to get a small .exe. How can I know which dll I need to run my app in a new env? THANK YOU!
-
March 24th, 2004, 12:48 PM
#2
In theory, you don't need to know which dll provides which feature because your clients should automatically have copies of all the dll's they need on their system. They're installed with the standard distributions of Windows. The only times you need to distribute a dll are either when you built it yourself or if your app only works in debug mode. However, you're not allowed to distribute debug versions of the standard Microsoft dll's; it contravenes the license agreement.
Have you had problems trying to make your app work on someone else's PC or were you just asking out of curiosity?
"A problem well stated is a problem half solved.” - Charles F. Kettering
-
March 24th, 2004, 12:49 PM
#3
Dependency Walker
Usually, it is not needed to redistribute the MFC dll's if your executable is a release buld.
I said usually, because this is not a rule.
Anyhow, you don't need to know in which dll is located CTime or whatever.
Just open the executable in the Dependency Walker tool, and see what DLL's are required.
-
March 25th, 2004, 03:12 AM
#4
In theory, you don't need to know which dll provides which feature because your clients should automatically have copies of all the dll's they need on their system.
I had been told just a few days ago in this same forum to distribute (or link statically) msvcr70.dll because VC++.NET needs new libraries not yet on Windows systems.
-
March 25th, 2004, 04:19 AM
#5
At a guess I'd say you were probably advised correctly - but the poster didn't say anything about .NET.
"A problem well stated is a problem half solved.” - Charles F. Kettering
-
March 25th, 2004, 05:20 AM
#6
Originally posted by John E
At a guess I'd say you were probably advised correctly - but the poster didn't say anything about .NET.
True, but it's nothing bad to find out more. Generally, VS6 is no more available on the market, so everybody must think about next...
Originally posted by DeepButi
I had been told just a few days ago in this same forum to distribute (or link statically) msvcr70.dll because VC++.NET needs new libraries not yet on Windows systems.
Right, except Windows XP (XP already has MFC70.DLL, mfc70u.dll, MSVCR70.DLL,...)
-
March 25th, 2004, 05:58 AM
#7
Originally posted by ovidiucucu
True, but it's nothing bad to find out more. Generally, VS6 is no more available on the market, so everybody must think about next...
That was exactly my intention when posting ... caution when using version .NET
Right, except Windows XP (XP already has MFC70.DLL, mfc70u.dll, MSVCR70.DLL,...)
Not sure about that. I detected the problem when using a XP system that did not have msvcr70.dll
-
March 25th, 2004, 01:36 PM
#8
Re: Which dll contains CTime?
Originally posted by love2mao
In my app, I used CTime and CTimeSpan. And I want to distribute my app. I choose MFC dll as shared in order to get a small .exe. How can I know which dll I need to run my app in a new env? THANK YOU!
If the only MFC functions you used were CTime and CTimeSpan, just link statically. Only the functions actually used will be included in your program, so your exe should still be pretty small.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|