For about 5 years now, I have run a Crashplan ProE (at the time, just Crashplan Pro) server at my office. It ran on a server here in town, then a remote server as well (for offsite backup). This server largely stalled out at version 3.6, and has worked quite well, but had limited storage, so we basically only backed up the bare necessities (Documents and Desktop, no pictures, music, videos, etc). Which, while fine, isn’t exactly what Journalism faculty expect when they generate a lot of photos, videos, etc. =/
However, a couple years ago, central campus had enough pressure to start up its own CrashPlan offering. They chose to utilize CrashPlan’s cloud storage offering, which is great. It meant unlimited storage, at the cost of about $90/user (with up to 5 computers per user).
Now, the problem with all of this was migrating my users from one system to the other. My only thought was to create a pkg (nearly all my users are on Macs) that would do an uninstall, copy the Crashplan installer to another directory, then fire off that installer. But, that seemed ugly. Emailing Code42 (Crashplan’s maker) showed no good solution either. An email to the MacEnterprise list, however, resulted in a great solution. Basically, you just have to stop crashplan (launchctl unload /Library/LaunchDaemons/com.crashplan.engine.plist), nuke the configuration information for the current install (everything in “/Library/Application Support/CrashPlan/conf/”), and the .identity file in “/Library/Application Support/CrashPlan/”. You then drop a custom.properties file (created with the instructions here) into /Library/Application Support/CrashPlan/conf/, and fire CrashPlan back up (launchctl load /Library/LaunchDaemons/com.crashplan.engine.plist). I tried this, and it didn’t work reliably. You had to fire up the CrashPlan app, something I didn’t want to do, to get it to actually start backing up.
So, I few more emails to Code42, and I had a working solution. First, you need to go through the Deployment instructions above to customize the installer dmg. Once that’s done, you can build an installer with Packages (what I use). “Install” that DMG to /tmp on the computer. The rest is done with pre and postflight scripts. The pre-flight uninstalls the previous Crashplan using the uninstaller in /Library/Application Support/CrashPlan. I found that using the uninstaller that ships with 4.x does not fully work with the 3.6 client. So you have to use the one that exists.
The postflight mounts the dmg, runs the installer, then unmounts and deletes the dmg. If you’ve customized the installer correctly, and the user’s shortname matches whatever Crashplan Server knows, things should just start backing up. I was able to deploy this through ARD to 90% of my clients, and the rest were all able to self-install (once I signed up for an Apple Developer account and was able to sign the package).
Here are my pre-flight and postflight scripts. I’ve re-used the simple mount, install, and unmount, and delete part for a printer installer as well.