The main advantage of standalone packages is I can choose whatever version of package XYZ I want and push it out rather than being stuck with the package version the repository ships with until either the maintainer updates it or you patch it yourself or argue with some shoddy backport.
To me the main advantage of standalone packages (thanks for reminding me of what they're called) is that they just work (to borrow a phrase from Apple's fan club).
Having to solve installation/compilation/dependency issues is just a waste of time, when those problem don't need to exist at all (things can just be packaged with all dependencies and dumped onto another machine).
I also like the fact that .dmg files are self-contained installers that don't touch any files outside of the ApplicationName.app folder they install to. So that to uninstall something installed from a .dmg file all you need to do is delete the ApplicationName.app "file"/folder.
There's nothing advanced that Mac OS X is doing here. See the Ruby Enterprise Edition installer for how nice the world could be if only there were a change in the way most people think about distributing software in the Linux world. REE installs to its own folder and doesn't touch any system files; it also needs very little from the system besides the compiler (so no dependencies afaik). That's why it just works every time I install it. Now contrast that with ImageMagick.
> to uninstall something installed from a .dmg file all you need to do is delete the ApplicationName.app "file"/folder.
AppCleaner / AppZapper / AppDelete / CleanApp / etc beg to differ. A lot of packages leave a lot of crap behind that doesn't get removed with the .app directory itself.
We've got them on Windows too - .msi files :)
The main advantage of standalone packages is I can choose whatever version of package XYZ I want and push it out rather than being stuck with the package version the repository ships with until either the maintainer updates it or you patch it yourself or argue with some shoddy backport.