Skip to main content
Code42 Support

Preparing The CrashPlan App For Deployment

Applies to:
  • CrashPlan PROe

Overview

To apply customized settings to your CrashPlan apps at installation, such as predefining registration keys or enabling single sign-on authentication methods, you can prepare deployment packages for the CrashPlan app. You can also configure your CrashPlan app deployments to apply your organization's branding to your CrashPlan apps. This article explains how to prepare the CrashPlan app for deployment in your Code42 environment.

This article is applicable to Code42 environments using version 4.x of the enterprise server software, including version 3.7.x through version 4.3.x of the CrashPlan app. For other versions, see the article for version 5.x Code42 environments.

Considerations

Our Customer Champions can help you with standard deployment of the CrashPlan app, but custom deployments are beyond the scope of the Customer Champion team. For help with customized installations and deployments (such as using Casper Suite or SCCM), contact sales and work with our PRO Services team.

Step 1: Download The Custom Template

  1. Download our custom content template.
  2. Unzip the file CrashPlanPROe_Custom.zip.
    The custom content template appears in a directory named custom.

customize desktop zipfile expanded

Step 2: Co-Brand Your Installers

Customize The CrashPlan App Text

  1. From within the custom folder, open the custom.properties file using a plain text editor.
    Plain Text Editors 
    Use a plain text editor, such as Vi, VIM, emacs, Text Wrangler, Notepad++, TextMate, etc., to make these changes.
    Word processors, such as Wordpad, Word, Pages, or OpenOffice Writer, can add formatting characters to plain text files and should be avoided.
  2. Within the section listed below, add any attributes that you would like to modify. You can modify any attribute listed in the lang/txt.properties file, installed alongside the CrashPlan app.
    • Windows: C:\Program Files\CrashPlan\lang\txt.properties
      If you installed per user, see the file and folder hierarchy for file locations.
    • OS X/Applications/CrashPlan.app/Contents/Resources/Java/lang/txt.properties
      If you installed per user, see the file and folder hierarchy for file locations.
    • Linux: /usr/local/crashplan/lang/txt.properties
    • Solaris (when installed as root): /opt/sfw/crashplan/lang/txt.properties

Text changes will only affect CrashPlan apps using an English-language locale.

Add your customizations to this section of the custom.properties file:

## Language properties
    
## Specify any properties found in lang/txt.properties
    
## Any properties listed here will override but are English only.

For example, the following properties change the labels of the text fields of the user login screen:

LoginPanel.firstName=First name\:
    
LoginPanel.lastName=Last name\:
    
LoginPanel.password=Password\:

Customized desktop application

Property Default Value Displayed Text
a LoginPanel.firstName First name\: First name:
b LoginPanel.lastName Last name\:
 Last name:
c LoginPanel.password Password\: Password:

For example, you can change the displayed login page labels by adding 'C42' to the firstName, lastName, and password fields as follows:

LoginPanel.firstName=C42 First name\:
    
LoginPanel.lastName=C42 Last name\:
    
LoginPanel.password=C42 Password\:

Customize The CrashPlan App Images

The custom/skin directory contains the images that you can customize or replace with your own images. These are the only images or graphics that can be customized.

Image Description
logo_main.png The logo that is displayed in the upper right corner of the CrashPlan app.
splash_default.png The main splash screen that is displayed when CrashPlan app is launched.
window_bg.jpg The main background image of the CrashPlan app.

Modified images must be saved with filenames, image dimensions, and formats identical to the original. Only images matching the original file's properties are applied during the install process.

An example of a CrashPlan app co-branded with an example logo:

Co-branded desktop application

Step 3: Prepare Your Deployment Properties

