How can I direct the installer to ask the user to enter a file or directory?

asked 06 Sep '11, 08:00

Jake's gravatar image

Jake ♦♦
796222226235
accept rate: 98%


You can direct the installer to ask the user to enter a file or directory using a file or directory parameter. You will have to include a section like the following inside the parameterList section of your installer project file.

<directoryParameter>
       <name>mydir</name>
       <value></value>
       <title>Title for you directory page</title>
       <description>Some Directory</description>
       <explanation>Please specify the directory requested</explanation>
       <default></default>
       <cliOptionName>prefix</cliOptionName>
       <ask>yes</ask>
       <mustBeWritable>yes</mustBeWritable>
</directoryParameter>

This will create an installer environment variable called mydir that will contain the directory or file introduced by the user. You can later refer to the value of the variable using ${mydir}.

Attached File

directory.xml


<project>
    <shortName>sample</shortName>
    <fullName>Sample Project</fullName>
    <version>1.0</version>
    <installerFilename></installerFilename>
    <readmeFile></readmeFile>
    <licenseFile></licenseFile>
    <wrapLicenseFileText>1</wrapLicenseFileText>
    <leftImage></leftImage>
    <logoImage></logoImage>
    <splashImage></splashImage>
    <defaultLanguage></defaultLanguage>
    <allowLanguageSelection>0</allowLanguageSelection>
    <postInstallationScript></postInstallationScript>
    <postInstallationScriptArguments></postInstallationScriptArguments>
    <showPostInstallationScriptResult>0</showPostInstallationScriptResult>
    <preUninstallationScript></preUninstallationScript>
    <preUninstallationScriptArguments></preUninstallationScriptArguments>
    <allowedLanguages></allowedLanguages>
    <cdromDirectory>${product_shortname}-${product_version}-cdrom</cdromDirectory>
    <cdromDiskSize>700000000</cdromDiskSize>
    <cdromFirstDiskSize>650000000</cdromFirstDiskSize>
    <defaultUnixDirectoryPermissions>755</defaultUnixDirectoryPermissions>
    <defaultUnixFilePermissions>644</defaultUnixFilePermissions>
    <outputDirectory>${installbuilder_install_root}/output</outputDirectory>
    <projectSchemaVersion>1.2</projectSchemaVersion>
    <saveRelativePaths>0</saveRelativePaths>
    <slideShowLoop>1</slideShowLoop>
    <slideShowTiming>5</slideShowTiming>
    <startMenuGroupName>${product_fullname}</startMenuGroupName>
    <style>standard</style>
    <uninstallerDirectory></uninstallerDirectory>
    <validatorProgram></validatorProgram>
    <componentList>
        <component>
            <name>default</name>
            <description>Default Component</description>
            <canBeEdited>1</canBeEdited>
            <detailedDescription></detailedDescription>
            <selected>1</selected>
            <show>1</show>
            <desktopShortcutList/>
            <folderList>
                <folder>
                    <description>Program Files</description>
                    <destination>${installdir}</destination>
                    <name>programfiles</name>
                    <platforms>all</platforms>
                    <shortcutList>
                        <shortcut>
                            <comment>Uninstall</comment>
                            <exec>${installdir}/uninstall</exec>
                            <icon></icon>
                            <name>Uninstall ${product_fullname}</name>
                            <path>${installdir}</path>
                            <platforms>all</platforms>
                            <windowsExec>${installdir}/uninstall.exe</windowsExec>
                            <windowsExecArgs></windowsExecArgs>
                            <windowsIcon></windowsIcon>
                            <windowsPath>${installdir}</windowsPath>
                        </shortcut>
                    </shortcutList>
                </folder>
                <folder>
                    <description>Program Files</description>
                    <destination>${installdir}</destination>
                    <name>programfileslinux</name>
                    <platforms>linux</platforms>
                </folder>
                <folder>
                    <description>Program Files</description>
                    <destination>${installdir}</destination>
                    <name>programfileswindows</name>
                    <platforms>windows</platforms>
                </folder>
            </folderList>
            <startMenuShortcutList>
                <startMenuShortcut>
                    <comment>Uninstall ${product_fullname}</comment>
                    <name>Uninstall ${product_fullname}</name>
                    <windowsExec>${installdir}/uninstall.exe</windowsExec>
                    <windowsExecArgs></windowsExecArgs>
                    <windowsIcon></windowsIcon>
                    <windowsPath>${installdir}/</windowsPath>
                </startMenuShortcut>
            </startMenuShortcutList>
        </component>
    </componentList>
    <customLanguageFileList/>
    <fileList/>
    <parameterList>
        <directoryParameter>
            <name>installdir</name>
            <title></title>
            <description>Installer.Parameter.installdir.description</description>
            <explanation>Installer.Parameter.installdir.explanation</explanation>
            <value></value>
            <default>${platform_install_prefix}/${product_shortname}-${product_version}</default>
            <allowEmptyValue>0</allowEmptyValue>
            <ask>yes</ask>
            <cliOptionName>prefix</cliOptionName>
            <leftImage></leftImage>
            <mustBeWritable>yes</mustBeWritable>
            <mustExist>0</mustExist>
            <width>40</width>
        </directoryParameter>
        <directoryParameter>
            <name>mydir</name>
            <value></value>
            <title>Title for you directory page</title>
            <description>Some Directory</description>
            <explanation>Please specify the directory requested</explanation>
            <default></default>
            <cliOptionName>prefix</cliOptionName>
            <ask>yes</ask>
            <mustBeWritable>yes</mustBeWritable>
        </directoryParameter>
    </parameterList>
    <platformOptionsList/>
    <postInstallationActionList/>
    <preBuildActionList/>
    <preInstallationActionList/>
    <preUninstallationActionList/>
    <slideShowImageList/>
</project>
link

answered 06 Sep '11, 08:03

Jake's gravatar image

Jake ♦♦
796222226235
accept rate: 98%

Your answer
toggle preview

Follow this question

By Email:

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

By RSS:

Answers

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

Tags:

×49
×33
×11
×10
×5

Asked: 06 Sep '11, 08:00

Seen: 1,653 times

Last updated: 15 Sep '11, 05:02