Customizing the CrashPlan PRO Install

Overview

This article describes how to create CrashPlan PRO Client installers in which you can pass along specific settings and authentication parameters as part of the installation process.

It also covers how to make additional changes to application's name and appearance to co-brand your backup solution.

Note: You can create installers without co-branding. If you decide, however, to co-brand CrashPlan PRO, creating custom installers is the best way to roll out a co-branded version of CrashPlan.

Why Create Your Own Installers

  • Customizing the installer with client settings saves you the inconvenience of manually making client login selections on each client. It is the fastest way to pass along client login selections consistently and reliably across the organization.
  • If you are deploying backup as part of an IT initiative for your company, co-branding is a great way to integrate the CrashPlan PRO solution as part of an IT service offering.
  • Co-branding is also perfect for service providers using CrashPlan PRO as their backup solution. By co-branding PRO Client, you can extend your brand to your customer's desktop.

Considerations

  • Customizing your CrashPlan PRO deployment for the purpose of streamlining the installation process means planning your deployment, editing files that determine how CrashPlan PRO will run on client machines and careful testing. It requires attention to detail and a commitment of time and effort more akin to development than simply specifying settings in the admin console.
  • When changing the appearance of the client, we make a distinction between co-branding and private label changes:
    • Co-branding the PRO Client means you can re-package the PRO Client to include your brand alongside CrashPlan's brand. You can customize the client's graphics, text and parameters at no additional cost.
    • Private label (or OEM) branding options such a branded installer or the license agreement are outside the scope of this article. If you're interested in creating a private label version of CrashPlan PRO and have a customer base of about 10,000 or more, please contact us at sales@crashplan.com.
  • Any components not covered in this article are considered Private Label customization, for which you need to contact us.

What You Can Customize

What You Can't...

Anything not covered in this article. In particular you cannot modify the installer in any way, nor can you change the application icons (e.g Dock, System Tray). The original license agreement must be displayed in full.

How It Works - 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.

At a high level, 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
PropertyDescription
config.servicePeerConfig.authorityBy 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

AttributesDescription
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

ParameterDescription
${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}"/>

Changing CrashPlan PRO's Appearance (Co-branding)

This information pertains to editing the installer for co-branding. Skip this section if you are not co-branding your CrashPlan PRO.

Co-Branding: Changing the Skin and Images Contents

You can modify any of the images that appear in the PRO Server admin console as well as those that appear in the email header. Here are the graphics you may substitute:

.Custom/skin folder contents
Filename Description
logo_splash.png splash screen logo
splash.pngtransparent splash background (Windows XP only)
splash_default.pngsplash background, must NOT be transparent (Windows Vista, Mac, Linux, Solaris, etc.)
logo_main.pngmain application logo that appears on the upper right of the desktop
window_bg.jpgmain application background
icon_app_128x128.png
icon_app_64x64.png
icon_app_32x32.png
icon_app_16x16.png
icons that appear on desktop, customizable with Private Label agreement only

View examples

  1. In the Custom/skin folder, locate the image you wish to replace.
  2. Create another image that is the same size with your logo on it.
    For best results, we recommend using the same dimensions as the graphics files we've supplied.
  3. Place your customized version into the Content-custom folder you created.
    Make sure not to change the filename or folder structure, so that CrashPlan PRO will be able to find the file.

Co-Branding: Editing the Text Properties File

You can change the text that appears as the application name or product name in CrashPlan PRO Client. Make your changes in the txt_<LOCALE>.properties files in the Custom/lang folder.

  • The txt.properties file is English and is the default language.
  • Each file contains the text for a language. Please refer to the Internationalization document from Sun for details (http://java.sun.com/developer/technicalArticles/J2SE/locale/).
  • The language is identified in the comments at the beginning of the file.
  • When you change the application or product name, keep in mind that using very long names could affect the flow / layout of the text in a window or message box.
Text Property Description
Product.B42_PRO The name of the product as it would appear on the Settings > Account page, such as CrashPlan PRO
application.name The application name appears in error messages, instructions, descriptions throughout the UI.

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
    • 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
    • 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 the PRO Server Admin Console

You can also change the appearance of the PRO Server admin console and email headers and footers.

In the ./content/Manage, locate the images and macros you wish to modify and copy them into ./content-custom/Manage-custom using the same sub-folder and file names as the originals. Placing them there protects your changes from being wiped during the next upgrade.

Our HTML macros are written with Apache Velocity. If your site stops working after you've changed a macro, delete or move the customized version to get it working again.

Location of Key PRO Server Files

These locations may change in a future release so you will be responsible to move your customized versions to keep your images working.

  • CrashPlanPRO/images/login_background.jpg
  • CrashPlanPRO/images/header_background.gif
  • CrashPlanPRO/styles/main_override.css
  • macros/cppStartHeader.vm ++ (see below)
  • macros/cppFooterDiv.vm ++ (see below)

Email images are:

  • content/Default/emails/images/header/proserver_banner.gif
  • content/Default/emails/images/header/proserver_banner_backup_report.gif

++ These files are web macros. You'll need to update these in place instead of copying them to the custom folder. They won't work under the custom folder. Remember that our upgrade process will overwrite your changes.

Customizing Reports and Alerts

branding_and_customization.txt · Last modified: 2011/06/15 12:55 (external edit)