Skip to main content
Code42 Support

Prepare the Code42 app for deployment

Applies to:
  • Code42 CrashPlan (previously CrashPlan PROe)

Overview

To apply deployment settings to your Code42 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 installers to apply your organization's branding to your CrashPlan apps.

This article applies to Code42 environments using version 5.x and later of the Code42 server software, and version 4.4.x and later or version 5.2.x and later of the CrashPlan app.

Considerations

Our Customer Champions can help you with standard deployment of the CrashPlan app, but custom installations 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 to work with our PRO Services team.

Step 1: Download files

Download standard installer files for CrashPlan apps and a custom template file:

  1. Sign on to your administration console
  2. Download CrashPlan app installer files from App Downloads.
  3. Download custom template files from your master server:
    Save the template files to the same directory as the installers you downloaded above.
    • For CrashPlan apps version 4.x:
      https://master-server.example.com:4285/download/CrashPlanPROe_Custom.zip
    • For CrashPlan apps version 5.2.x and later:
      https://master-server.example.com:4285/download/Code42CrashPlan_Custom.zip
  4. Unzip the custom template.
    The custom content template appears in a directory named CrashPlanPROe_Custom (version 4.x and earlier) or Code42CrashPlan_Custom (version 5.x and later).
  5. Your files *.msi, *.dmg, *.tgz and *_Custom are all siblings.

Custom directory

Step 2: Co-brand installers

Optionally, you can co-brand your custom installers to use your organization's branding. Follow the instructions below for one or both versions of the CrashPlan app:

Co-brand version 4.x CrashPlan apps

In version 4.x of the CrashPlan app, you can replace standard images and text with your own.

Customize images

In the directory *_Custom/example_skin, replace the images with your own images.

  • Modified images must be saved with filenames, formats, and image dimensions identical to the originals:
    • logo_main.png, 436 pixels wide by 45 pixels high
    • splash_default.png, 540 pixels wide by 330 pixels high
    • window_bg.jpg, 1508 pixels wide by 1142 pixels high
  • Only images matching the original file's properties are applied during the install process.
  • These are the only images in the CrashPlan app 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.

Customized version 4.x CrashPlan app

Customize text

  1. With a plain text editor, edit the file *_Custom/custom.properties.
    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. Locate the line labeled ## Language Properties.
  3. Below that line, add key/value pairs for each item of text you want to customize.
    • You can customize any text item listed in the lang/txt.properties file, which is 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
    • Text customizations apply only to CrashPlan apps using an English-language locale.
    • For example, add the following properties to change the labels of the text fields of the user login screen:
      LoginPanel.firstName=Your First Name
      LoginPanel.lastName=Your Last Name???
      LoginPanel.password=Your CrashPlan Password
      
Custom text persists
Custom text installed by Code42 CrashPlan is not overwritten by any subsequent installs or upgrades. To remove custom text, perform a complete uninstall and reinstall.

Co-brand version 5.x CrashPlan apps

In version 5.2.x and later of the CrashPlan app, you can display your organization's logo alongside the standard Code42 branding.
CrashPlan app version 5.2 with a customized sign-in screen

  1. In the custom directory, create two new subdirectories:
    • *_Custom/skin
    • *_Custom/skin/co-branding
Verify folder permissions
Verify that the skin folder and its contents have read and execute (755) permissions.
  1. Create custom images for your organization's logo.
    • Example images are included in *_Custom/example_skin.
    • Create images with the attributes listed below.
    • Save your images to *_Custom/skin/co-branding

5.x co-branding /skin/ directory

File Name Supported File Types Maximum Supported Image Dimensions Description
about
  • PNG
  • JPG
  • JPEG
  • GIF

Height: 36 pixels

Width: 242 pixels

Displayed on the About screen of the CrashPlan app
login
  • PNG
  • JPG
  • JPEG
  • GIF

Height: 37 pixels

Width: any pixels

Displayed on the sign-in screen of the CrashPlan app
splash
  • PNG
  • JPG
  • JPEG
  • GIF

Height: 285 pixels

Width: 238 pixels

Displayed when the CrashPlan app opens

Step 3: Configure installer properties

Define how your installers behave and how they connect to your server. Use a plain-text editor to edit the file *_Custom/custom.properties.

For installers to deploy to OS X systems, optionally also edit *_Custom/userInfo.sh

Edit custom.properties

