a companion discussion area for blog.codinghorror.com

What's Wrong With Setup.exe?


Jeff Wrote: “No, I take the Mac to task because its normal install is equivalent to the Windows power user install. Do users need to know or even care that the “Applications” folder exists, and all that entails? Filesystems aren’t a feature, folks.”

Jeff, do you think the My Documents folder Microsoft provides for users is a feature? What about the My Pictures and My Music folders? This is what the Applications folder is on Mac OS X.

Coming from Windows, where the ‘Program Files’ folder is verboten and hidden from users, I can see why you might consider the Applications folder a non-enitity that should be avoided unless something has gone horribly wrong. However, this is purely a technical limitation that reflects architectural design problems in Windows. These problems can result in apps that break or become uninstallable if moved or modified by users.

Well written Mac OS X applications do not have these limitations. As such, the Applications folder is simply another officially sanctioned location where users can store applications.

" Some of the users where I work don’t know that you’re supposed to drag the .app file from the DMG into the Applications folder.

Imagine that. If only there was a way to make this work more seamlessly… hmm…"

I’d recommend downloading an app from the Omni Group. They are a textbook example of how to create a great installation experience on Mac OS X.

  1. “Well written Mac OS X applications do not have these limitations.”

well written windows apps do not have these limitations.

my main apps are such apps. they don’t need the registry, they can be moved to another disk or pc, their databases and all the settins can be backed up by simply zipping up the whole app folder. and so on.
not a coincidence that they are also great to use, they are easy on resources, while full of features and everything, except they do not have useless fluff and so and they will also scale down to a small resolution very well (remote desktop from a small screen device).

one thing for sure. this idea with the dmg seems great. it sounds like those windows apps i talked about above are the standard on a mac? i like that idea! - never used a mac btw.

“I have to agree with Rob S on this. I usually enjoy posts here, but this seems like a deliberate troll post meant to rile Mac users.”

wtf, why can’t someone say his opinion if he doesn’t like some mac feature. why is the mac increasingly becoming something you have to worship???

yesterday i was told the iphone is impossible to brick because apple made it just so well. i disagreed by saying it can be bricked easily (and yes it can). i got flamed. i wasn’t even talking about apple, i was simply talking about the technical aspects of various devices.

someone must make a blog post on this silly mac worshipping stuff.

i didn’t care until now but now i felt it in my own experience!

so i don’t mind if jeff is making such mac vs pc posts.
though, the former blog entries were somehow more deep and getting me to think more.


“well written windows apps do not have these limitations.”

True. However, I have experienced VERY few Windows applications which get the install/uninstall right, much less properly reacting to the user moving the installation around. Even Microsoft’s applications (Office, Visual Studio) fail at one or more of these!

Which apps are you thinking of which work well on Windows as you described? I think they should get some free press!

“wtf, why can’t someone say his opinion if he doesn’t like some mac feature. why is the mac increasingly becoming something you have to worship???”

Because the two most recent posts, in particular, have taken a “feature” in Windows, tried to find the matching counterpart on OS X, then blasted the closest thing to it for not being exactly as in Windows. The “maximize” button doesn’t work in OS X (because it’s not a Maximize button and the GUI is designed for non-maximized use); the “Install” in OS X is like what sadist programmers inflict on their users in Windows (not taking into account that this default non-install install is seamless and works very well on Macs, and that the Windows-style install wizard is also an option on OS X, but no one uses it because it is vastly inferior of a user experience).

It has nothing to do with insufficient adoration for the Mac platform. It has to do with writing multiple pages of blog entries based on hubris (that Windows’ design is the correct one) and ignorance (for instance, that it takes ten steps on representative Mac application installs).


Gosh, you must be out of your minds!


I’ve written quite a few software installers in my lifetime - for DOS apps, Windows apps, and entire operating systems. This post inspired me to compare a bit and write some suggestions.

First, more about mac installers vs. windows setup.exe:

And then some comments about how you, as a programmer, can make your setup.exe suck less:

Have fun,



There are a couple other reasons dmg files get zipped. Probably some people do it out of ignorance, or trying to save a few extra bytes, like when self-extracting archives or PDF files get zipped. But I suspect more common reasons are:

  • Getting a proper, or at least acceptable mime-type on a server that doesn’t know about dmg files.

  • Support for the resource fork. Early versions of MacOS X required a couple of resources (MacOS Classic style metadata) on the otherwise data-only disk image files for them to function properly. Apple fixed this, but some people may have learned you needed to zip them up to store both pieces on a server’s non-apple filesystem.


I wonder why installing is considered as copying files. I suppose that ‘copying’ has come from ages where programs literally were copied by hands - by throwing disks from one computer to another. Now we use Internet so IMHO it would be better think of installing as mirroring, because all users download the same file. I’d like to think about a program as URL to ‘program feed’ (like RSS feed) or a hash that points to a file in a p2p network. Benefits: we could download new versions of software from URL automatically; we can spread program files over LAN like p2p does. Of course, different versions are different files, so version control must be built on top of p2p hash.
And I also agree with kurtz.


I consider myself a fairly savvy computer user, and I’m familiar with both Windows and Linux administration. But the first time I sat down at a Mac and tried to install Firefox, I was stymied.

  • Hmm, looks like the installer is mounted as a disk. Er, what? Well, I guess I can run it from the desktop, then.
  • What is this pictograph trying to tell me? Oh, I need to drag part of it!
  • Now, where is this “A” folder? Probably in the hard drive. Oh, interesting, if I drag and hover, the folder opens. Sweet.
  • How do I run Firefox, now? I guess I can just go to the Applications folder each time.

It is very non-intuitive. I was shocked that such an important part of the UI on a Mac was so tricky.


I have absolutely no problem dragging an application to the apps folder. I would like to see more dmg files contain a direct link to the apps folder, that is about it.

To further describe that, I’ve come across several programs for the Mac which have a short cut in the dmg folder, so you simply drag the applications to that and be done with, finally ejecting the dmg. For me it’s a simple task to launch it via quicksilver, but of course you can also drag the icon to the dock if necessary.

There is really no reason that someone couldn’t write a piece of applescript or code a simple installation program for the Mac, I’m sure if I bothered to look I would be able to find them on the web.

I guess it is more a question of if setup.exe exists for the mac, why isn’t it used more often. The simple answer is that the program installation is different and rooted in a differing philosophy.

It’s no worse but perhaps a little better. I’m a long term mac and pc user so I have been both sides of the fence and I am 110% envious of people who never strayed into PC territory. I am too attached to my pc to let go, so I have to put up with all the aches pains associated with windows including installation woes.

Perhaps what we can learn from this is not the necessity of setup.exe but the possibility of treating program installation in a more simple and transparent way.


Personally - having to choose between these two (setup.exe vs. drag’n’drop) install methods, I really like the DnD way much better.

Neither is perfect, both have flaws and I doubt there will ever be perfect way to install stuff - best if all you needed was already there and you wouldn’t need to install anything.

For now - I shure as hell prefer DnD installer with the mac bundle as an executable unit much more than any other setup method on any other platform. It’s dead easy - just drop my application somewhere and start using it…

Jeff - if you have better solutions I would love to hear those…


There’s something wrong with Net’s computer. The ZIP file should not start StuffIt Expander, but expand in the Finder automatically. I’m guessing Net installed some StuffIt app and told it to open all ZIP files.

Usually, Mac apps install like this:

  • Download file
  • Finder autmatically unzips the file, mounts the dmg and shows a Window with the app and a Link to the Applications folder
  • User drags App to Link (this is usually explained in a background image in the window) or to whatever folder he wants the app to be in
  • User moves dmg file to trash

This is better than an installer because the user knows exactly what was installed where. After all, he dragged the app himself. Using DMGs is an unfortunate choice because people often don’t understand why they have these mounted virtual drives. Of course, if they just ignore them, they go away on their own, so it isn’t that bad.

If Mac apps install more than one single app, they usually come with an installer.


The trick is in uninstalling. Thankfully Unix is not Multics derived and so has no bleating Registry to worry about. Well behaved applications are just where they are - no more. Windoze shite goes all over the place.

You complain about dragging an app to a folder. I feel sorry for you. Most Windoze (l)users can’t even find where there apps are and can’t tell you and if the monstrosity doesn’t clutter your already overpopulated Start menu and put even more icons on your desktop they’re lost.

Ease of use implies ‘clean interfaces’ and most importantly ease when the software is going back out the door. But you know all that. Instead of harping on what you perceive is easy or difficult try using the other platform for a while and see how you like it. There’s no way you’d ever go back.


Wel… I can see where you are comming from, but often installing apps on macs are dead simple.

