This a article will explain how to use Composer. It will cover predominantly how to do New & Modified Snapshots.
A Normal Snapshot will record a state of all current files before and after software installation has taken place. This compares any new files that have been created during the software installation.
A New & Modified Snapshot will record a state of all current files along with their last date modified before and after software installation has taken place. This compares any new files that have been created and any files that have been modified during installation. This method will catch a few more files than you will need to capture for the software package you are creating. But it's easier to delete files that you don't need than it is to try and add files that you may have missed using the Normal Snapshot method.
Normally, folders/files that will be captured will be under the /Users/<account_name>/ folder. These sort of files will need to be transferred to the User Template.
The following are some locations where the installation may write to some folders and/or files which you want to copy:
//Users/<account>/Library/Application Support/<name of software> //Users/<account>/Library/Preferences/<com.organization.product.plist>
The following are some locations of folders and/or files which are NOT necessary to and you do NOT want to copy:
//Users/<account>/Library/Cookies //Users/<account>/Library/Keychains //Users/<account>/Library/Preferences/ByHost (this is machine specific settings and should not be copied) //Users/<account>/Library/Save Application State
Also look out for any com.apple.XXXXXX.plist files which are Apple specific preferences which you probably don't need to copy and can delete. And of course make sure you do not copy preferences from other products either. When you do snapshots you want to isolate only the files for the specific product or task that you are looking to accomplish. For example, lets say you want to create a package for bookmarks and settings for Firefox. Create a BEFORE snapshot, open up Firefox and make the changes you want, and the create an AFTER snapshot. Go through the folders/files that have been captured during the snapshot process and get rid of what you don't need that does not look related to Mozilla Firefox. This will create a package specifically just for Firefox settings.
Much like Windows has the Default Profile folder (C:\Users\Default) from which all user accounts are copied from, Macs also have a User Template directory. Those folders are located in /System/Library/User Templates/English.lproj and /System/Library/User Templates/Non_localized in the respective locations.
Add User Template to Composer
What I do in Composer after running through the snapshots, I add a directory by right-clicking the empty area which lists folders/files and selecting Add File/Directory.
- Choose to add the System folder which will copy all sub-folders/files under it. This may take a while.
- Once the System folder is added, click on the arrow to the left of it to collapse the sub-folders.
- Collapse the Library folder as well.
- Delete all sub-folders under Library except User Template. You can also delete the .localized files if you see them.
- Collapse the User Template folder.
- Delete all sub-folders under User Template except English.lproj and Non_localized.
Once you're left with the English.lproj and Non_localized folders, you can start copying any folders/files in the same locations from the /Users/<account_name>/. Keep in mind that you will be dealing with copying the files from /Users/<account_name>/ twice, once to English.lproj and then a second time to Non_localized. Since there is only one set of /Users/<account_name>/ you will need to make a copy of that folder.
To do make a copy of the /Users/<account_name>/ folder:
- Right-click the Users folder in Composer and select Reveal Users in Finder.
- A new window should open showing you the Users folder. Double-click it to open that folder.
- You will see the <account_name> folder which you will want to make a copy of. Simply right-click the folder and do a copy and paste. You should now see <account_name copy> under the Users folder.
- You can close the Finder window. You may have to restart Composer by closing it and reopening it to see the copied folder show up.
So basically you will end up moving the contents from /Users/<account_name>/ to English.lproj and the contents of /Users/<account_name copy>/ to Non_localized. Delete any folders you will not need under English.lproj and Non_localized.
The last part of the process here is to make sure that all the folders and files moved under the User Template has the proper Owner and Group memberships. We are changing Owner:Group permissions, not Read/Write permissions. To do this:
- Click on the System folder.
- On the bottom of the Composer screen you should see two drop down menus that say Owner: and Group:. Make sure Owner: says root(0) and Group: says wheel(0).
- Click on the wrench icon to the right of the permission checkboxes and select Apply Owner and Group to System and All Enclosed Items.