Property Name Example Values Description
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).
CrashPlan app uses port number plus 5
To take advantage of TLS security, CrashPlan apps version 5.4 add 5 to whatever port number you define in custom.properties. The port number 4282 shown above causes a 5.4 app to use port 4287. It will use port 4282 only as a fallback. TLS communication is the default for version 5.4 Code42 servers and CrashPlan apps. Earlier 5.x CrashPlan apps do not add to the configured port number this way.
Property Name Example Values Description
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 your organization for new user registration.
username ${username}

When the CrashPlan app first launches, it tries to read the username from one of three sources:

  • a command-line argument CP_USER_NAME
  • an environment variable CP_USER_NAME
  • a Java system property user.name
password Pre-populate the password using one of the following parameters, or insert a literal password for local (not LDAP or SSO) accounts.
${computername} Computer name of the device.
${generated} Random 8 characters.
${uniqueId} A globally unique ID, a large number.
${deferred}

LDAP and SSO auto-register only

Allows the CrashPlan app to register with the server without providing a password. Requires the user to sign in the first time the CrashPlan app interface runs.

proxy.enable true or false Set to true if your CrashPlan app must use a proxy to connect with your Code42 servers. Default is false.
proxy.pacUrl http://<proxy.example.com>/proxy.pac The URL of 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 Set to true to require login through single sign-on (SSO) and to hide the "Login with SSO" button. Requires ssoAuth.enabled. Default is false.
 

Edit userinfo.sh

On OS X, the CrashPlan app install process identifies startup behavior, home directory, and user name, and user file permissions by running unserInfo.sh.

Specify the installer's runtime behavior in the file userInfo.sh.

Variable

Default Values Description
startDesktop

true

If false, the CrashPlan app does not display after installation.
CP_USER_HOME $HOME The user's home directory. The CrashPlan app scans and backs up this directory immediately after installation.
user the last directory name in $HOME Used to properly set file permissions. Comments in the file describe other methods for identifying an endpoint's user.
userGroup id -gn "$user" Used to properly set file permissions.
CP_USER_NAME $user

Specifies the username in your Code42 environment.

  • If you leave CP_USER_NAME blank, the CrashPlan app prompts the user to enter it after installation.
  • If you set this value, you must also set the username attribute in the custom.properties file to:
    username=${username}

Step 4: Package installers

Combine the standard CrashPlan app install files (*.msi, *.dmg, and *.tgz) with your *_Custom directory to create the custom installers for deployment to user endpoints. You have two options. Use whichever is convenient, given your operating system and environment.

Working on OS X, create installers for
Windows, OS X, and Linux.

Working on Linux, create installers for Windows, Linux.

Working on Windows, create installers for Windows.

Working on OS X, create installers for OS X.

Working on Linux, create installers for Linux.

Option 1: Use the custom.sh script

Run the custom.sh script on OS X or Linux systems to create custom CrashPlan app installers for Windows, OS X, and Linux systems.

By default, the script attempts to package installers for Windows, OS X, and Linux. To control that behavior, use the following options. To see this list in your command terminal, type ./custom.sh -h.

OS Options:  (only build for this OS)
   -o win         : Build the Windows 32 and 64-bit MSI customized zips
   -o mac         : Customize the Mac installer
   -o linux       : Customize the Linux installer
 
Exclude Options:
   -x win         : Do not build the Windows 32 and 64-bit MSI customized zips
   -x mac         : Do not customize Mac installer
   -x linux       : Do not customize Linux installer
  1. Move your standard CrashPlan app installer files into your *_Custom directory.
  2. In a command-line terminal, navigate to the *_Custom directory.
  3. Make sure the custom.sh file is executable:
    chmod +x custom.sh
  4. Run the script:
    ./custom.sh
  5. The script lists the installer properties, then prompts you:
Change settings (yes, no, or reset) [no]?
  • yes: The script prompts you again for each property, one at a time, so that you can change the values.
    yes: Existing values display between square brackets. To accept any value without change, press Enter.
  • no: The script proceeds with the properties as listed.
  • reset: Return the properties to their default values (versions 5.3 and earlier say revert).
  1. To change the properties, run the script again at any time: ./custom.sh.
  2. The script creates new installer files for you to deploy:
    • *.zip is for Windows
    • *.dmg is for OS X
    • *.tgz is for Linux.

You are finished. Do not follow any more of the procedures in this article.

Option 2: Manually package installers

Create *.zip, *.dmg, and *.tgz files for deployment as follows:

