Branding Self Service


When we first started using Casper earlier this year, my boss asked me if it possible to "brand" Self Service. I dug into JSS and was able to customize the icons and rename the app to 3Ci Self Service. Now that we've upgraded to version 9.2, the branded version of Self Service remains at 8.62. Is there a way within JSS to brand Self Service so subsequent updates will retain our logo, etc?





Probably not as the app is usually updated together with the JSS. You would need to download the latest version, re-brand and deploy to your clients via a Policy etc. The same applies if you are branding the Self Service login window by replacing the login.png file.

You could avoid this on the iOS side of things if you deploy Self Service as a Web Clip with a custom icon. In this case you would only need to replace the login window background .jpg and/or .png files in the JSS every time you update it.

Hope this helps.

New Contributor

I've just dug around a bit on this myself.
Please note my scope is just OSX computers, I do not currently manage iOS devices.

The naming of the app is as simple as changing the path in Management Settings -> Self Service.
It will show "/Applications/Self"
To change the name of the app file itself, its literally as easy as changing that path to something like
"/Applications/Self Help"
Upon recon/check-in, the app will get renamed on the machine.

For icons, you can change it internally in the app itself (in the server's configuration files), but it will likely get overwritten by the stock app when you do a JSS upgrade.
Here are instructions provided by JAMF:

Instructions for changing logos...
What you will need: iOQHajPxxdRwttJ3AROR Step 1. Acquire login screen template (attached to this email as login.png) and modify to your liking using the image editing software of your choice. The file must remain named login.png Step 2. Copy final login.png file to the following directories on the JSS: /Library/JSS/Tomcat/webapps/ROOT/images/selfservice2/login_files /Library/JSS/Tomcat/webapps/ROOT/images/selfservice Step 3. In the JSS web app go to Settings>Computer Management Framework Settings>Self Service tab and click the “download the Self Service application here.” Link. Once the SelfService.tar.gz file is downloaded, double click it to unpack the self service application. Step 4. Right Click on the Self Service Application and choose “Show Package Contents”. Replace the “Self Service.icns” file /Contents/Resources with the icns file you created for your logo, but make sure it is still named “Self Service.icns” Step 5. Launch the downloaded Self Service app by double clicking the icon to verify that both your login screen and icon appear correctly. Step 6. Package the Self Service application using composer and deploy with the JSS using a policy. Additionally you will want to disable the “Automatically Install Self Service…..” checkbox in Settings>Computer Management Framework Settings>Self Service tab to prevent the default Self Service application from being installed. In order to see the login screen, the “End-User Authentication” section under Settings>Computer Management Framework Settings>Self Service tab will need to be configured to require network user login. Step 7. Save copies of all login.png and Self Service.icns files you created as upgrading the JSS may overwrite these files.

New Contributor II

As far as I can tell, this method no longer works in Mavericks. If you modify any files inside an app bundle, you get an error when you launch the app. e.g. "Self is damaged and can't be opened. You should move it to the Trash."

Honored Contributor II
Honored Contributor II

Jump over to this discussion here on JAMF Nation:

And then jump out to @emilykausalik][/url blog for her run down on how she did it for her employer. Pretty slick stuff:

New Contributor II

That's good info. I'm still not sure about Gatekeeper and the "app is damaged" message. The first time I dropped in my custom ICNS, it resulted in the damaged message. Then I tried again with a fresh copy of Self Service, and it worked fine.

Valued Contributor III
Valued Contributor III

Haven't been able to get around the Gatekeeper thing, though we never got a "damaged" message. Just that it was from a developer that wasn't recognized. We just had users right-click on the app in their Downloads folder and open it that way. Works like a charm.

I made up a wiki page on Sharepoint with screenshots on what the installation looks like, and sent all of our Mac users that guide when I sent out the enrollment invites. It stemmed off a lot of confusion. I managed to get all of our pre-existing users to enroll without having to touch any machines. It was wonderful.

I guess something to check, @fcloth, is how you made the .icns file. Did you use a converter or did you change the file extension? I used and didn't run into any issues.

Honored Contributor II
Honored Contributor II

You may be able to get around the Gatekeeper thing by getting a developer certificate and signing the app with that. I've never done it myself, but I'm pretty sure that would work.

Release Candidate Programs Tester

@emilykausalik & @stevewood, pretty sure you can contact your JAMF Account Manager for signed versions of the Casper Suite apps.

I guess this would contain a copy of Self Service too.

Contributor III

The easiest way to deal with Gatekeeper is to make sure you set the permissions properly. Gatekeeper ignores files owned by root. It doesn't matter if they have the quarantine flag, if the Gatekeeper settings are really strict, or if it is a signed package that has been modified. Just make sure all applications you package up are owned by root:admin, and add the ability to write to 'admin' users (otherwise you'll run into issues updating applications, like Firefox, unless you always use Casper to do the update).

sudo chown -R root:admin '/Applications/Self'
sudo chmod -R a+rX,g+w '/Applications/Self'

New Contributor II

@Josh_S Very good to know! Thanks for the info.