Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Missing .dll message 2

Status
Not open for further replies.

sharross

MIS
May 5, 2000
3
US
We are experiencing a problem on a VB5 application on SOME machines.<br><br>The install of our product itself seems to load properly when we run setup.exe on the install disk.&nbsp;&nbsp;When the application is invoked, some users reported that&nbsp;&nbsp;they get a message &quot;missing msvbvm50.dll file&quot; and they cannot continue further.<br><br>We are using Installshield Professional 5.5 to package the application.<br><br>We searched through Microsoft support and found a patch &quot;MSVBVM50.EXE&quot;, and have requested some of the users to download the patch, and run it.&nbsp;&nbsp;Many of our users are 50+ teachers and educators who are not very computer literate and most do not even have internet access.&nbsp;&nbsp;An additional problem is that most of the user are not aware of the working of the computers like .dll files etc.,<br><br>The question we have is : Is there anyway to find out, if the MSVBVM50.DLL<br>is missing in the user's computer, and if so, install it automatically without bothering the user to download the file.<br>
 
When you package a VB program for distribution,&nbsp;&nbsp;you should always include all the files that your program requires, in case the user doesn't have them.&nbsp;&nbsp;The VB runtime files should always be included. <p>nick bulka<br><a href=mailto:nick@bulka.com>nick@bulka.com</a><br><a href= > </a><br>
 
Nick- Thank you for your reply.&nbsp;&nbsp;The question now is do we force the install of this .dll file at the time of the installation of our product OR do we leave the install process as is, let the user get the error message, and have them go back to the install disk and take an option to now download the .dll file.&nbsp;&nbsp;Our request to the programmer staff was to force the file download at initial installation and save the user from encountering the error message, but they are telling us it can't be done.&nbsp;&nbsp;Their explanation is that many other programs use this same .dll and it could be in multiple areas of the windows operating system.&nbsp;&nbsp;<br><br>What is your suggested approach.&nbsp;&nbsp;THANKS!
 
Sharross -<br><br>You shouldn't force the install of the VB5 runtime DLL.&nbsp;&nbsp;You should always compare the versions of the files and only copy it if your version is newer than the one currently on the user's disk.&nbsp;&nbsp;The InstallShield should take care of this for you (probably just a option to pick).&nbsp;&nbsp;Your programmers are right in that this file could be in many different directories, but <b>the</b> correct place for it is in the System directory (System32 if on NT).&nbsp;&nbsp;They should ignore the other copies for now.&nbsp;&nbsp;<br><br>This will cause support problems later but it can't be helped.&nbsp;&nbsp;What happens is other 3rd party vendors install their own copies of the DLL in their application directory.&nbsp;&nbsp;If the other vendor's program gets run before yours, their copy of the DLL gets loaded into memory.&nbsp;&nbsp;If your version and their version is incompatible, when they then go to run your app, it crashes because the wrong version of the DLL was loaded.&nbsp;&nbsp;If the users run the programs in the opposite order (yours, then theirs), their program crashes.&nbsp;&nbsp;This is known as &quot;DLL Hell&quot;, and is a common problem.&nbsp;&nbsp;Microsoft has taken steps under Windows 2000 to resolve it, but until then, you're stuck.&nbsp;&nbsp;It's especially bad because it wasn't your fault (the other vendors wrote the DLL into a private directory), and yet your users are the ones who will be complaining.&nbsp;&nbsp;The usual support answer is to load the app on a clean machine and try it again.&nbsp;&nbsp;If it works, then it must have been an incompatibility with a 3rd party app and you're off the hook.<br><br>If you were asking how to require the novice users to download and install this patch from Microsoft, the answer is: You shouldn't.&nbsp;&nbsp;What you should do is install this patch on your own machine and then include the required files in your setup routine.&nbsp;&nbsp;You could even install the patch file behind the scenes if you tell the patch to do an automated install (don't show anything on the screen, take all parameters off the command line).<br><br>When creating setup routines, it is good practice to do this on a &quot;clean&quot; machine, so that you have more control over the versions of files that you ship.&nbsp;&nbsp;Typically (if your development shop is anything like mine), one or more of your developers is a download junkie and has installed everything he/she can get their greedy hands on.&nbsp;&nbsp;This causes problems when it's time to build a release copy of your product and later prepare the setup, as this person may be depending on a later version of a DLL or OCX than everyone else on the team has on their PCs.<br><br>Chip H.<br>
 
Although what Chip says is true for some DLLs, it's not true for the VB runtime DLL.&nbsp;&nbsp;This file must be registered in the Windows registry.&nbsp;&nbsp;When a reference to this DLL is made,&nbsp;&nbsp;Windows looks in the registry to see where the DLL is, and loads that copy.&nbsp;&nbsp;It doesn't matter if there are duplicate copies on the system.<br><br>The bottom line with installations is that if there's a chance that your user does not already have the VB runtime installed,&nbsp;&nbsp;you should include it in your installation,&nbsp;&nbsp;and only install it if it's not there, or your version is newer than the one that's already installed, as Chip already explained.<br> <p>nick bulka<br><a href=mailto:nick@bulka.com>nick@bulka.com</a><br><a href= > </a><br>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top