Inno for VB6 

 Project structure 

It's worth spending a little time considering the structure of your project before starting to create an installation utility.

Because of Inno's ability to add folders and their contents, it's advantageous to put as much as you can into folders so that the individual files don't have to be defined in the Inno script file. In fact, you could put everything into one folder which would then be the only thing to be defined in the script and which would become the operational folder of the installed package.

In particular, I place all the graphics required by the package into a 'graphics' folder rather than have them in the same folder as the VB code.

When I have a project working to my satisfaction, I create a folder called 'Publish' or 'Package' and copy a clean version of all the material into it.

 Creating the Inno script 

 Run the VB6 Package & Deployment Wizard 

Whilst you can just write the script or use the Inno Script Wizard, it's useful to actually start from the 'setup.lst' file produced by the VB Wizard. This will give you information on the dependencies of your package if you're not sure of what these may be. This can be a problem: if you're using the File System Object in your package, you may be aware that you'll need 'scrrun.dll' to utilise facets of VBscript but I wasn't aware until I ran PDW that you also need 'msvcrt.dll'!

Just add the minium of data when you use the VB wizard and only add the [project].exe file. The wizard also creates a 'Support' folder which will have copies of the .ocx and other files that are required. You should access these copies in the Inno script rather than the ones in your system folder/s. If you try to do the latter, you'll get a warning when you try to compile the script.

 Using a script template 

I recommend that you set up a simple script to be used as a template and just alter the files, project name, etc. for each package you create.

The details of the one I use are explained on this linked page.

 Other help 

Other sources of help with Inno Setup scripting are,