Customizing UTBackup Client Installers


Information

How Customizing Works - A Process Overview

This is a high level overview of what customizing and creating an installer involves. The detailed steps for each platform are explained after the overview.

Customizing the PRO Client involves:

  1. Downloading the installer files for your version and your platform
  2. Opening and copying installer resources
  3. Editing the installer files
  4. Preparing the installers for distribution, see Creating Installers



Preparing to Edit Installer Files



Windows

  1. Download the latest PRO Client.
  2. Download latest version of the Customizable Windows files.
  3. Unzip the zip file. It contains the following:
    • custom/ – This folder contains the items to customize.
    • cpinstall.ico – This is the icon file that the installer uses to places an application icon on the desktop.
      • Note: The .ico file must be created using an icon editor. Saving a .gif or .png as an .ico will not work.
  4. After you have finished modifying the installer files follow these remaining steps to create your installers.



Mac OS X

The installer is case-sensitive, so be sure to retain the same case as used in the installer sample files. You can use either the command line or the GUI to access the files that you want to change.

  1. Mount the PRO Client image.
  2. In CrashPlanPRO.mpkg, open the package contents:
    • From the command line navigate to /Volumes/CrashPlanPRO/Install CrashPlanPRO.mpkg/Contents/Resources
      OR…
    • CTRL+click (or right-click) Install CrashPlanPRO.mpkg and choose Show Package Contents.
  3. Create a folder called Custom at the same level as Custom-example.
  4. As you change files in the Custom-example folder, copy them over to Custom (keep the sub-folder name).
    Only move/copy the files that you have changed.
  5. After you have finished modifying the installer files follow these remaining steps to create your installers.



Linux

You can customize the skin and even the text that shows up on your Linux clients.

  1. Gunzip/untar the download.
  2. Within the extracted crashplan folder, notice the .Custom-example folder.
    You will customize files you find here and move them to the .Custom folder, including the hidden files.
  3. Create a folder named .Custom next to .Custom-example
  4. As you change files in the .Custom-example folder, copy them over to .Custom (keep the sub-folder name).
    Only move/copy the files that you have changed.
  5. After you have finished modifying the installer files follow these remaining steps to create your installers.



Editing Installer Files

Specifying Default Settings

In the in the Custom/conf/default.service.xml file you can build the following information into the installer:

  • PRO Server host name
  • Default organization
  • Username for whom software is being installed
  • Password for user

Property

Description

config.servicePeerConfig.authority

By supplying the address, registrationKey, username and password, the user will bypass the registration / login screen. The following tables describe authority attributes that you can specify and their corresponding parameters.

Authority Attributes

Attributes

Description

address

the primary address and port to the server that manages the accounts and issues licenses. If you are running multiple PRO Server, enter the address for the Master PRO Server.

secondaryAddress

(optional) the secondary address and port to the authority that manages the accounts and issues licenses. Note: This is an advanced setting. Use only if you are familiar with its use and results.

registrationKey

a valid Registration Key for an organization within your Master PRO Server. Hides the Registration Key field on the register screen if a value is given.

username

the username to use when authorizing the computer, can use params listed below

password

the password used when authorizing the computer, can use params listed below

hideAddress

(true/false) do not prompt or allow user to change the address (default is false)

locked

(true/false) allow user to change the server address on the Settings > Account page. (do not set if hideAddress=“true”)

Authority Parameters

Parameter

Description

\${username}

determined from the CP_USER_NAME command-line argument, the CP_USER_NAME environment variable, or “user.name” Java system property from the user interface once it launches.

${computername}

system computer name

${generated}

random 8 characters, typically used for password

${uniqueId}

GUID

${deferred}

for LDAP and Auto register only! This allows clients to register without manually entering a password and requiring user to login to desktop the first time.

servicePeerConfig.listenForBackup

Set to false to turn off the inbound backup listener by default.


Sample Usage


All of these samples are for larger installations where you know the address of the PRO Server and want to specify a Registration Key for your users.

Please note that NONE of these schemes require you to create the user accounts on your PRO Server ahead of time.

Random Password


Your users will end up with a random 8-character password. In order to access their account they will have to use the Reset My Password feature OR have their password reset by an admin.

default.service.xml <authority address="192.168.0.1:4282" registrationKey="AAAA-BBBB-CCCC-DDDD"
username="$

{username}@acme.org" password="${generated}"/>

Fixed Password

All users will end up with the same password. This is appropriate if your users will not have access to the CrashPlan Desktop UI and the credentials will be held by an admin.

default.service.xml <authority address="192.168.0.1:4282" registrationKey="AAAA-BBBB-CCCC-DDDD"
username="${username}@acme.org" password="myUniversalPassword"/>

Deferred Password

FOR LDAP ONLY! This scheme allows the client to begin backing up, but it is not officially “logged in”. The first time the user opens the Desktop UI they will be prompted with a login screen and they will have to supply their LDAP username/password to successfully use CrashPlan to change their settings or restore data.

default.service.xml <authority address="192.168.0.1:4282" registrationKey="AAAA-BBBB-CCCC-DDDD"
username="${username}@acme.org" password="${deferred}"/>



