Archive: VB again and again


VB again and again
Hello
Well i've been searching for all posts concerning how to instal vb dlls but none were understandable for me :/
I've made a visual basic application,and i know that if someone wants to run my app properly he must first have these files listed belove installed
-
system files needed:
asycfilt.dll
axdist.exe
comcat.dll
ctl3d32.dll
dx7vb.dll
mscmcfr.dll
mscomctl.ocx
msinet.ocx
msvbvm50.dll
mswinsck.ocx
oleaut32.dll
olepro32.dll
rchtxfr.dll
riched32.dll
richtx32.ocx
stdole2.tlb
swflash.ocx
sysinfo.ocx
vb5fr.dll
winskfr.dll
-
As im completely a newbie concerning dlls/ocx etc.. registration i don't know what to write in my .nsi file =/
I know there should be a few probs:
-how do i install "normal" dlls?
-how do i instal "shared" dlls (i dont even know what does that mean :/)
-how do i instal ocx ? and is there "shared" ocx too?
-how do instal stdole2.tlb?
-what do i have to do with the axdist.exe ?
-Do i have to use the WriteRegDWORD command? when?
I ve been searching for about 1 week and still got all these questions...if someone could be nice enough to help me it would be great...thxs a lot!


Re: VB again and again

Originally posted by KhaZt

As im completely a newbie concerning dlls/ocx etc.. registration i don't know what to write in my .nsi file =/
Use the RegDLL command for all OCX and for self registering .dll files (use dependency walker to find out which of your .dll have a method named "DllRegisterServer").
Ive not prooved this, but I think this will work for all of the listed files.

Do you mean there's 2 sort of dll,the selfregistering ones and the shared ones?
I think i can know which one are shared or selfregistered via the setup.lst generated by the vb setup tool;look:

File1=1,,VB5FR.dl_,VB5FR.dll,$(WinSysPath),,$(Shared),3/14/1998 15:47:24,96256,5.0.43.19,"","",""
File2=1,,MSVBVM50.dl_,MSVBVM50.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,5/1/1998

but what surprise me is that for all .ocx,it says $(Shared) and $(DLLSelfRegister) both:
File1=1,,MSWINSCK.OC_,MSWINSCK.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),2/4/2002 17:15:46,109248,6.0.88.4,"","",""

Anyone got an idea about these differences?
I find "WriteRegDWORD HKLM Software\Microsoft\CurrentVersion\SharedDLLs ..." in a post talking about dlls...do you know if i need that WriteRegDWORD for the shared dlls/ocx ?


Originally posted by KhaZt
Do you mean there's 2 sort of dll,the selfregistering ones and the shared ones?
No, there are much more types :)

I think i can know which one are shared or selfregistered via the setup.lst generated by the vb setup tool;look:
Then you already know what to do :)

but what surprise me is that for all .ocx,it says $(Shared) and $(DLLSelfRegister) both:
What is your problem with this?
Just install these files to system/system32 and implement a call to RegDLL.

I find "WriteRegDWORD HKLM Software\Microsoft\CurrentVersion\SharedDLLs ..." in a post talking about dlls...do you know if i need that WriteRegDWORD for the shared dlls/ocx ?
If you want to install shared .dll as thought by MS, then you have to init a counter, but you can install them also in your apps dir and leave the registry alone.

How about this, Make it a system requirement to have the latest vb runtimes. That way, you won't have to worry about making sure the person has the proper dlls and you can have a lighter app that your downloaders will enjoy.

-Duane


Thxs a lot SmartyMan gonna try this :)
DuaneJeffers the pb with vb runtimes is that it does not include any .ocx :/


vb runtimes
um..
silly quiestion,
but why not just incude teh 1meg vb runtimes with the program, and at the start just do a search to see if vb6.dll (or wateva) is under system, and if not run the .exe file.. thats what i do... but it does take up so much room....


Msvbm50.exe contains Msvbvm50.dll, Oleaut32.dll, Olepro32.dll, Stdole2.tlb, Asycfilt.dll and Comcat.dll that's all...and i need many other files.
Btw i'm not sure of how to run msvbm50.exe silently:exec "Msvbvm50.exe /q" doesn't work...anyone know?


umm

just get all the vb 6 dlls work the same...
the file is called vbruntimes.exe and is about 1mb

then from the nsis just extract the file to a temp directory, run it there, then delete it.. simple..
i can show you how i did it if u need help

Viper


In fact the /q switch works fine for vbrun60.exe:it installs the files silently.But it doesn't work with msvbm50.exe since its not a self-extractor file (like vbrun60.exe) :/ So if you know a version of vb 5 runtimes which support /q switch that would help me a lot as vbrun60 won't 100% work for my vb5 app :|


really..

well ther eu go, bloody micrsoft making new versions incompadible...

ill take a look and see if i can find a self installin file....

but why not make the installation visible, and just instruct the uset that he need the vb5 dlls


rah
rah i couldnt find any self-extracting versions so i started trying a few other parameters and it appears that /s switch for msvbvm50.exe works! i still don't understand why it's /q for 6.0runtimes and /s for 5.0 ones..
Anyway thxs to all who helped me...i finally did it! :P


good link to finish off thread:
http://support.microsoft.com/kb/192461