Identity Finder - Creating a Custom Identity Finder Installer for Mac (PackageMaker)
Guide on how to create a custom Identity Finder client installer for Mac with Identity Finder's build scripts and PackageMaker
PackageMaker and Identity Finder's build scripts are the only supported way of customizing the Identity Finder client installer for Mac. These build scripts require a machine running OS X 10.5 (Leopard), OS X 10.6 (Snow Leopard) or OS X 10.7 (Lion). If you do not have a machine running one of these operating systems, you can contact the Help Desk and IT Security will make your custom package. Otherwise, ensure you have Xcode and PackageMaker installed, and if you do not, follow these steps:
- Install Xcode from the Mac App Store
- Download PackageMaker. Navigate to https://developer.apple.com/downloads, search for "PackageMaker" and download "Auxiliary Tools for Xcode - Late July 2012". NOTE: This requires an Apple ID associated with an Apple Developer account.
- Double-click the downloaded DMG to mount the volume
- If it does not already exist, create the folder "Developer" in your Applications folder and copy in the contents of the DMG
Creating a Custom Identity Finder Installer for Mac (PackageMaker)
- Obtain the necessary files to create the installer
- IdentityFinderPackageBuilder.zip - NOTE: This file is also available on Box if you cannot download it directly from Identity Finder.
- IdentityFinderMacSetup.dmg - NOTE: This file will be named IdentityFinderMacSetup-XXXX.dmg on Box, where "XXXX" indicates the specific version of the installer package. This file must be renamed to IdentityFinderMacSetup.dmg for the package builder to work.
- Open com.identityfinder.macedition.xml in TextEdit or a similar text editor
- Locate the following lines toward the bottom of the file:
<Category name="Endpoint Service">Insert the name of the Simple Tag provided to you in the "Welcome to Identity Finder" email in between the two Value tags. For advanced default tagging options, see Default Tag Syntax.
<Setting Multi="false" Name="defaultTag" Type="String">
- Save, making sure the file is saved as an XML file.
- Move IdentityFinderMacSetup.dmg into the root IdentityFinderPackageBuilder folder. This can be done from Finder or the command line.
- Move identityfinder.lic, com.identityfinder.macedition.xml and ca.pem to the IdentityFinderPackageBuilder/Resources folder. This can be done from Finder or the command line.
chmod ugo+x IdentityFinderPackageBuilder.sh Resources/preflight Resources/preinstall
- -RootAuth - Specifies that the installer will require root or administrator permissions. This is necessary for clients that will be installed on machines that don't currently have Identity Finder installed because files will be placed in system directories. The -RootAuth parameter also calls a few additional commands that reset the permissions on some build files. These calls use sudo so you will be required to enter your user's password.
- -NoRootAuth - Specifies that the installer will not require root or administrator permissions. This can be used for upgrade installations that don't require files like com.identityfinder.macedition.xml to be copied into system folders.
sudo ./IdentityFinderPackageBuilder.sh -RootAuthNOTE: No text will appear on screen when you type your password.
Testing the Package
Testing of the client should be done before deployment, and at a minimum you should verify that the following files are being installed to their correct locations. They are:
- ~/Applications/Identity Finder.app
- /Library/Application Support/Identity Finder/identityfinder.lic
- /Library/Application Support/Identity Finder/ca.pem
- /Library/Launch Daemons/com.identityfinder.launchdaemon.plist
- /Library/Application Support/Identity Finder/EndpointService
It is possible to specify additional tagging parameters for nested default tags, as well as define multiple default tags.
- Nested tags - To use a nested tag as a default tag, enter the tag names in the form parentTag->childTag. Spacing around the arrow (->) symbol is ignored.
- Multiple default tags - To add an endpoint to multiple tags by default, enter the tag names in the form firstTag||secondTag. Spacing around the vertical bars (||) is ignored.
- Single nested tag:
- Two top-level tags:
"defaultTag"="CompSci || DoIT"
- One nested tag and one top-level tag:
"defaultTag"="DoIT->ITSecurity || CompSci"