PDA

Click to See Complete Forum and Search --> : [RESOLVED] VB App Runs When VB 2008 Express installed, Fails To Run If VB 2008 Express Not Insta


dloendorf
Dec 23rd, 2008, 05:52 PM
I have a small VB application that runs great on a machine that has VB 2008 Express Edition installed. If I run the same app on a machine that does not have VB 2008 Express Edition, the app fails to load with an '...app stops working...' error. I am sure it does not run because there are required dll(s) that are not present when VB 2008 Express is not installed. However, I have not been able to determine which dll(s) are needed.

The VB app was developed on a Vista system and I am trying to run it on a Vista system. It is my understanding that Vista comes with all necessary VB runtime dlls installed. Thinking maybe the VB runtime libs were not available I installed them using regsvr32. This did not help.

I then installed VB 2008 Express on the machine without it and the app ran fine. I un-installed VB 2008 Express and the app did not run. So VB 2008 Express is installing dll(s) that I need but I cannot determine which they are.

InnoSetup was used to build the setup package.

Any help would be appreciated

techgnome
Dec 23rd, 2008, 06:55 PM
Windows only comes with the VB6 runtime files, and .NET Framework 1.0, 1.1, maaaaybe 2.0..... but not with 3.0/3.5 .... what you need to do is to include the .NET 3.5 prerequisite so that if they don't have it installed, it will get installed. I'm not sure how to set that up with Inno though.

-tg

dloendorf
Dec 23rd, 2008, 07:21 PM
Thank you for your response - I did not state that .net framework 3.5 was installed. What is so puzzling is that it runs fine if I install VB 2008 Express on the target machine, but does not run if I un-install VB 2008 Express on the target machine. Actually, I can install VS 2008 Professional with the same result.

There is some dll(s) that are being installed and un-installed that are required by my VB app. Is there any way to determine whic they are. Unfortunately, the only message I get is that the application has stopped running.

Thanks - David

techgnome
Dec 23rd, 2008, 07:43 PM
Yes.... there is.... it's the .NET Framework... it gets installed as part of the VB Express (or Visual Studio).... when you uninstall VB, the framework uninstalls....

-tg

dloendorf
Dec 23rd, 2008, 08:57 PM
I do not believe you are correct about .net framwork 3.5 being un-installed when I un-install VB 2008 Express. After un-installing VB 2008 Express, I checked Program Panel->Programs and Features and Microsoft .NET Framwork 3.5 SP1 is stilled listed as being installed.

However, just in case, I re-installed the framework from the Microsoft site. I tried to run the app and received the '...program has stopped working...' error. I then re-installed VB 2008 Express, tested the app and it runs fine. I un-installed VB 2008 Express, checked that the framwork was stilled installed and tried to run the app. It failed, so there is still some dll(s) that are being installed with VB 2008 Express that my app requires.

Thank you for your support. Is there any way to determine which dll is causing the problem?

David

Nightwalker83
Dec 24th, 2008, 05:45 AM
I have never used VB 2008! However, if it has its only setup creation program you should be able to the dll needed by your program when/if (you are able to) create a setup package. That would allow you install and run your application properly on machines not running VB 2008.

dloendorf
Dec 24th, 2008, 09:26 AM
Nightwalker - Thank you for your post. Unfortanely, VB 2008 Express does not support a Setup project. It does allow you to use the ClikOnce method of deployment if you have a website to deploy from. I tried that method in the past and had the same problem. I will try again and see if it will resolve the problem.

VS 2008 Professional does allow you to build Setup projects, and when I get back to my main development machine (where I have it installed) I will try a Setup project. I believe the setup has to be developed in either C# or C++.

David

dloendorf
Dec 24th, 2008, 10:52 AM
The missing dll was Microsoft.VisualBasic.PowerPacks.Vs.dll.

I am using a Line element from this dll. It turns out there are two similar dlls:
Microsoft.VisualBasic.PowerPacks.Vs.dll and Microsoft.VisualBasic.PowerPacks.dll, and I had included the Microsoft.VisualBasic.PowerPacks.dll. I should have included the Microsoft.VisualBasic.PowerPacks.Vs.dll.

David

si_the_geek
Dec 24th, 2008, 11:04 AM
Thanks for letting us know that you solved it (and how you did it too), but to make things easier for those of us who like to answer questions (and those who find this thread in a search), could you mark the Thread as resolved? (by just marking your last Post as resolved, we still need to open & read the thread to find out).

You can do it by clicking on "Thread tools" just above the first post in this thread, then "Mark thread resolved".