(Barely) Using the VB3 Setup Kit

by Gary Wisniewski - Independent Developer

Iím not a big fan of packages which try to "do my work for me". Iím one of those who doesnít mind getting bits stuck under my fingernails while digging through some code. However, I was recently tempted to use the VB3 setup kit for a small project, and ended up foraging through the contents of the SETUPKIT directory.

Initially, it proved to be frustrating. My setup program doing lots of unconventional system configuration. The template for the setup kit didnít quite fit my needs. So, I decided to scrap the "setup wizard" and just build a VB executable which did the setup work I needed to. No problem... but how would I make sure that VBRUN300.DLL was installed?

It turns out that the SETUP.EXE program is a simple utility to allow you to create your own setup tool, from scratch, while handling the initial installation of VBRUN300. Essentially, I threw out everything in the setup kit except SETUP.EXE (and one of its friends). SETUP.EXE is a useful stand-alone EXE which opens the file SETUP.LST on the installation disk and copies all the files mentioned to your WINDOWS\SYSTEM directory. One of the files copied should be SETUP1.EXE. SETUP.EXE, as its last activity, runs this setup program (which you can write yourself).

Typically, your SETUP.LST file will contain all the files your setup application will need. In my case, my SETUP.LST contains: SETUP1.EX_, SETUPKIT.DL_, VBRUN300.DL_, VBOA300.DL_, DDEML.DL_

Notice the underscore at the end. These files have been compressed using the COMPRESS program, and will automatically be decompressed for you by SETUP.EXE. SETUP.EXE needs one more file VER.DLL, to do version checking. It doesnít matter whether these files are already installed as SETUP.EXE will assure that the most recent version is on the target machine. Once I finished debugging SETUP1.EXE (the VB application which does my own personal setup chores), I built installation disks like this:

  copy setup.lst a:\
  c:\vb\setupkit\kitfiles\compress.exe -r setup1.exe a:\
  c:\vb\setupkit\kitfiles\compress.exe -r c:\windows\system\vbrun300.dll a:\
  copy c:\vb\setupkit\kitfiles\setup.exe a:\setup.exe
  c:\vb\setupkit\kitfiles\compress.exe -r c:\vb\setupkit\kitfiles\setupkit.dll a:\
  c:\vb\setupkit\kitfiles\compress.exe -r c:\windows\system\vboa300.dll a:\
  copy c:\windows\system\ver.dll disk1\ver.dl_
  c:\vb\setupkit\kitfiles\compress.exe -r c:\windows\system\ddeml.dll a:\

My setup disk was now ready to run. Notice that VER.DL_ isnít really compressed! Even though it has an underscore at the end, SETUP.EXE expects VER.DL_ to be an uncompressed file. Youíll always need to include VBRUN300.DLL and SETUPKIT.DLL. You may also need DDEML.DLL if youíre going to be creating program manager groups. Make sure you get an update to the original VB3 setup from the Library on your MS Technet CD or at ftp.microsoft.com (it fixes bugs in SETUP.EXE).

Itís not always the perfect route, but if you have unusual setup requirements and want to "grow your own" setup disk, using SETUP.EXE will save you some of the tedious details of bootstrapping your setup while still giving you full control over what happens next.

Written by: Gary Wisniewski
August 1995

Image of arrow to next article