Notes on Code42 Installs and Uninstalls at NCSU

macOS Information

Uninstalls

GUI Uninstall
Code42 has an uninstall.app hidden in it’s Application Support folder as
/Library/Application\ Support/CrashPlan/Uninstall.app
Running this Uninstall.app does a partial uninstall leaving the identity files behind so an install of the vanillla, unmodified, installer can be used without a deploy.properties file. To do a full uninstall run the Uninstall.app and then Trash the entire folder at /Library/Application\ Support/CrashPlan

Command Line Uninstall
1) keeping identity
/Library/Application\ Support/CrashPlan/Uninstall.app/Contents/Resources/uninstall.sh

2) Full Uninstall destroying identity
/Library/Application\ Support/CrashPlan/Uninstall.app/Contents/Resources/uninstall.sh;/bin/rm -Rf /Library/Application\ Support/CrashPlan

Installs

The install process requires 2 installers a) the vanilla, signed installer for the most recent version of Code42.app as available in the www.crashplan.com web interface under App Downloads in the left side bar, and b) an installer that places the custom deploy.properties in /Library/Application\ Support/CrashPlan. Note that this ONLY works for new clean installs (ie have to do full Uninstall) but avoids repackaging signed and stapled installer from Code42.

The deploy.properties is a configuration file in plain text that has 4 keywords:

a)
DEPLOYMENT_URL=https://www.crashplan.com
This is the secure URI to the cloud web server and the same for all web hosted deployment

b)
DEPLOYMENT_POLICY_TOKEN=xx7ed871-7c9c-4c6a-90c8-b1ed8e1805a1
This is can be  the identifier of one of our two (2) Deployment Deployment Policies:
1) Force SSO Login before Backup
2) NCSU-Silent_DirectoryUser
The deployment Policies are scripts that are stored on www.crashplan.com which run during the intall to set the two (2) required variables:
C42_USERNAME
C42_USER_HOME
These variables are set by the installer and used by the backup engine and the Cod42.app. Both are misleadingly named implying legacy functions that are no longer is accurate.

C42_USERNAME actually sets the username of the user who will own the backup for restoration in the online storage servers. This username must match the NCSU Unity Id (with out “@ncsu.edu”) since the authorization for restore is accomplished with our campus directory. This variable is required during the install phaze so we handle it one of two ways. For the “Force SSO Login before Backup” deployment policy the installer prompts for the Unity Id and then runs Code42.app and prompts for SSO login (which uses the Azure Id form UnityId@ncsu.edu). This may confuse end users being prompted for 2 different forms or the same id in succession but can not be avoided. The deployment policy “NCSU-Silent_DirectoryUser” assumes, with no verification!!, that the local username of the account logged in during the install is an exact match to the Unity Id that will need to own the device backup. This is a huge assumption but is a way a fully silent install and fully automated backup (ie configuration of the Code42 backup engine headless process/service) can be achieved. Use the “NCSU-Silent_DirectoryUser” deployment policy with great care to avoid orphaned backups which can not be restored by the end user!!

C42_USER_HOME sets the directory which should be backed up. This can be changed in the app preferences but we always set it to /Users to make sure we get all user related files on the device since we always deploy “For all Users” not on a per user basis. On multi-user devices this means the first user to install CrashPlan will be able to restore from other user’s directories so beware! Note also that CrashPlan will not make bootable restoration sets so we just concern ourselves with data in /Users not applications, OS components, or global configurations.

c)
CP_SILENT=false
If false will run the Code42CrashPlan.app after the install. If true will NOT run the app

d)
DEVICE_CLOAKED=false
Should always be false. See: https://support.code42.com/Administrator/6/Configuring/Show_or_hide_Code42_app_visibility_on_user_devices

The default installer archives use a deploy.properties file that prompts the end user to provide the username and the prompt to login using SSO before the backup can begin. The custom installers are wrappers around the signed, secure installers that place the deploy.properties file in the correct folder on each platform (Windows, macOS, Linux).  The license installers in the campus approved configuration management systems are created to prompt for SSO login before backing up.