Visual Basic .NET Nightmare or Guide to upgrading a Guru.

Part Deux

Page 1

    What it is.

  

Does anyone remember, of course you do, the VB DLL file that was needed (Along side other numerous DLL files) to make your VB App work? It was extremely interesting to see that your VB 6 program and younger, was only a few KBs wide. But it never ran off of just that. Allow me to elaborate. Here’s an exe file from the days of VB 4.0 it’s only 35.5 KB (36,352 bytes). And here’ a VB 6.0 App 240 KB (245,760 bytes). These files were useless though without the VB.DLL file with its various names. And it was always a few Megs all on its own.  Deployment over the years was a process of adding all the necessary DLL files, not to mention any you made on your own, along side your executable to get your program to work on another person’s computer.

 Now, what’s my point? Well it’s Dot Net of course. I haven’t even begun my upgrade process of 2005 and I’m already convinced, this is a reoccurring Nightmare. Yep, it’s been two years since Dot Net graced my computer with its final solution of the dot net framework.  It all sounded so cool, until we found out no one else wanted the dot net framework on their OS as it would pull people away from such long time anti MS programs such as Linux, MAC OS and others. Why did they not just install Dot Net frameworks on their OS so we could all just get along? Because it didn’t work. We all started having flashbacks to the VB.DLL.  More code to override the OS frame work with the Dot Net frame work, because Waaaa APIs sucked. And who knew them all? Not me! But I knew the ones I liked. And if you were a game programmer you learned how to get along with DirectX (This was a truly advanced idea) But as for the DNF, well it’s just a bloated VB.DLL. Granted, it wasn’t enough to have your C programs, etc, compiled on OS specific machines. Who dealt with this on a daily basis? I don’t remember it being such a pain in the Ass to make a broken system the Norm. That’s right, so we VBers merged with C and Java programmers into a single DLL called Dot Net. Yes I exaggerate, because it’s not a single DLL, it’s lots of them and you can get everything you need all in one dose for your programs for the target OS for all languages mutual.

 A step above? Maybe, if they hadn’t gone on with the usual. What’s my beef really? Well it started with just reading about 2003. It was unaware and would not use DNF 1.0. It needed it’s on VB.DLL, 1.1! Yep. So here we are again. The pro is you don’t need to find all the specific DLL files needed for your program. You can just send an exe and say as long as you have DNF installed, it will all magically work! And it’s part of windows update! And the con (Yes, multiple meanings there, folks) it’s only good for each specific version. Welcome to 2005 version of upgrading a Guru, the Nightmare continues!

 You now need DNF 1.1 to get off the ground with this fly by night language. Yes. Has anyone recovered from the fast paced version of 2002 to 2003? I almost made the cut off time limit to upgrade cheaply from one to the next. So here we are, another 100 or so odd dollars and we have another interface for code that does nothing all on it’s own. But hey the DNF is free, so why complain? Well because upgrading the Guru is one thing, convincing your client to keep upgrading their computers to meet your program’s requirements is another. I’ll get into this more as I discover the answer to whether or not the DNF distributable requires a DVD or not. Good thing we have High Speed internet for downloading, the days of the 1 Gig Programs are on the horizons.

 So where did they go wrong? Well I can assume something about the final solution after watching the upgrade process of years of programming. Each service pack for VB had its own VB.DLL version. Owe. Yes, owe because each time you upgraded, you had to upgrade you client install as well. This meant just giving them the exe wasn’t going to cut it. And the DNF was supposed to solve this issue in upgrading your exes and simply fast updating the client’s software. So what happened to each consecutive VB.DLL as they went along, they were backward compatible to older exes. That means the file was replaced, or was it?  How many VB.DLL versions were there? Many, few? Who knew? The end results when last checked was a new VB.DLL that handled them all, supposedly anyway. Then a version of windows that ran VB 6 – without a problem all on its own. Correct me if I am wrong, but I believe it was Windows ME.

 The dawn of DNF. Yes, getting the OS to handle the exes without a common DLL just for the exes. Should we stick that in the OS? What about future versions. Hmmm. Let’s make it a separate part of the system, a whole new layer that can be applied only when required! Yes, that’s new, let’s do that! And make it upgradeable! Right on, the first to get our version number to 10 gets a Bonus!

 Sigh.

 What’s a programmer to do? My first resolution was to just not force any of my clients to use it. Because it wasn’t enough to get the DNF, it has it’s own service pack! You have to keep upgrading it. So how many DNFs is going to take before they realize this wasn’t the final solution, it the same old VB.DLL file? Now you’re just forcing C and Java programmers alike to use it! But hey, they no longer have to compile on specific versions of windows, do they? Are they happy? As a VB programmer I can’t really say for sure! They may think it’s the next slice of bread or be rolling over in their sleep like I am; waiting for the nightmare to end!

 Many solutions have been tried. It’s always been a favorite of other OS users to simply write script to the OS and have it execute them. So we got VBScript. OUCH! Can you say Virus/Hacker/Trojan friendly code? I knew you could. It’s a good thing these files required their own unique extension name or we might never be rid of these things.  Do they promote it anymore? Not that I’m aware of. Security is an issue with DNF. And it helps keep you safe from Bad code. But it’s still the same thing. The program is not compiled until it’s requested by the user and DNF compiles it. Ah that smell of Java! Okay, okay, you get my meaning. There isn’t really new stuff here, it’s a combination of all these other things slammed into a single package.

 So with that in mind let’s begin.

 

Page 2