Does Mac OS X have a better installation story than Windows?
I'm a Windows developer... I know nothing about Apple Mac OS X. In Windows one uses Windows Installer to install packages.. F开发者_如何学Goor historical reasons, installation is not an easy thing in Windows. I was wondering what is the OS X story? Just curious.
This is a really thoughtful blog on that topic from John Gruber (daringfireball.net)
http://daringfireball.net/2009/09/how_should_mac_apps_be_distributed
The story is weird -- many installers just give you a .app file that the user is expected to copy to their Applications directory. It's simple, but do novice users understand? And there are actual installers as well.
The "proper" method for OSX application installation is drag and drop the application to the /Applications folder. No installer, no "type your password", no changes to the system.
It's not too bad, most people use something called packagemaker which has a nice GUI but also has an XML configuration syntax. The GUI is very nice to use and on my last project I used that initially to create a simple installer. Then I figured out that I could automate the creation of the XML files and generate my installer automatically. It's quite a nice solution. Better than MSI/Nullsoft which I've used on windows.
on the mac, to install, you normally just copy or delete a file which is actually a directory which contains the whole package. some also come with installers to install daemons. the problem is that there is no real list of installed apps so that you can uninstall the daemons again.
Real-life example: KB article for the uninstall of the Kaspersky Antivirus on the Mac. So what they are saying is that you need the install medium to uninstall. Which you might have just downloaded and then deleted. I would prefer if the OS would keep the uninstall somewhere.
Most Apple installs (I have worked with) are similar to DOS/.Net installs where you can just copy the program into any directory and run it. But this comes at the price of not sharing libraries and litters the machine with different versions of toolkits.
But like Windows installs when you copy files all over the place to update different libraries you can still installs files that you will never see again. (Linux/Unix is the same.) The more you reuse code the more complex the install and maintenance story.
I'm no developer, but I think you can also use similar packages similar to Unix (FreeBSD,of which OS X is partially based on, along with Darwin), and Linux.
精彩评论