Question for users of Visual Basic 2008 Express
![davejames](https://forums.parallax.com/uploads/userpics/936/nZ2GD6713B1FA.jpg)
Hi All,
I've recently stumbled across Visual Basic 2008 Express and it *appears* to do all that I need - - BUT - - I have to believe that it's missing something critical since it's free.· So my question is:
Does the 'publish application' feature allow people to run the app on a computer that has no VB 2008 Express system installed?· Meaning, can it output a stand alone, runable application?
Thanks,
DJ
Post Edited (davejames) : 2/11/2009 4:35:15 PM GMT
I've recently stumbled across Visual Basic 2008 Express and it *appears* to do all that I need - - BUT - - I have to believe that it's missing something critical since it's free.· So my question is:
Does the 'publish application' feature allow people to run the app on a computer that has no VB 2008 Express system installed?· Meaning, can it output a stand alone, runable application?
Thanks,
DJ
Post Edited (davejames) : 2/11/2009 4:35:15 PM GMT
Comments
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
Leon is correct, VB requires a basic run library for the main compiled EXE program to talk to, and then additional libraries for other special functions (sometimes) <-- There are instances where they will be compiled into the EXE and referenced from there. Usually though VB is pretty good about encapsulating necessary files without having to move them to the System32 directory or anything. If you simply extract all of the necessary files into its own folder including the EXE and run it from the folder, VB knows to look in the immediate directory for the support files.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
While waiting for replies, I did an experiment...
In VB 2008 Express, I created a new project that does nothing more than display·a "form" with one "check box".· Pressing F5 (debug/run) caused the app to do what I wished (display the form with one check box).· Then I built the app (Build -> Build TestPublish1).· Then I published the app (Build -> Publish TestPublish1).
This process asked for the target publishing location and I gave it the directory path I wanted.
Next the process asks for the method the target users would use to install the app, choices being from a web site, a UNC path or file share, and from a CD or DVD.· I chose the "from CD" option.
A question of where the app will check for updates is displayed and I let it go to the default "will not check for updates".
A message is displayed confirming that the app will be published to the stated directory and another message says when the app is "installed on the client machine, a shortcut will be addded to the Start menu, and the application can be unistalled via Add/Remove Programs".
The result of the publish action is a folder with three items inside:· an application folder, a setup.exe file, and something called an application manifest·file with an extensioin of "application".
I then installed the app on another computer (via thumb drive using Add/Remove Programs and the app's setup.exe file) that did not have any VB 2008 Express software (although, on second thought, it does have some .net files from a VS 2005 C++ install).
The install process gave me no option of setting a targe folder, installed the app into my 'Documents and Settings' path, and then ran the app producing the form with one check box.
Soooo, the 'Publish' feature of VB 2008 Express seems to include all required files (run time et al).
I guess I can try this on my wife's computer as it has no programming software at all.
If anyone else has other inputs to my original question, please comment.
Thanks,
DJ
You just reminded me of two quirks of the publishing feature I ran into. On the Express 2005 at least (I don't remember on 2008) the program was NOT always able to be installed using Add/Remove programs. Perhaps they fixed that in the 2008 version. Also, as you said, express gives you no option to select path. I have Visual Studio 2008 and I will try publishing something on that and let you know how that goes. Take care.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
Thanks for the feedback.· I seem to remember something about "publish/install" issues and I guess it was from a blurb on VB 2005 Express.
Also (another "I guess") does it really matter where the installer chooses to place the application?· Just so the user has an icon or 'Start -> Programs' entry, does it really matter?· (I'm thinking out loud here...)
Regards,
DJ
Depending on which framework you target, (dotnet 2.0 is a 20mb file, dotnet 3.5 is a 200mb file!) some machines will run your app if they have the dotnet installed. I created a program that uses an HID interface, and all I have to install on the target machine is dotnet 2.0 and the exe file. I haven't had to install any dll on any machine yet.
Express 2008 publishing is pathetic, in my opinion. I used inno setup to create my own setup. Part of the reason you cannot specify the target install directory is because that option is not available in the express editions, as near as I could find out. I like programs to install in the program files directory, not some obscure directory that you can only find using the search function. How else can you ever do decent updates?
After another experiment, I discovered that, yes, .NET files are required on the target tester, and , no, VB 2008 Express doesn't build down to a single .EXE file that I can deploy.
You get what you pay for, I guess. It's a neat tool, but doesn't completely fill-the-bill for me.
Thanks to everyone who responded - I'm calling this thread closed.
Regards,
DJ
Now I'm really confused (what else is new?).
Are you saying that if I find this .exe file and move it to another computer that does not have *any* ".net" files, it will run and run properly?
This would be great if true.
This thread is still open I guess,
DJ
Note that .NET 3.0/3.5 is needed for VS2008 applications. You can also build for a .NET 2.0 target, which would give you a bit more flexibility since .NET 3.0/3.5 aren't widely installed on pre-Vista OSes.
Yes - that was my impression about having the .net framework required on the target system. And this is what I'm trying to avoid as I see no need to saddle the user with that requirement and, also, having to trundle along megs and megs of support files for a piddlin 10K app.
Thanks much,
DJ
The .Net platform is built around a virtual machine called the Common Language Runtime - CLR. The CLR is included as part of the .Net framework, which is why it is required on any target computer that you wish to run your .Net-based application.
If you want something that produce a native Windows binary, you can take a look at Turbo Delphi or Turbo C++:
www.turboexplorer.com
They are the free versions of Delphi & C++ Builder. You can see the FAQ here:
turboexplorer.com/article/33659
Thank you very much for the tip - I'll download the free version of Delphi and see if it fits my need. I learned today that the Basic Stamp IDE was written in Delphi so I have some hope.
Regards,
DJ
Please bear in mind that while the new Visual BASIC applications require the .NET framework, so do thousands of other applications written by companies that create drivers for your PC Video and Sound. A recent update of my video drivers warned me that I needed to have the latest .NET framework. I believe it was for the control panel, which I never use, but it is a sign that more and more developers are making use of this architecture, also prevalent in web and database applications. Take care.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
As an FYI, I believe that Delphi is also used for the SX/B compiler.
My foremost desire is to make the product I'm working on easy for the user/customer. If I can reduce the amount of "software burden" for them, so much the better. Also I've found in most case, simpler is better (aka "complexity breeds confusion"). While VB and Delphi (and et al) make it easier on the programming side with this concept of "managed code" that requires the target system to have some form of .NET, it places more burden on the user to maintain that requirement.
In my effort to remain simple, I guess I'll have to stick with Visual Studio C++ 6.0 in creating the user interface (GUI). And I already own it.
The newer development environment packages are very inticing as they make it really easy to generate a GUI. And since I'm not a power programmer, I tend toward them. But for all the reasons discussed in this thread, and for the fact that I don't want to shell out hundreds of dollars for a new package, I'll stay with what I have.
Thanks all for your input,
DJ
I'm not sure of the license requirements, but the dot net packages are redistrabutable!
I too got a video card the other day and it had on the cd that came with it, copies of 2.0, 3.0 and 3.5 dot net installers.
This is good news as VS 2005 has the newer support for COM ports while giving me the MS foundation classes for generating GUIs. It supports both managed code (.NET supported) and native .exe.
AND I'm going out to lunch with a buddy for pizza!
A happy day,
DJ
The above mentioned Visual Studio 2005 pack arrived...and...amazingly enough, it contains:
Visual C++
Visual BASIC
Visual C#
Visual J#
These are items that only came with the Professional series a few years ago!
Now to get on with the S/W side of the project.
Later,
DJ
I'm not quite sure where you read that Delphi requires any kind of runtime, but it generates nice, reasonably compact, native Win32 binaries. There are no dependencies on any of the bloated .net or java runtimes.
I believe the new Delphi IDE requires .Net on the development machine, but it certainly does not generate .Net dependent binaries.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cardinal Fang! Fetch the comfy chair.
I received that impression after reading Delphi's blurb on their free version of the IDE. It appeared to ouptut only "managed code". If I misread, then I'll add it to the list of "misunderstood-software-issues" that grows by leaps and bounds everyday I work on the S/W side of the project.
Regards,
DJ
Does Turbo Delphi (for Win32) require the .NET Framework to be installed?
Yes. Some of the functionality in the IDE is managed code that requires the .NET Framework. However, the apps you build in Turbo Delphi (Win32) do not need the .NET Framework.
</quote>
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cardinal Fang! Fetch the comfy chair.
OK - thanks. I sit corrected.
DJ
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Instead of:
"Those who can, do.· Those who can't, teach." (Shaw)
I prefer:
"Those who know, do.· Those who understand, teach." (Aristotle)
·