Customize CrashPlan app settings by manually editing the custom.properties file included in the custom template.
On OS X, you may choose instead to skip this step and use the custom.sh script in Step 4.

  1. Open custom.properties in a plain text editor.
  2. For each deployment property in custom.properties, set an appropriate value for your Code42 environment.
    Property Name Example Values Notes
    address 192.0.2.100:4282 Your master server's primary network address (hostname or IP address and port).
    secondaryAddress 192.0.2.101:4282 Your master server's secondary network address (hostname or IP address and port).
    hideAddress true or false Set to true to hide the server address field during initial registration. Default is false.
    lockedAddress true or false Set to true to disable editing of the primary and secondary address fields in the CrashPlan app. Default is false.
    registrationKey 4242-4242-4242-4242 Use the registration key specific to the default Organization for new user registration.
    username ${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.
    password Pre-populate the password using one of the following parameters:
    ${computername} Computer name of the device.
    ${generated} Random 8 characters.
    ${uniqueId} A globally unique id, a large number.
    ${deferred}

    LDAP, SSO and auto-register only

    Allows the CrashPlan app to register without providing a password and requires the user to sign into the CrashPlan app the first time it is launched.

    proxy.enable true or false Set to true if you must use a proxy to connect with an enterprise server.
    proxy.pacUrl http://<proxy.example.com>/proxy.pac Requires the URL for a ProxyAutoConfig (PAC) file that is accessible to the client.
    ssoAuth.enabled true or false

    Set to true to enable Single Sign-On (SSO). Default is false.

    If your Code42 environment uses Single Sign On (SSO) to authenticate users, you must enable the property ssoAuth.enabled. Clients installed without this property enabled will not be able to use SSO.

    ssoAuth.required true or false Enable to require login only through Single Sign-On (SSO) and hide the "Login with SSO" button. Requires ssoAuth.enabled. Default is false.
    ssoAuth.provider A label for your SSO provider (label). Name of the Single Sign-On (SSO) identity provider. Requires ssoAuth.enabled. Default is Shibboleth. This value is user-facing.
  3. Save your changes.

Step 4: Generate Your Installers For Deployment

After preparing your deployment properties in a custom.properties file, create deployment installers in one of two ways:

  • (OS X only) Automatically create custom installers with a shell script.
  • Manually create custom installers.

Option 1: Custom Configuration Script

OS X Only
The custom configuration script is for OS X devices only. On Windows or Linux devices, you must use Option 2: Manually Create Custom Installers.

The custom.sh script, included in the custom template, creates a custom.properties file and generates installers for all operating systems. You can view the full options of the customization script by running custom.sh -h.

Run The Script

  1. Open Terminal.
  2. Navigate to the directory containing custom.sh.
    Example: cd /Users/admin/custom.sh
  3. Run the following command:
    ./custom.sh
  4. Review the default settings in the script. At the end, a prompt is displayed:
    Change settings  (yes, no, or revert) [no]?
    
  5. Enter yes.
  6. Follow the prompts in the script to configure each customizable setting.
    • You are prompted for values for all of the settings that can be customized.
    • The current settings, if not null, are displayed between square brackets.
    • Press Enter to accept the current setting for each prompted item.
  7. After configuring all the customizable settings, a prompt is displayed:
    Change settings  (yes, no, or revert) [no]?
    
  8. Enter no in order to continue with the settings you have selected.
  9. When prompted, enter the URL of your master server:
    CrashPlan PROe server url (Example: http://proe:4280)?
    
  10. Press Enter to run the customization script.

Review Script Results

The script automatically performs the following steps:

  • Downloads the installers for OS X, Windows, and Linux.
  • Applies the configurations in your custom directory.
  • Creates custom installers according to your configured settings, and places them in the custom directory.

Option 2: Manually Create Custom Installers

After customizing the contents of the custom template folder, you can add the custom folder to an installer to create a custom installation package. On Windows and Linux devices, manually adding the custom folder to an installer to create a custom installer is required.

Manual Customization For OS X

  1. Download the OS X installer from your master server or from your administration console.
    Example URL: https://192.0.2.100/download/CrashPlanPROe_Mac.dmg
  2. Mount the installer (DMG file).
  3. Create a folder called .Custom in the DMG.
    Example: mkdir /Volumes/CrashPlanPROe/.Custom
  4. Copy the contents of your custom folder to the new .Custom folder.
  5. Unmount the DMG.

Use this DMG to deploy your custom installer.

Manual Customization For Windows

  1. Download the Windows installer from your master server or from your administration console:
    Example URL: https://192.0.2.100/download/<filename>
    • 64-bit EXE: CrashPlanPROe-x64_Win.exe
    • 32-bit EXE: CrashPlanPROe_Win.exe
    • 64-bit MSI: CrashPlanPROe-x64_Win.msi
    • 32-bit MSI: CrashPlanPROe_Win.msi
  2. Create a new directory for your installer (such as CrashPlan_Install).
  3. Copy your custom directory, including its contents, and the CrashPlan PROe installer to this directory.
    Custom Install Directory for Windows
  4. Right-click the installer directory and select Send to > Compressed (zipped) folder.

Use this ZIP folder to deploy your custom installer.

Manual Customization For Linux

  1. Download the Linux installer from your master server or from your administration console.
    Example: https://192.0.2.100/download/CrashPlanPROe_Linux.tgz
  2. Unpackage the installer tarball:
    tar -xzvf CrashPlanPROe_Linux.tgz CrashPlanPROe-install
  3. Copy your custom directory to the unpackaged directory (by default, CrashPlanPROe-install):
    cp -r custom CrashPlanPROe-install
  4. Repackage the installer tarball:
    tar -czvf CrashPlan_Linux.tgz CrashPlanPROe-install

Use this tarball to deploy your custom installer.

Step 5: Deploy The CrashPlan App

After packaging your custom installers, deploy them to the devices in your Code42 environment.

By default, CrashPlan PROe sets the backup user account and home path as the user that initiated the install. When installing the CrashPlan app with a software management tool, you must specify the correct username and home path when the installer runs.

Deployment On Windows Devices

Set the following variables as command-line options in a batch or PowerShell script that passes those values to the CrashPlan app installer:

Variable Description
CP_SILENT Possible values: true or false. Set to true if you don't want the desktop to start up immediately after installation
CP_USER_HOME Allows the CrashPlan desktop to start scanning the user's home folder immediately after installation
CP_USER_NAME This becomes the unique ID for the user in the PROe Server database. Leave CP_USER_NAME blank to require the user to enter it. If setting this value, set the username attribute in the ‘custom.properties’ file to:
username=${username}
CP_REG_KEY
Optional

Allows the registration key to be automatically set. E.g., CP_REG_KEY= AAAA-BBBB-CCCC-DDDD

This variable is used only if a registration key is not provided in the custom.properties file.

Deployment On OS X Devices

Specify the installer's runtime behavior in the file userInfo.sh, found in the custom template:

Variable Description
startDesktop Possible values: true or false. Set to false if you don't want the desktop to start up immediately after installation. The default value is true.
CP_USER_HOME Allows the desktop application to start scanning the user's home folder immediately after installation.
user Used to properly set file permissions.
userGroup Also used for file permissions.
CP_USER_NAME This becomes the unique ID for the user in the enterprise server database. Leave CP_USER_NAME blank to require the user to enter it. If setting this value, set the username attribute in the ‘custom.properties’ file to:
username=${username}

Deployment On Linux Devices

When installing on a Linux device without a GUI, a username and password must be specified within the 'custom.properties' file prior to installation.

Additional Resources

Deploying For Per-User Installations

To install separate instances of the CrashPlan app on a single device, perform a per-user installation.

Per-User Installation On Windows Devices

Run your installer from your software management tool using the following example parameters:

msiexec /i "<path_to_known_location>\<CrashPlan_version>.msi" /qn ALLUSERS=2 MSIINSTALLPERUSER=1 INSTALL_PER_USER=1 CP_SILENT=true /log install_log.txt
Parameter Purpose
msiexec /i Allows the use of Windows Installer from the command line.
<path_to_known_location>
 

The full directory path to the installer file.

Examples: 

  • C:\Users\James\Desktop
  • D:\Downloads
<CrashPlan_version>

Replace with the file name and version of the MSI installer for your version of CrashPlan.

Examples: 

  • CrashPlanPROe-x64_4.3.5_Win
  • CrashPlanPROe-x86_4.3.5_Win
/qn Specifies a silent installation.
ALLUSERS=2 MSIINSTALLPERUSER=1 INSTALL_PER_USER=1 Specifies the per-user installation context.
CP_SILENT=true Prevents the CrashPlan app from opening on the device after installation is complete.
/log install_log.txt Creates an installation log for a given file name.

 

Per-User Installation On OS X Devices

The customized DMG file for OS X contains a installer, which is a PKG file. Run the PKG file from your software management tool using the following example parameters:

installer -pkg "<path_to_known_location>/<CrashPlan_version>.pkg" -target CurrentUserHomeDirectory
Parameter Purpose
installer -pkg Allows OS X installer packages to be run from the command line.
<path_to_known_location>

The full directory path to the installer file.
Do not use the tilde character to enter a relative path.

Examples:

  • /Users/James/Desktop
  • /Users/Blaine/Downloads
<CrashPlan_version>

Replace with the file name and version of the package (PKG) file installer for your version of CrashPlan.

Example: Install CrashPlan PROe

-target CurrentUserHomeDirectory Specifies the per-user installation context.
CurrentUserHomeDirectory is an OS X domain, not an example. Do not replace this text with a path or folder on your device.

Revising Custom Installers

You can make changes to your custom installers without rebuilding them from scratch. Simply run the custom.sh script again to modify your previous settings.

When you run the custom.sh script from the same directory, it will display the current settings. For example:

mycomputer:custom jdoe$ ./custom.sh

=====================================================
  Please review your customization settings below:

address=proe-master.example.com:4282
secondaryAddress=192.0.2.50
hideAddress=false
lockedAddress=true
registrationKey=AAAA-BBBB-CCCC-DDDD
username=${username}
password=
proxy.enable=false
proxy.pacUrl=test
ssoAuth.enabled=true
ssoAuth.required=false
ssoAuth.provider=Shibboleth
LoginPanel.firstName=Surname\:


Change settings  (yes, no, or revert) [no]?

Custom Script Reference

Below is a sample of the output of running custom.sh -h:

HELP - true

Usage: ./custom.sh [option]

Options:
   -? : This usage information
   -c : Clean or delete any existing previously downloaded installers.
   -h : This usage information
   -i {include}   : Include the given process - see include options below
   -o {option}    : OS options - see OS options below
   -u {url}       : CrashPlan PROe server URL to download client installers from. i.e. http://proe:4280
   -x {exclude}   : Exclude the given process - see exclude options below

OS Options:  (only build for this OS)
   -o win         : Build the Windows customized zip
   -o mac         : Customize the Mac installer
   -o linux       : Customize the Linux installer

Include Options:  (these are typically not included)
   -i x64         : Also build Windows 64-bit customized zip
   -i msi         : Also build Windows MSI customized zip

Exclude Options:
   -x win         : Do not build the Windows customized zip
   -x mac         : Do not customize Mac installer
   -x linux       : Do not customize Linux installer

Windows Batch Script Example

This script is an example and is not guaranteed or supported.

@ECHO OFF

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

REM The users home directory, used in backup selection path variables.
SET CP_USER_HOME=%USERPROFILE%
Echo UserHome: %CP_USER_HOME%

REM Set the registration key (used only if the registration key is not given in custom.properties)
SET CP_REG_KEY=AAAA-BBBB-CCCC-DDDD
Echo RegKey: %CP_REG_KEY%

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%&CP_REG_KEY=%CP_REG_KEY%"
Echo Arguments: %CP_ARGS%

REM You can use any of the msiexec command-line options.
ECHO Installing CrashPlan...
"%~dp0Code42CrashPlan-x64_Win.msi" /qn /l* install.log CP_ARGS=%CP_ARGS% CP_SILENT=%CP_SILENT%