Shop OBEX P1 Docs P2 Docs Learn Events
Question for users of Visual Basic 2008 Express — Parallax Forums

Question for users of Visual Basic 2008 Express

davejamesdavejames Posts: 4,047
edited 2009-02-24 05:39 in General Discussion
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

Comments

  • LeonLeon Posts: 7,620
    edited 2009-02-11 17:05
    I think they need to have a DLL, which you could supply.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2009-02-11 17:24
    davejames,

    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 SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2009-02-11 17:48
    My experience with both VB Express 2005 and VB Express 2008 is that most code runs on the target machine using the packager as long as the target machine has the .NET framework installed. In 3 out of 5 cases the packager prompted a download of the .NET framework on the target machines. I don’t know why it didn’t on the others, though I think if the PC has all service packs you should be fine.· Early versions of VB used a library file that was originally named, VBRUN100.DLL, VBRUN200.DLL and VBRUN300.DLL for the first three versions.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
  • davejamesdavejames Posts: 4,047
    edited 2009-02-11 18:18
    All - thank you for the responses.

    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
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2009-02-11 18:27
    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
  • davejamesdavejames Posts: 4,047
    edited 2009-02-11 19:01
    Mr. Savage,

    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
  • Erik FriesenErik Friesen Posts: 1,071
    edited 2009-02-11 22:33
    There are a couple of things you may like to know. I believe that express 2008 has the publishing options for precisely the reason that they want you to get a better version. ??

    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?
  • RICoderRICoder Posts: 91
    edited 2009-02-11 22:42
    You cannot create user defined controls with the express version of studio in DLL or OCX format. For example: If you wanted to create a new control that was a simple interfaces for serial communications and a control panel for a robot, you could create and use it yourself, but you could not package it and share it as an OCX or DLL for others to use.
  • davejamesdavejames Posts: 4,047
    edited 2009-02-12 04:01
    Hi All,

    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
  • Erik FriesenErik Friesen Posts: 1,071
    edited 2009-02-12 12:48
    Yes, vb 2008 express does build down to a single .exe. You have to search the build output directory. This can be set in the compile tab under the main options setting window(I am not sure what it is called but has the tabs - application - compile - debug - references - resources - settings - etc - )
  • davejamesdavejames Posts: 4,047
    edited 2009-02-12 15:38
    Erik,

    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
  • Harrison.Harrison. Posts: 484
    edited 2009-02-12 17:23
    You'll still need the .NET framework. You can get the .NET framework installer directly from Microsoft's website or via Windows Update.

    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.
  • davejamesdavejames Posts: 4,047
    edited 2009-02-12 17:33
    Harrison,

    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
  • Kevin WoodKevin Wood Posts: 1,266
    edited 2009-02-12 22:00
    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
  • davejamesdavejames Posts: 4,047
    edited 2009-02-12 23:01
    Kevin,

    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
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2009-02-13 17:13
    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
  • Kevin WoodKevin Wood Posts: 1,266
    edited 2009-02-14 03:34
    Chris Savage is correct about the .Net framework becoming more of a requirement. In fact, I believe that it is needed to actually run the Delphi editor, even though it produces native executables.

    As an FYI, I believe that Delphi is also used for the SX/B compiler.
  • Erik FriesenErik Friesen Posts: 1,071
    edited 2009-02-14 14:00
    The .net 2.0 framework is around 22 mb. I believe Vista has it built in. dotnet 3.5 is burdensome but I would not be afraid of a dotnet 2.0 application.
  • davejamesdavejames Posts: 4,047
    edited 2009-02-16 03:34
    Chris/Kevin/Erik,

    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
  • bambinobambino Posts: 789
    edited 2009-02-16 16:12
    Davejames
    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.
  • davejamesdavejames Posts: 4,047
    edited 2009-02-16 20:07
    ...so, my #3 son calls me this morning saying he spotted Visual Studio C++ 2005 on Ebay for $100! I've gone ahead and picked it up.

    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
  • davejamesdavejames Posts: 4,047
    edited 2009-02-22 00:58
    SCORE!

    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
  • BradCBradC Posts: 2,601
    edited 2009-02-23 09:34
    davejames said...
    Chris/Kevin/Erik,

    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.

    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.
  • davejamesdavejames Posts: 4,047
    edited 2009-02-23 16:31
    BradC,

    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
  • BradCBradC Posts: 2,601
    edited 2009-02-24 00:18
    <quote>
    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.
  • davejamesdavejames Posts: 4,047
    edited 2009-02-24 05:39
    BradC,

    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)
    ·
Sign In or Register to comment.