I am using install builder to create a installer which primarily copies a set of folders in the specified install directory. I want that the copying of some folders be password protected i.e user has to enter a password if he wants those folders copied. How can I do that in Install builder.?

asked 17 May '13, 03:11

ajay%20bidari's gravatar image

ajay bidari
1111
accept rate: 0%


InstallBuilder provides encryption of the payload. However, the encryption has to be done for the entire installer and not individual files.

To enable encryption, simply add the following to your project and make a full build:

<project> <enableEncryption>1</enableEncryption> <encryptionPassword>RandomGeneratedPassword</encryptionPassword> <!-- ... --> </project>

If you want some content to be available - such as free/demo version and paid version - the best solution is to simply provide two installers - one (without password) for the free/demo version and full version with password enabled. The full installer could also check that free version is already installed (i.e. by checking if certain files are present in the installation directory) and skip copying of files also in the free version.

You can find out more in Encryption and password protection section of InstallBuilder user guide.

The documentation also shows options for using HTTP protocol to get password for the installer over the Internet and requiring specifying a valid license and/or username and password to retrieve the password. This can be useful to limit possibilities for illegal redistribution of the software as well track licenses and/or installations of the software.

link

answered 17 May '13, 04:21

wojciechka's gravatar image

wojciechka ♦♦
7.8k61122
accept rate: 26%

Here's how I do this: after the end user has chosen components, in readyToInstallActionList, I determine if any "protected" ones are selected. If so, I ask for a registration code using showStringQuestion. If the entered string contains the correct substrings/passcodes for all the components selected, good. Otherwise I deselect the unauthorized components using componentSelection.

Here's how I determine whether to ask for the reg. code (I have 3 components that require password protection):

<setInstallerVariable>
    <name>registrationNotRequired</name>
    <value>1</value>
    <ruleList>
        <componentTest logic="not_selected" name="ProtectedOption1"/>
        <componentTest logic="not_selected" name="ProtectedOption2"/>
        <componentTest logic="not_selected" name="ProtectedOption3"/>
    </ruleList>
</setInstallerVariable>
<showStringQuestion>
    <text>Please enter your Registration Code, which is on the CD package.</text>
    <!-- Ask for Reg. Code if registration IS required. -->
    <title>Registration Code</title>
    <variable>registrationCode</variable>
    <ruleList>
        <isFalse value="${registrationNotRequired}"/>
    </ruleList>
</showStringQuestion>
link

answered 10 Jun '16, 13:40

wscjr1's gravatar image

wscjr1
11268
accept rate: 0%

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:

×155
×39
×15

Asked: 17 May '13, 03:11

Seen: 1,798 times

Last updated: 10 Jun '16, 13:40