Preparing The CrashPlan App For Deployment
Who is this article for?
Incydr, no.
CrashPlan for Enterprise, no.
Code42 for Enterprise, yes.
CrashPlan for Small Business, yes.
This article applies to on-premises authority server version 3.
Overview
You can prepare deployment packages for the CrashPlan app in order to apply customized images or settings to your environment's CrashPlan apps at installation. For example, you might co-brand the CrashPlan app by adding your own graphics, or you could automatically set the IP address of the master server. This article explains the specific elements that can be customized, and how to enable the customizations. Only the elements described in this article are customizable.
This article is applicable to Code42 environments using version 3.x of the enterprise server software, including version 3.6.x and earlier of the CrashPlan app. For later versions, see the articles for version 4.x or version 5.x Code42 environments.
Considerations
- Customizing the CrashPlan app requires CrashPlan PROe 3.3 or later.
- Devices must meet the CrashPlan app system requirements.
- Our Customer Champions can assist you with customizations to the CrashPlan app, but assistance with software deployment of the CrashPlan app (such as use of Casper Suite or SCCM) is beyond the support scope of our Customer Champion team. For assistance with deployment, please contact sales to engage our PRO Services team.
Step 1: Download custom template folder
Download the custom content template from your master server:
http://master-server.example.com:4280/download/CrashPlanPROe_Custom.zip
Once you have downloaded the file CrashPlanPROe_Custom.zip, move the file to a convenient location and unzip the file:
A folder with the name custom will appear in same directory as the file CrashPlanPROe_Custom.zip.
Step 2: Prepare customized content
You can use the downloaded custom template to customize one or more of these areas of the CrashPlan app:
- Application text values (e.g., text field labels, error messages, etc.)
- Application images and logos
- General configuration and connection information
Customize the CrashPlan app text
- 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. - 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
- Windows: C:\Program Files\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\:
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:
Customize configuration settings
You can customize CrashPlan app settings, such as setting the primary network address of the enterprise server, pre-populating a registration key, or configuring Single Sign-On (SSO), by creating a custom.properties file specific to your Code42 environment. For Mac OS X only, Code42 provides a shell script to assist you in creating a custom.properties file; for Windows and Linux environments, you will need to edit the custom.properties file manually.
Before running customizing configuration settings in your Code42 environment, familiarize yourself with the available custom properties:
Custom properties
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 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 If your Code42 environment uses Single Sign On (SSO) to authenticate users, you must enable the property |
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. |
Step 3: Generate installers
After preparing your custom content, you are ready to create customized installers for your devices. There are two ways to create installers:
- (OS X only) Automatically create custom installers with a shell script
- Manually create custom installers
Option 1: Custom configuration script
The instructions in this section apply only to CrashPlan PROe private cloud environments using OS X master servers. For Windows or Linux master servers, use Option 2: Manually Create Custom Installers.
Code42 provides a customization script for use on OS X. You can view the full options of the customization script by running custom.sh -h
.
Run the script
To run the custom.sh script:
- Open the Terminal app
- Navigate to the directory containing custom.sh. Example:
cd /Users/admin/custom.sh
- Run the following command:
./custom.sh
- Review the current (default) settings in the script. At the end, the script shows a prompt:
Change settings (yes, no, or revert) [no]?
- Enter
yes
- Follow the prompts in the script to configure each customizable setting
- You will be 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
- After configuring all the customizable settings, the script shows a prompt:
Change settings (yes, no, or revert) [no]?
- Enter
no
- When prompted, enter the URL of your master server:
CrashPlan PROe server url (Example: http://proe:4280)?
- Press Enter to run the customization script
Review script results
The script will automatically perform the following steps:
- Download the installers for OS X, Windows, and Linux
- Apply the configurations in your custom directory
- Create custom installers according to your configured settings, and place them in the custom directory:
Revise custom installers (optional)
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]?
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. Manually adding the custom folder is required on Windows and Linux devices, because the provided custom.sh script is designed only for OS X.
Manual customization for OS X
- Download the Mac installer from your master server or from your Code42 console
Example URL:https://master-server.example.com:4285/download/CrashPlanPROe_Mac.dmg
- Mount the installer (DMG file)
- Create a folder called .Custom in the DMG
Example terminal command:
mkdir /Volumes/CrashPlanPROe/.Custom
- Copy the contents of your custom folder to the new .Custom folder
- Unmount the DMG
Use this DMG to deploy your custom installer.
Manual customization for Windows
- Download the Windows installer from your master server or from your Code42 console:
Example URL:https://master-server.example.com:4285/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
- Create a new directory for your installer (such as CrashPlan_Install)
- Copy your custom directory, including its contents, and the CrashPlan PROe installer to this directory
Example directory:
- 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
- Download the Linux installer from your master server or from your Code42 console
Example:https://master-server.example.com:4285/download/CrashPlanPROe_Linux.tgz
- Unpackage the installer tarball:
tar -xzvf CrashPlanPROe_Linux.tgz CrashPlanPROe-install
- Copy your custom directory to the unpackaged directory (by default, CrashPlanPROe-install)
cp -r custom CrashPlanPROe-install
- Repackage the installer tarball:
tar -czvf CrashPlan_Linux.tgz CrashPlanPROe-install
Use this tarball to deploy your custom installer.
Step 4: Deploy custom installers
After packaging your custom installers, you are ready to deploy them to the devices in your Code42 environment.
One option, described here, is to place the custom installers on your master server. Your devices can then download the custom installers over your network. You may also add your custom installers to a software distribution tool, or simply copy the custom installers directly to your devices.
If you are installing the CrashPlan app with a software management tool or using a separate administrative user, you may need to specify the correct username and home path during the installation process. By default, CrashPlan PROe sets the backup user owner and home path as the user that initiated the install. For assistance with advanced scripting to modify this behavior (a billable service), please contact sales.
Place custom installers on your Master server
Copy your custom installers from their current location to a download
folder on your master server. The location of this folder varies based on the operating system of your master server.
If the download
folder does not exist on your master server, create it.
- Linux: /opt/proserver/content-custom/Default-custom/download/
Applies to enterprise servers installed as root on Ubuntu - Windows: C:\Program Files\CrashPlan PROe Server\content\Default-custom\download\
- OS X: /Applications/PROServer.app/Contents/Resources/Java/content-custom/Default-custom/download/
- Solaris: /opt/proserver/content-custom/Default-custom/download/
Download custom installers on devices
You can download and install the custom installers from your master server to your devices by signing into the Code42 console and selecting the appropriate platform from the welcome screen.
Because the Windows links download EXEs, Windows users cannot download your custom installation package from the welcome screen. Provide direct links for Windows users instead, or distribute your custom installation package in another way.
Advanced topics
Mac
If you are installing the CrashPlan app with a software management tool, or installing as a user other than the device owner or end user, you may need to specify the correct username and home path during the installation process. By default, CrashPlan PROe sets the backup user owner and home path as the user that initiated the install. Additional scripting is required to modify this behavior. For assistance with advanced scripting (a billable service), please contact sales.
Specify User & Home Directory
Using a text editor, edit the file 'userInfo.sh' located within the directory 'custom' you created during the customization process above. Set the following variables:
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} |
Windows
If you are installing the CrashPlan app with a software management tool, or installing as a user other than the device owner or end user, you may need to specify the correct username and home path during the installation process. By default, CrashPlan PROe sets the backup user owner and home path as the user that initiated the install. Additional scripting is required to modify this behavior. For assistance with advanced scripting (a billable service), please contact sales.
Specify User & Home Directory
For automated or silent installation using third party management tools, an advanced script may be required.
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 | Allows the registration key to be automatically set. E.g., CP_REG_KEY= AAAA-BBBB-CCCC-DDDD |
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 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... CrashPlanPROe-x64_Win.exe /qn /l* install.log CP_ARGS=%CP_ARGS% CP_SILENT=%CP_SILENT%
Linux
When installing on a Linux device without a GUI, a username and password must be specified within the 'custom.properties' file prior to installation.
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