5 ms·
Another reason could be to ensure that you have at most one copy of the application ever, since you can force it to install stuff always at the same location.
by lvillani 6y ago
Another reason could be to ensure that you have at most one copy of the application ever, since you can force it to install stuff always at the same location.
On an unrelated product we learned that users ended up with many different copies of the app scattered throughout the system, if they were allowed to use the traditional bundle + DMG distribution method.
Spotlight would then helpfully pick one random copy, with obvious consequences wrt. project file versioning.
That is despite the DMG having the usual symlink to /Applications for a drag-and-drop installation.
- jcelerier 6y agoyes, it's a total pain. users send you a crash log, you see that they're on an old version, ask them to update. They say they do, you get the next crash log, and it's still the old version. And then you get a screenshot and you see 12 different versions of your .app, in the desktop, in ~/Applications, in /Applications...
- nathancahill 6y agoEven worse when they don't copy it off the DMG. Just leave the DMG mounted.. forever.
- berdario 6y agoOh wow, I had no idea about the unintended consequences of the DMG + App bundle installation mechanism. Maybe the issue could be ameliorated with a self-updater built-in into the app? Not a separate daemon, but something that by running inside the app, would be able to know what's the path of the old version that should be thrown away.
- ThePowerOfFuet 6y agoThe de facto standard for this is Sparkle.framework, and it's excellent.
- lvillani 6y agoSome apps offer to move themselves to /Applications on first launch. Still, there's the possibility of users clicking "Cancel". Even then, it's a bit more code to write, test and pay for (from the POV of a client). Wrapping the bundle inside a .pkg instead of a .dmg solves the problem "for free".
- inetknght 6y agoWhat's the problem with leaving the exe in the DMG instead of copying it out? As a user and a developer I don't see any problem with this whatsoever unless the application is poorly built.
- lonelappde 6y agoThat's good. It's called a portable app and it reduces pollution of your environment. It's a simple partial implementation of something like Docker.
- nathancahill 6y agoAll fine and dandy until they accidentally eject the DMG and can't figure out where their browser went.
- AnIdiotOnTheNet 6y agoMaybe, but that's also an advantage. Often it is useful to have two versions of the same application available, for example if you are testing one of them, or if a feature or compatibility was broken somewhere along the way. Typical package manager software installation does not accommodate such use cases.