powered by text files


Creating a .dmg for installation

Having been talked out of making an installer, I still wanted to be able to automate the creation of a .dmg file for easy deployment. Fortunately, this is very simple to do if you don’t want the .dmg to do much.

The short version is:

% hdiutil create -srcfolder dist/[app name].app [app name].dmg

With [app name] replaced with the name of your application. Obviously, you need to do a proper build of your Python application, the symbolically linked version isn’t good enough.

For example, the Date List sample app can be deployed with:

::: shell
% rm -rf dist
% python py2app
% hdiutil create -srcfolder dist/Date\ Date\ List.dmg

There are a range of features that are worth adding to a .dmg that is used to deploy software. These include things like background images, license agreements and auto opening the disk image.

This is something to investigate at a future point. The buildDMG script seems to be a good starting point, with the source of Adium providing a good example of how to build one.