If i remember correctly, Cyberduck is really good:

  1. Download the .dmg
  2. Open It
  3. Drag it to the shortcut (to the apps folder) in the .dmg file
  4. Delete the .dmg

And your done. The .dmg file even has a nice GUI with instructions once you open it up.

But some mac apps such as Adobe CS3 and Final Cut Pro use an installer method…

Apposed to installing a windows app:

  1. Download It
  2. Run it
  3. Click next
  4. Click agree
  5. Choose install mode (simple or customisable)
  6. Click next
  7. Click next
  8. Click finish

Thats a lot more steps

But then there is putty for windows:

  1. Download putty.exe
  2. Run it.

Its not zipped or what ever, you just download the program as is and run it from where you download it


After using only Macs for five years now, i have to say that I don’t miss Windows at all. But the installing thing is surely annoying. Contrary to what they say, there is no standard. You can download a zip that will uncompress to a dmg, or you can download a dmg and drag the file to the app folder, or you can download a dmg and - wait for it - run a installer.

This is simply stupid. I cope with it because i know what to do, since there’s no way around except by sending e-mails to Cupertino complaining about it. But why not make things easier? An installer is a perfectly acceptable solution if done right, since mac users don’t hape to cope with the “registry hell”.

And there’s another thing i hate: uninstalling. I really miss a simply central panel where i could just select the unwanted app and click “remove”. I know, there’s Appzapper. But think about it for a moment: you’ll have to find the app you don’t want, drag it to appzapper (assuming you have a easily accessible alias to appzapper, or opened it beforehand), see the files selected, assume those files are correct and nothing will be left behind, click “Zap” and empty the trash.

Oh, and did i say that the installer could work as uninstaller? And that some developers recommend you to use it to remove the app instead of simply dragging it to the trash (like appzapper)? No? Sure, how could you? The world out there is a mess.

Macs are great, yes. But it could be better, simply because it’s the machine that should work for us, not us for the machine.


weten jullie mischien hoe je setup ex terug kunt installeren want heb het spelletje sims deluxe gekocht en het werkte niet ze zeiden dat setup ex niet meer werkte dus zou graag weten hoe je het installeert bel dan naar het nummer 0478218453 danku!!!


weten jullie mischien hoe je setup ex terug kunt installeren want heb het spelletje sims deluxe gekocht en het werkte niet ze zeiden dat setup ex niet meer werkte dus zou graag weten hoe je het installeert bel dan naar het nummer 0478218453 danku!!! kebcj


Like Davey said: Normally it’s less of a hassle than what Ned described.

Also, to make it easier for users, many developers distributing their applications in a dmg place an alias to the applications folder together with instructions saying “drap this icon here” pointing to that alias. No need to find the applications folder.


Why is dragging and dropping any worse than clicking Next five times? I’m not even a (regular) Mac user, and I can see the advantages of the former.

Now, uninstalling Mac apps completely, there’s something that could use improvement. I understand there’s actually a special app for a full cleanup after you delete applications from the Mac - although Windows apps are bad for leaving cruft around later on too.


I think you’ve totally missed the mark again, and these Mac vs Windows debates are getting tired.

First of all, setup.exe is all fine and well, it’s Add/Remove Programs that’s a horrifying joke. On my little laptop here, it takes a good 1-2 minutes to even open up. And I can guarantee you, most Windows installs leave around far more junk then most osx applications. Hell, most of them miss the most important part, removing all that registry garbage. Why do you think XP starts to degrade over time? Because of all the cruft stuck in the vents.

PS. OSX has .pkg installers just the same as setup.exe, although it’s more popular to use .dmg files. And, frankly, after years of Windows and a recent move to OSX, it’s far easier to just drag the app to your applications folder.

Can you focus on coding? The passive OSX bashing is getting a little tired. My guess is your experience with OSX is fairly limited, or not comparable with your Windows experience, thus your confusing your own confusion with flaws with OSX’s design.

I’m not saying one is better than the other, although I think we are all biased one way or the other.


I just wanted to add one last bit. If you’re intested, I would urge you to use InstallRite @ http://www.epsilonsquared.com/installrite.htm to see just what setup.exe is doing. Specifically, your example WinAmp. I think you’ll be surprised. Now factor in that every major application does similar things and I think you’ll start to appreciate the simplicity of an application existing within it’s own directory ala OSX (except for cases where system level things are a requirement).

And where is the comparison with unix package management? Talk about a nightmare.