I know we can define a component by choosing files/folders from the GUI screen while defining the component. Is it possible to define a component by giving the path to the folders/files at the time of definition (dynamic mapping to the files/folders). If so how?

The intention of this requirement is to avoid the packagers's effort everytime the files/folders being packaged changes.

Note : We are seriously contemplating moving over from current installshield 6.3 to multiplatform tool (Installbuilder/InstallAnywhere). This is the reason we are evaluvating to see if IB fulfills our requirement.

Thanks Kannan

asked 30 Jul '12, 01:21

kmanday's gravatar image

accept rate: 0%

I just realised that this is already doing what I was looking for.

Now I just need to explore if we can drive the provision for the path to the destination folder through an INI file. This is for Build and release people and for people who just want to mention some specific paths rather than opening the XML file and replacing the paths when setting up the build enviornment


(30 Jul '12, 09:42) kmanday

Paths in XML can be specified relative to the project.xml file. Builder GUI will save this as relative paths automatically when <saveRelativePaths> is enabled. For example:

<project> <saveRelativePaths>1</saveRelativePaths> </project>

Also, paths to files included can use variables - for example:

<distributionfilelist> <distributiondirectory> <origin>${build_libraries_directory}/common-libraries</origin> </distributiondirectory> </distributionfilelist>

Then, the ${build_libraries_directory} variable will be used to specify paths. The variable can be set using --setvars when building from command line or in <preBuildActionList>, or combined. For example to build from command line it can be:

C> path\to\builder-cli.exe build project.xml windows --setvars build_libraries_directory=path/to/libs

Also, it can be set in <preBuildActionList>. The example below sets a default value if current value for ${build_libraries_directory} does not exist:

<preBuildActionList> <setInstallerVariable> <name>build_libraries_directory</name> <value>${build_project_directory}/libraries</value> <ruleList> <fileTest> <condition>not_exists</condition> <path>${build_libraries_directory}</path> </fileTest> </ruleList> </setInstallerVariable> </preBuildActionList>

This mechanism can be used to specify a default directory to use and allow overriding it using --setvars.

In order to modify the output directory for building the installer, the <outputDirectory> can be set when using command line when building the installer:

C> path\to\builder-cli.exe build project.xml windows --setvars project.outputDirectory=path/to/output

All of the project's properties can be set using the --setvars option and this will override the values in the projects.

Command line options are documented in more details along with examples in Creating Custom Builds section of InstallBuilder user guide.


answered 06 Aug '12, 04:24

wojciechka's gravatar image

wojciechka ♦♦
accept rate: 26%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 30 Jul '12, 01:21

Seen: 1,259 times

Last updated: 06 Aug '12, 04:24