Package installers for Windows

  1. Rename the *_Custom directory to custom.
  2. Select the custom directory and a *.msi file.
  3. Right-click to select Send to > Compressed (zipped) folder.

Package installers for Windows

Package installers for OS X

  1. Double-click the *.dmg installer file. volume icon
    The file mounts. A new icon appears on your desktop to represent the Code42CrashPlan volume.
  2. Open a command line terminal.
  3. Find and note the full path of your *_Custom directory.
  4. Go to /Volumes:
    cd /Volumes
  5. Open the directory that has the name of the *.dmg file, for example
    cd Code42CrashPlan
  6. Copy your *_Custom directory into the current directory, and name it .Custom
    cp -r /Users/<userName>/<path>/<filename>_Custom ./.Custom
  7. Close the terminal window.
  8. Right-click on the *.dmg icon and select Eject.
$ cd /Volumes
$ ls -al
Code42CrashPlan 
Macintosh HD
$ cd Code42CrashPlan
$ cp -r /Users/<yourname>/<path>/<name>_Custom ./.Custom
$ ls -al
.Custom 
Install Code42 CrashPlan.pkg 
Uninstall.app

Package installers for Linux

  1. Find and note the full path of your *_Custom directory.
  2. Unpack the *.tgz:
    The result is a new directory crashplan-install/.
    tar -xzvf<filename>_Linux.tgz
  3. Copy your *_Custom directory into that new directory, and name it .Custom:
    cp -r <path>/<filename>_Custom crashplan-install/.Custom
  4. Repackage the *.tgz file:
    tar -czvf -mode=rwx <filename>_Linux.tgz crashplan-install/

Step 5: Deploy installers

After packaging your custom installers according to Option 2 above, deploy the resulting *.zip, *.dmg, and *.tgz files to the devices in your Code42 environment.

When the CrashPlan app deploys at an endpoint device, your software management tool and further scripting can control whether the CrashPlan app opens on the desktop, and control its username and home directory, as described below.

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 Example Values Description
CP_SILENT true or false
Default is false
If true, the CrashPlan app does not display after installation.
CP_USER_HOME C:\Users\username Specifies the user's home directory. The CrashPlan app scans and backs up this directory immediately after installation.
CP_USER_NAME username

Specifies the username in your Code42 environment.

  • If you leave CP_USER_NAME blank, the CrashPlan app prompts the user to enter it after installation.
  • If you set this value, you must also set the username attribute in the custom.properties file to:
    username=${username}
CP_REG_KEY
Optional
AAAA-BBBB-CCCC-DDDD

The registration key for an organization in your Code42 environment.

Use this variable only if the custom.properties file does not provide a registration key.

Example deployment script for Windows

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

@ECHO OFF

REM Script grabs currently logged in user and user home; installs silently. Compatible with running the installer as administrator or another user.

REM Determine which user lauched explorer.exe, presumes that this is a domain account user
for /f "TOKENS=1,2,*" %%a in ('%systemroot%\system32\tasklist.exe /FI "IMAGENAME eq explorer.exe" /FI "STATUS eq running" /FO LIST /V') do if /i "%%a %%b"=="User Name:" set _currdomain_user=%%c
REM in the case of no domain account, change "currdomain_user" to "curruser", otherwise you need the line, below, to trim out the domain and wind up with "curruser"
for /f "TOKENS=1,2 DELIMS=\" %%a in ("%_currdomain_user%") do set _currdomain=%%a & set _curruser=%%b

SET CP_USER_NAME=%_curruser%
ECHO UserName: %CP_USER_NAME%
REM The user's home directory (Windows Vista and newer), used in backup selection path variables.
SET CP_USER_HOME=C:\Users\%_curruser%
 
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 64-bit Windows installer. You can use any of the msiexec command-line options.
ECHO Installing CrashPlan...
"%~dp0Code42CrashPlan.msi" /qn /l* install.log CP_ARGS=%CP_ARGS% CP_SILENT=%CP_SILENT%

To install the CrashPlan app for a single user, rather than all users of the device, add three options to the final line of the script:

ALLUSERS=2 MSIINSTALLPERUSER=1 INSTALL_PER_USER=1

Deployment on OS X devices

To install the Code42 app for a single user, rather than all users of the device, use the -target option in the install command:

installer -pkg <path>/<filename>.pkg -target CurrentUserHomeDirectory

Deployment on Linux devices

On Linux systems, control deployment by changing the .Custom/custom.properties before running the install script.