Creating pkg with Composer (basics)

sinergi
New Contributor III

Hi all,

First time post and trying out some of the tools. I found that when you take a normal screenshot with Composer and then proceed with installing the application, it provides you with a file structure of modified/new files which is great. However, if for example there are managed preferences or serial keys that have been modified within 'sinergi/Library/Preferences' and then a package is created.

I am curious if this package will inherit users library preferences or if the package will create this additional path once the package is installed? Ideally, we have a lot of software with licenses (as many others have) so we tend to create software packages with the licenses included, how do you get around this using composer?

Thanks.

1 ACCEPTED SOLUTION

martin
Contributor III
Contributor III

Hi Simon,

The Composer DMG package file will overwrite your user preferences when selecting fill existing user home directories (FEU) in the Options of the DMG package.

You still can use managed preferences to change user preferences (and apply serial numbers like Transmit does for example) or use a script to apply settings. Had not much trouble deploying license files so far. Lot of them are places outside the users home folder.

View solution in original post

5 REPLIES 5

martin
Contributor III
Contributor III

Hi Simon,

The Composer DMG package file will overwrite your user preferences when selecting fill existing user home directories (FEU) in the Options of the DMG package.

You still can use managed preferences to change user preferences (and apply serial numbers like Transmit does for example) or use a script to apply settings. Had not much trouble deploying license files so far. Lot of them are places outside the users home folder.

sinergi
New Contributor III

Thanks for your response Martin, although I can't seem to get this to work after testing it.

See images ;-

https://www.dropbox.com/s/h1tfvsu92kojwm6/composer.png

https://www.dropbox.com/s/n1jvu6835u6gfyy/files.png

On the test machine, rather than drop the <user>/Library/Preferences/serial.plist into the correct place, it has now created a directory on the test machine from where the package was created rather than create the Preference files in the homes of the logged in user.

Any idea how I get around this?

martin
Contributor III
Contributor III

That's correct and is by design. It creates a home directory for the user that created the package. I advice you to use an admin or support account for packaging.

When you check the option FEU (and FUT) in Casper Admin all (new) users get the files that are in the captured users home directory.

sinergi
New Contributor III

I see, that was the issue - I am only using Composer and not Casper Admin. Thanks for the advice.

c0n0r
Contributor

For several reasons, I am not a fan of installing files directly into a user's home folder, including preferences.
Check if you application supports preferences in /Library as well as ~/Library, you might be able to install the license globally.
If not, than I would suggest creating a LaunchAgent to create the preference for each user that logs in (you can use defaults write to inject a single preference setting without overwriting the entire plist), rather than writing the preference for only the user installed or the user present at time of package creation.