views:

516

answers:

1

Hi

Here's my requirement: 1. I want my installable to have a custom license agreement 2. run another package as part of the installation 3. let the user have an option of running the app on start-up

What should I use, create a dmg or use PackageMaker available with xcode? Are there any good web pages showing how to use PackageMaker?

Thanks.

A: 

They serve different purposes:

  • DMG (disk images) is just a container file format to solve age-old issues with multi-fork files and transfer protocols and intermediate hosts that can't handle them, by not relying on them in the first place. In addition, the disk images can use internal compression. Your users will thank you for not confusing them with file wrapped in file wrapped in file (although disk images themselves take some explaining initially).

  • PackageMaker is a full-fledged installer package builder. You can customize the installation process and locations, do sub-installations and pretty much anything else you could possibly need. If your installation entails more than just dragging and dropping an application bundle into place, this is the one to go with.

From your requirements, the choice seems obvious. Since an installer package is itself a bundle, I'd say: create an installer package with PackageMaker and put it in a compressed disk image. Distribute the disk image to your users. It just provides a nicer experience.

jackrabbit
Thanks for the help jackrabbit. How can I check whether the other package I want to use is already installed and if not install it? From my research I think I have to use AppleScript. But I do not have any experience with AppleScript. Thanks again
lostInTransit
You'd probably be looking at creating a meta-package and have the sub-package do an upgrade-install. Apple's dev site (*) contains quite clear documentation. TBH, I've never had to do this myself.(*) http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/
jackrabbit