tags:

views:

25

answers:

2

I want to make a "standard" install for external use, but I also want to use the same script and tell it (with a command line param perhaps?) to include another set of files (PDB files for debugging) for our lab installations. (And make a totally different install exe)

How can I do this? Is it possible?

I don't see how to set this in the [files] section. (conditionally add files based on some value/param)

NOTE - this is not for allowing the user an option DURING the install. I want a build-time option to set in my hudson build or batch file.

I suppose I can just create a separate installer for the pdbs, but I'd rather just have one file to do everything.

+1  A: 

The answer is simple: create two files for each release, but put the common stuff in a third file and #include it in the other two.

http://rickborup.blogspot.com/2006/09/inno-setup-include-directive.html

George Edison
Ah, I hadn't thought of doing that. Good idea. I would have preferred just calling one file with a command line param, but this will probably work.
Tim
+2  A: 

You can simply use

#ifdef DebugVersion
File: *.pdb ...
#endif

and then call the Inno compiler like this:

iscc.exe -DDebugVersion ...

I'd also add something like this so you get different output file names:

#ifdef DebugVersion
OutputBaseFileName=mysetup-dbg
#else
OutputBaseFileName=mysetup
#endif

Note that you'll probably need the InnoSetup precompiler for this, which, for some inexplicable reason, is not part of the default InnoSetup package. The easiest way to get it is to get the "Quick Start Pack" from the InnoSetup download page.

Oliver Giesen
This is what I was looking for. The missing precompiler was what I was looking for.
Tim