Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

VB6 DLLs and VSI


3 replies to this topic

jtarant

jtarant
  • Members
  • 2 posts

Posted 27 May 2004 - 04:27

Hi

I made an VB6 app, and a couple of DLLs written for that app. I want to use Visual Studio Installer to install the whole app (exe+dlls) but I'm having problems with the DLLs. I made an installer project using the VSI's Visual Basic template and it works ok on my PC, but on another PCs when the program wants to use the DLLs it fails. I think VSI did not register the classes. MSDN and the installer SDK says I have to see the CLSID of every class using COM/OLE Viewer and make some Associations but I just don't understand. It seems very complicated, but also it seems that's the problem. Can anybody tell me how to do this, or where can I find some tutorial or example that can explain this easily?

Thank you


Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 27 May 2004 - 04:36

If these are COM DLL's you in principle should add all the COM info to the MSI database. This can indeed be complicated if you don't use a tool that can extract the info for you. However, it is also possible to use self-registration to register the DLL's, although this is not recommended. To do this you need to add the dll's to the self-register table in the MSI database.

You also need to make sure the VB runtime dll is on the target system, and you need to make sure all the dll's that your EXE and DLL's depend on are present on the system. Use "Dependency Walker" to see if you need to install any other dll's.
Regards
-Stein Åsmul

jtarant

jtarant
  • Members
  • 2 posts

Posted 28 May 2004 - 03:54

QUOTE (Glytzhkof @ 2004-05-27 04:36)
If these are COM DLL's you in principle should add all the COM info to the MSI database. This can indeed be complicated if you don't use a tool that can extract the info for you. However, it is also possible to use self-registration to register the DLL's, although this is not recommended.

Hi

I was thinking to use self-registration, although I know it isn't the preferred way because it seems too hard to register them using the associations editor, CLSID and that kind of things. Do you know if there's a tool to simplify that process?

Thanks for your response


Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 28 May 2004 - 04:32

Installshield developer/devstudio/x will do this extraction for you. I don't know of any other easy to use app that does the same. You could use a spy utility to check what happens during self registration, or you may export the HKCR section of the registry before and after a registration and do a diff. The diff is what you would need to add to the registry (in principle). You would need to ensure you add the info to the right tables though (CLSID, ProgId, etc...).
Regards
-Stein Åsmul