Hello everyone. My name is Michael Cardenas and I'm working on Wine for Lindows.com. I'd like to start a lot more communication with all of you and I have a couple of questions.
I'm working on an app that uses a custom dll which requires msvcp60.dll to be loaded at launch time and won't launch without it.
Currently there's no implementation of msvcp60.dll in wine. Is that just because no one has needed it yet? Or has someone looked into this and seen that it's too large to do? Or is it just not needed and there's some substitute dll? Doing some research, I see that on a fresh install of Windows98, the dll is present, so it seems to be a common windows dll. MSDN mentions the dll in this article: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/... "A good example of this is the Microsoft Visual C++ Runtime assembly, which includes atl.dll, mfc42.dll, mfc42u.dll, and msvcp60.dll." Also, there's been basically no discussion of this dll on this mailing list. So, to proceed, I'm going to create a stub dll and hope the app will launch and not need many functions from that dll. I'd like to know if there's a good way to make a complete stub for the dll. Right now, I just made a stub dll with one function.
Thanks, Michael
"Michael" == Michael Cardenas michaelc@lindows.com writes:
Michael> Hello everyone. My name is Michael Cardenas and I'm working on Michael> Wine for Lindows.com. I'd like to start a lot more Michael> communication with all of you and I have a couple of questions.
Michael> I'm working on an app that uses a custom dll which requires Michael> msvcp60.dll to be loaded at launch time and won't launch Michael> without it.
Michael> Currently there's no implementation of msvcp60.dll in wine. Is Michael> that just because no one has needed it yet?
Probably. Another possibility might be that every application that needs it, has a copy in it's setup.
Michael> Or has someone Michael> looked into this and seen that it's too large to do? Or is it Michael> just not needed and there's some substitute dll? Doing some Michael> research, I see that on a fresh install of Windows98, the dll Michael> is present, so it seems to be a common windows dll. MSDN Michael> mentions the dll in this article: Michael> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/... Michael> "A good example of this is the Microsoft Visual C++ Runtime Michael> assembly, which includes atl.dll, mfc42.dll, mfc42u.dll, and Michael> msvcp60.dll."
This explicitly points to my guess above. Nearly every application using MFC distributes the files mentioned.
Michael> Also, there's been basically no discussion of Michael> this dll on this mailing list. So, to proceed, I'm going to Michael> create a stub dll and hope the app will launch and not need Michael> many functions from that dll. I'd like to know if there's a Michael> good way to make a complete stub for the dll. Right now, I just Michael> made a stub dll with one function.
There is no "good way" know yet. It seems msvcp60.dll exports a hugh number of entries ( >2000). So I guess it falls in the mfc42 category (nearly impossible to reimplement because of sheer size). http://groups.google.com/groups?q=msvcp60&hl=en&selm=8502qq%24931%24... also has some good explanations around that redistribution license.
Hope this helps
On Tue, Feb 12, 2002 at 09:51:01AM -0800, Michael Cardenas wrote: [...]
Currently there's no implementation of msvcp60.dll in wine. Is that just because no one has needed it yet? Or has someone looked into this and seen that it's too large to do? Or is it just not needed and there's some substitute dll? Doing some research, I see that on a fresh install of Windows98, the dll is present, so it seems to be a common windows dll. MSDN mentions the dll in this article: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/... "A good example of this is the Microsoft Visual C++ Runtime assembly, which includes atl.dll, mfc42.dll, mfc42u.dll, and msvcp60.dll." Also, there's been basically no discussion of this dll on this mailing list. So, to proceed, I'm going to create a stub dll and hope the app will launch and not need many functions from that dll. I'd like to know if there's a good way to make a complete stub for the dll. Right now, I just made a stub dll with one function.
Well, you might want to create an export table with the *real* function names...
Use pedump for that.
Also, it contains some common functions like mbrtowc() and such, so maybe it should be based on msvcrt. Most functions have mangled names and appear to be different, though. There was a way to demangle these function names. (I think winedbg includes demangling support)
Just go ahead.
On Tue, 12 Feb 2002, Michael Cardenas wrote:
So, to proceed, I'm going to create a stub dll and hope the app will launch and not need many functions from that dll. I'd like to know if there's a good way to make a complete stub for the dll.
Maybe something like: winedump spec dllname.dll -I/dir/to/headers -c -t -D