The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Mac Installers?

http://en.wikipedia.org/wiki/Installer_%28Mac_OS_X%29
http://en.wikipedia.org/wiki/.dmg

Is it really this simple?  No need for anything like InnoSetup?  Are Mac users used to something 'nicer' or is this how everyone does it?
Don't have my mac yet...
Wednesday, January 25, 2006
 
 
It's really that simple.
Sassy Send private email
Wednesday, January 25, 2006
 
 
If you don't need to do anything special in your installation (and we really prefer that you don't), please use DMGs instead of a full installer package.

Then we get drag-n-drop installation:  drag the icon from the DMG to the Applications folder, or anywhere else we want, then throw away the DMG.
Marco Arment Send private email
Wednesday, January 25, 2006
 
 
My impression, which may not match reality, is that disk image installers (.dmg) are prefered for self-contained programs, i.e., all the files are more or less in one directory. An exemption is made for entries in your personal preferences file.

Package installers (.pkg) should be used if you need to put files in various system directories such as a crontab entry, or if the software needs to create accounts and groups, such as a client/server program.

People understandably get paranoid if you create a "desktop application" like a calculator and distribute it in .pkg format.
TheDavid
Wednesday, January 25, 2006
 
 
It sounds like .dmg is the way to go for desktop apps.

Is this the distribution format used by most software downloaded from the web?
Don't have my mac yet...
Wednesday, January 25, 2006
 
 
Yes.

Even Mozilla Firefox and Thunderbird are distributed as .dmg files.
TheDavid
Wednesday, January 25, 2006
 
 
Yes, this is the way it is. Plese excuse me if you already know this, but Mac applications are "bundles", which are directories that appear as files in the Finder. Thus, you can package all of the files your application needs inside the bundle and the user can manipulate it as a single file.

There's no Registry to mess with on the Mac, and you can always access the files in your bundle no matter where it's located. Therefore you only really need an installer if you need to modify other parts of the system.

I find the Mac way to be much nicer because users can move applications around at will and uninstall them by simply removing the bundle. In most cases it's even possible to try an application without "installing" it by launching it from the disk image.
clcr
Wednesday, January 25, 2006
 
 
Oh yes, this is much better than Windows.  Thanks for the explanation too, it was helpful.
Don't have my mac yet...
Wednesday, January 25, 2006
 
 
Its worth working *really* hard to keep the installation that simple.

One of my preferred ways to run/test new applications is to run them from the .dmg itself.  It they dont work from there I dont go any further unless I have a *really* good reason.
FullNameRequired
Thursday, January 26, 2006
 
 
If you run the application directly from the disk image, where do any preference files that the application may create go?
John Topley Send private email
Thursday, January 26, 2006
 
 
"If you run the application directly from the disk image, where do any preference files that the application may create go?"

Preference files are normally stored in ~/Library/Preferences regardless of where the application is.
clcr
Thursday, January 26, 2006
 
 
So even testing the app without installing it may leave some detritus behind.
John Topley Send private email
Thursday, January 26, 2006
 
 
Yes, but these preferences files are equivalent to Windows .INI files, and they will be stored in one of two locations; the user's personal set and a global set. It is trivial to clear them out compared to editing the registry.
TheDavid
Thursday, January 26, 2006
 
 
Don't know if this is hijacking the thread a bit - but do many/any Mac applications use Unix-style preferences files? i.e. putting the preferences into ~/.appname ?
Daniel S
Thursday, January 26, 2006
 
 
Some do, but it's not considered good form.
MacDev
Thursday, January 26, 2006
 
 
>It's really that simple.

I've spent several hours trying (and failing) to create a DMG on a CD that auto-opens and has a background image. So while the concept is simple, the details can be frustrating.
Andy Brice Send private email
Friday, January 27, 2006
 
 
I don't think the mac even supports autorun. It's one of those annoying windows features that I'm glad they didn't copy.
compilenix
Friday, January 27, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz