February 28, 2021
Hot Topics:

Editing the Bootstrap

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

When you run the P&D Wizard, it creates Setup.exe, the CAB files and a setup.lst file.

This setup.lst file is the data source of the setup program. As the EXE (setup1) is already compiled, it needs external data to work from. Setup.lst (or the BootStrap as Microsoft likes to call it) is just like an INI file to the setup program! It has it's own macros and styles. In this section, we'll learn a little about it, plus figure out how to edit the file...

First off, you should know about "macros", keywords in the setup.lst file which are replaced with something else when the setup program runs. This list describes the most common:

$(WinSysPath)System Folder of the OS
$(WinSysPathSysFile)System File installed in System Folder. This file will not be removed during uninstallation
$(WinPath)Windows Folder
$(AppPath)Application Folder where the software will be installed
$(AppPath)\folderUse this to create \folder sub-folder in $(AppPath). Any path can be created with this.
$(CommonFiles)Common Files folder. Generally combined with sub folder path.

Same as $(CommonFiles)\System.

$(ProgramFiles)The program files folder on the user's system.
$(MSDAOPath)Yes! The path for MS DAO installation! They thought of everything.
$(DLLSelfRegister)Self-registering .dll, .ocx, or any other .dll file with self-registering information (exports DllRegisterServer and DllUnregisterServer
$(EXESelfRegister)ActiveX .exe or any other .exe file supporting /RegServer & /UnRegServer command line switches
$(TLBSelfRegister)For Type Library File
$(Remote)Remote support file (.vbr)
$(Shared)Makes the file shared. If file is installed in \Windows or \Windows\System, it is automatically shared
$(Programs)Special for Program Groups

NOTE: Only $(WinPath) and $(WinSysPath) are valid in the [BootStrapFiles] section

WARNING: Never use normal path like c:\somefolder\myfolder\! This will not be good for your setup program on other systems.

Experimenting with the BootStrap file is easy. In fact, it is highly encouraged! You just might learn something! ;)

If you use additional DLL or OCX files in setup1.vbp, like a custom progress bar or other components, specify them in the [BootStrapFiles] section in setup.lst like this:

File7=@MyDll.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5/10/99 12:00:00 AM,1384448,



Adding a comma can skip any parameter you don't want to specify!

Now, let's explore a few sections in the BootStrap file, with comments in red:



This is the title that appears in the pre-setup dialog.

SetupText=Copying Files, please stand by.

This is the text that appears in the pre-setup dialog.


This is the cab file name.


This is the EXE to launch for the setup program.


This is the uninstallation program.


This is the name of the temp folder setup will create in Windows\Temp\ for the temp files.


The number of cabs



Title= MySoftware

The title that appears on the blue washed background.


Folder where the software will be installed


Main application EXE


App to uninstall

The bootstrap is easy to edit. Try messing around in it! You'll learn how easy it is!

NOTE: I covered a little of what can be done in the setup.lst file. However I highly recommend visiting http://msdn.microsoft.com/library/ or checking out VB's documentation for more on the SETUP.lst file and 'Packaging and Deployment' in general.

Page 5 of 7

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