March 7, 2021
Hot Topics:

Customising Your Setup - Part 1

  • By Dax Pandhi
  • Send Email »
  • More Articles »

Before we get started, let's backup a few critical files we'll be playing with later:

  1. Open this folder: <VB Installation Directory>\Wizard\PDWizard\
  2. Copy this folder's sub-folder named "Setup1" to a different place. (COPY not CUT!)
  3. Change the project name to something different (see note)
  4. Make a back up to <VB Installation Directory>\Wizard\PDWizard\Setup1\

NOTE: This procedure is a precaution. The P&D Wiz might not work if the original copy is modified and doesn't meet its demands. Just don't try to be all heroic by skipping this!

WARNING: Windows 2000 users will not able to use the Package & Deployment wizard. The platform doesn't support it. This project can be completed on Windows 95 or 98 only. Win2k-created setups will cause an endless reboot!

Let's Get On With It

Righto, let's get started:

  • Start Visual Basic
  • Open the project "Setup1.vbp" (in <VB Installation Directory>\Wizard\PDWizard\)

First off, you need to know what each form and module does.


FrmBegin: Change-the-path-or-click-Install form.

FrmCopy: The dialog shown while files are copied

FrmDskSpace: Shows the hard disk space

FrmGroup: Program Files groups

FrmMessage: The generic message dialog (explained later)

FrmOverwrite: Asks if you want to overwrite a file or not.

FrmPath: You can specify where to install the software here.

FrmRemoteServerDetails: The Remote Server Details form.

FrmSetup1: The core of the setup program. Also the background of the windows we show.

FrmWelcome: The welcome form.

Top Tip: Do not modify any component unless you know what you're doing - otherwise, you'll end up knee-deep in crumbled code!!!


BasCommon: Lots of Global Constants, constants and common functions/subs.

BasLogging: This is for the error log for the Setup program removal utility.

BasSetup1: The other half of the setup program core. Too much to explain here. ;)

BasSetupRes: Tons of Global Constants.

ModRegistry: Module for handling the registry.

ModShell: Constants, Public Enum and some declarations for finding special folders like favorites, desktop, etc.

Resource File (setup1.res)

Contains the string table for this program (really useful for multilingual setups)

So, what are we going to do now?

First, we will add some new forms and customize the setup code. Then, we will create a more advanced and interesting background for the setup. Finally, we'll discuss what other features you can add with customisation... and those you can't.

So without wasting any more time, lets get busy!

Page 3 of 9

This article was originally published on November 20, 2002

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date