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:
- Downloading the installer files for your version and your platform
- Opening and copying installer resources
- Editing the installer files
- Preparing the installers for distribution, see Creating Installers
Preparing to Edit Installer Files
Windows
- Download the latest PRO Client.
- Go to current installer.
- Download latest version of the Customizable Windows files.
- 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.
- 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.
- Mount the PRO Client image.
- 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.
- From the command line navigate to /Volumes/CrashPlanPRO/Install CrashPlanPRO.mpkg/Contents/Resources
- Create a folder called Custom at the same level as Custom-example.
- 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.- The folder structure appears at the end of this article. Click to view the contents of the Custom folder.
- 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.
- Gunzip/untar the download.
- 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. - Create a folder named .Custom next to .Custom-example
- 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.- The folder structure appears at the end of this article. Click to view the contents of the Custom folder.
- 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
Random Password
|
{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
- 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. - 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
- 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.
- For example, download the zip2secureexe from http://www.chilkatsoft.com/ChilkatSfx.asp
- 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:- Right-click CMD.EXE, and select Run as Administrator.
- 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.
- Run Install CrashPlanPRO.mpkg to test your settings:
- At the command line, type open Install\ CrashPlanPRO.mpkg from /Volumes/CrashPlanPRO/)
- Launch Install CrashPlanPRO.mpkg to test your settings.
- 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) |
|
|
userInfo.sh (Mac only) |
|
|