Ashley,
I make no bones about it.......in comparing VB.Net to Visual Basic 6, I
think VB.Net is a huge step backwards. It made the easy stuff easier and
the hard stuff harder. Not a great accomplishment if you ask me. VB.Net
was written for Microsoft - not for developers. It solves internal problems
for MS while creating problems for developers. It is the single, largest
screw-up in the history of programming languages.
You are not going to have a "small and simple" application using VB.Net. It
will not be small because you cannot depend on the end user having .Net 2.0
installed. That will add 25 MB to your installation. This significantly
increases bandwidth and distribution costs for you. (Don't even ask me why
MS can make BETA WGA - Windows Genuine Advantage - a critical security
download and not include the .Net runtime as a critical OS update...seeing
as how .Net is their strategy for the future.)
There is a way to make the installation simple and save some space while
including only the portions of .Net that your application needs. It is
called Thinstall.
Thinstall can wrap your entire project (including all needed portions of the
..Net framework) into a single, encrypted executable. Your customer does not
even need the .Net framework installed to use your Thinstall-wrapped app.
It has built-in licensing with the ability to distribute time-limited trials
of your software. It is a fantastic application for making no-install", but
Thinstall starts at $4,000 per application - so it will increase your
distribution costs.
There are similar (and much less expensive) applications that wrap VB6
applications into a single exe - just so you know.
As for what you are looking to do in .Net, I don't know if this will help -
but take a look at
http://www.xtremevbtalk.com/archive/.../t-239550.html. There is a
discussion of similar functionality there.
And, although we all know that VB6 was not perfect, VB.Net has more than its
share of problems. If you haven't already, subscribe to the free KB emails
at
www.kbalertz.com. You can specify .Net 2.0 to limit the number of alerts
that you get and you can also search for all of the kb articles for .Net 2.0
right on the site.
IMHO, if what you have works, there is no reason to change to VB.Net. Don't
complicate something that is working. You won't gain any speed advantage.
Your distribution costs will increase. And, Microsoft is changing the
framework yet again with WinFX - now known as .Net 3.0 - and depending on
you to distribute it.
Jim Hubbard
<as*********@gmail.com> wrote in message
news:11**********************@p79g2000cwp.googlegr oups.com...
We have been using VB6 to develop small custom apps that access an
Oracle database, in order to extend a larger product that is developed
by our colleagues in Germany (who use C++ and Java).
As each app is small and simple, we have been distributing each to the
customer in the form of a single EXE file.
I have been attempting to build another one of these small custom apps,
using VB 2005 Express Edition. It doesn't seem to be possible to
produce a single EXE file using this environment: for a start, there is
no File -> Make executable menu, only a more complex Build -> Publish
menu, which I think produces an MSI installer file. There are deeper
problems, however. Is there anything incorrect in my thinking below?
1) In order to write a program that takes the results of queries on an
Oracle database and places them in an Excel spreadsheet, in VB6, we can
use (COM) ADODB and Excel.Range.CopyFromRecordset, which copies the
data in a single (fairly quick) step. The database facilities in
VB.NET provide no equivalent: we must instead write (slow and possibly
buggy) code that copies one row at a time from the query result into
the spreadsheet (see
<http://support.microsoft.com/?scid=kb;en-us;306022&spid=1249&sid=global>),
or use (COM) ADODB.
2) If our code uses COM objects (eg ADODB in the above case), it isn't
possible to compile the app into a single EXE file. It seems that
VB.NET needs to create an Interop.ADODB.dll file in this case.
I think if we want to continue to distribute single EXE files, it may
be best for us to stick with VB6.
Have I missed something?
Ashley.