Andriy Palamarchuk apa3a@yahoo.com wrote:
--- Steven Edwards steven_ed4153@yahoo.com wrote:
I dont know very much about ole or COM so if I am way wrong just flame me. =)
Can the regsvr code from comcat be adapted for this? Rather then implementing more stuff in winedefaultreg can we make all of the OLE/COM stuff self-register? I think during on of my tests on windows with the wine dlls that was a problem I encountered and at least for comcat it is now fixed.
Yes, as was discussed before this is the right way to do it. Anyway, finding out what information to add and and development of the dlls registering process are pretty much independent from each other.
I wrote the regsvr.[hc] in dlls/comcat with the intent of their being useful for other dlls' self-registration. It should be possible to copy regsvr.h and regsvr.c, tweak the implementations of DllRegisterServer and DllUnregisterServer, and write the appropriate regsvr structure definitions, and have made another dll self-registerable. I would be willing to do that myself for other dlls if those responsible for them ask nicely. :-)
This reminds me that a self-registerable dll is supposed to have a VS_VERSION_INFO resource, with an empty "OLESelfRegister" value in the "StringFileInfo" block. comcat.dll has no resources; is there a standard Wine way to add such version info?
I would be willing to do that myself for other dlls
if those responsible for them
ask nicely. :-)
Well I dont maintain anything short of breaking the Mingw/Cygwin side =) but it would be nice if you could. After your patch to comcat I was about to load and test a few applications that depended on comcat under 9x. It would be nice if I could register the rest of the dlls and test.
Thanks Steven
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
"John K. Hohm" jhohm@acm.org wrote:
This reminds me that a self-registerable dll is supposed to have a VS_VERSION_INFO resource, with an empty "OLESelfRegister" value in the "StringFileInfo" block. comcat.dll has no resources; is there a standard Wine way to add such version info?
Please have a look at include/wine/wine_common_ver.rc and a couple of version resources using it, for instance dlls/kernel/version.rc and dlls/kernel/version16.rc. Also do not forget to add RC_SRCS to Makefile.in in the case there is no resources at all yet, or just include new version.rc into an existing .rc file.
--- "John K. Hohm" jhohm@acm.org wrote: [skipped]
I wrote the regsvr.[hc] in dlls/comcat with the intent of their being useful for other dlls' self-registration. It should be possible to copy regsvr.h and regsvr.c, tweak the implementations of DllRegisterServer and DllUnregisterServer, and write the appropriate regsvr structure definitions, and have made another dll self-registerable. I would be willing to do that myself for other dlls if those responsible for them ask nicely. :-)
John, as this is not implemented yet I think it still has sense for me to add the OLE classes registration entries to the default registry file. The default registry value can be removed later when dlls registration is implemented.
Andriy
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
Quoting Andriy Palamarchuk apa3a@yahoo.com:
--- "John K. Hohm" jhohm@acm.org wrote: [skipped]
I wrote the regsvr.[hc] in dlls/comcat with the intent of their being useful for other dlls' self-registration. It should be possible to copy regsvr.h and regsvr.c, tweak the implementations of DllRegisterServer and DllUnregisterServer, and write the appropriate regsvr structure definitions, and have made another dll self-registerable. I would be willing to do that myself for other dlls if those responsible for them ask nicely. :-)
John, as this is not implemented yet I think it still has sense for me to add the OLE classes registration entries to the default registry file. The default registry value can be removed later when dlls registration is implemented.
I agree. After all, there is not yet a way for dlls that are already self- registerable to automatically get registered when installing Wine. Also, I can benefit from your work in finding the correct registry entries when I do implement self-registration.
--- "John K. Hohm" jhohm@acm.org wrote: [skipped]
I agree. After all, there is not yet a way for dlls that are already self- registerable to automatically get registered when installing Wine.
We have the regsvr32 tool in Wine. You can register the dlls in wineinstall script using this tool.
Also, I can benefit from your work in finding the correct registry entries when I do implement self-registration.
Exactly, this is what I mean. I'll submit all the changes native oleauto32 makes while registering.
Andriy
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com