Creating an Installer

Make the customizations that you want as part of your deployment, then follow the instructions to build a self-installing .exe file.

How It Works - Windows Installs

  1. Test your settings by running the CrashPlan_[date].exe installer.
    Make sure the installer.exe file and the Custom folder reside in the same parent folder.
  2. Re-zip the contents of your Custom folder so you have a new customized.zip that contains:
    • Crashplan_[date].exe
    • Custom (includes the skin and conf folders)
    • cpinstall.ico
  3. Turn your zip file into a self-extracting / installing file for your users.
    • For example, download the zip2secureexe from http://www.chilkatsoft.com/ChilkatSfx.asp
      The premium version is not required; however, it does have some nice features and they certainly deserve your support if you use their utility.
  4. Launch zip2secureexe, then :
    • specify the zip file:*customized.zip\* (file:*customized.zip*)
    • specify the name of the program to run after unzipping: CrashPlan_[date].exe
    • check the Build an EXE option to automatically unzip to a temporary directory
    • specify the app title:CrashPlan Installer
    • specify the icon file:*cpinstall.ico\* (file:*cpinstall.ico*)
    • click Create to create your self-extracting zip file

Windows Push Installs

  • Review / edit cp_silent_install.bat and cp_silent_uninstall.bat.
    These show how the push installation system needs to execute the Windows installer.
    • If your push install software requires an MSI, download the 32-bit MSI or the 64-bit MSI.
    • If you have made customizations, place the Custom directory that contain your customizations next to the MSI file.
      To apply the customizations, run the msiexec with Administrator rights:
      1. Right-click CMD.EXE, and select Run as Administrator.
      2. Enter msiexec /i <MSI_File>

cp_silent_install.bat@ECHO OFF

REM The LDAP login user name and the CrashPlan user name.
SET CP_USER_NAME=colt
Echo UserName: %CP_USER_NAME%

REM The users home directory, used in backup selection path variables.
SET CP_USER_HOME=C:\Documents and Settings\crashplan
Echo UserHome: %CP_USER_HOME%

REM Tells the installer not to run CrashPlan client interface following the installation.
SET CP_SILENT=true
Echo Silent: %CP_SILENT%

SET CP_ARGS="CP_USER_NAME=%CP_USER_NAME%&CP_USER_HOME=%CP_USER_HOME%"
Echo Arguments: %CP_ARGS%

REM You can use any of the msiexec command-line options.
ECHO Installing CrashPlan...
CrashPlanPRO_2008-09-15.exe /qn /l* install.log CP_ARGS=%CP_ARGS% CP_SILENT=%CP_SILENT%
cp_silent_uninstall.bat@ECHO OFF

REM Tells the installer to remove ALL CrashPlan files under C:/Program Files/CrashPlan.
SET CP_REMOVE_ALL_FILES=true
EHCO CP_REMOVE_ALL_FILES=%CP_REMOVE_ALL_FILES%

ECHO Uninstalling CrashPlan...
msiexec /x {AC7EB437-982A-47C0-BC9A-E7FBD06B1ED6} /qn CP_REMOVE_ALL_FILES=%CP_REMOVE_ALL_FILES%

How It Works - Mac OS X Installer

PRO Server customers who have a lot of Mac clients often want to push out and run the installer for many clients at a time. Because we don't offer a push installation solution, you'll need to use other software to push-install CrashPlan, such as Apple's ARD.

  1. Run Install CrashPlanPRO.mpkg to test your settings:
    • At the command line, type open Install\ CrashPlanPRO.mpkg from /Volumes/CrashPlanPRO/)
  2. Launch Install CrashPlanPRO.mpkg to test your settings.
  3. Unmount the resulting disk image and distribute to users.

Note: If you do not want the user interface to start up after installation or you want to run the installer as root (instead of user), change the userInfo.sh file as described in next section.

Understanding the userInfo.sh File

This Mac-specific file is in the Custom-example folder inside the installer metapackage. Edit this file to set the user name and home variables if you wish to run the installer from an account other than root, such as user, and/or you wish to prevent the user interface from starting up after installation.

Be sure to read the comments inside the file.

How It Works - Linux Installer

  • Edit your install script as needed.
  • Run the install script to test your settings.
  • Tar/gzip the crashplan folder and share it with other users.

Custom Folder Contents

When you open the installer zip file or resource contents and view the Custom-example folder, the structure looks like this:

Contents of resource folder

Custom (folder)

skin (folder)

logo_splash.png

 

 

splash.png

 

 

splash_default.png

 

 

logo_main.png

 

 

window_bg.jpg

 

 

logo_main.png

 

 

icon_app_128x128.png

 

 

icon_app_64x64.png

 

 

icon_app_32x32.png

 

 

icon_app_16x16.png

 

lang (folder)

txt_<LOCALE>.properties

 

conf (folder)

default.service.xml

cpinstall.ico (Windows only)
must be created using an icon editor

 

 

userInfo.sh (Mac only)

 

 

Customizing Reports and Alerts