Are DMG Image files really the best way to distribute apps?

I’m not convinced. I understand that basically with Sierra it’s DMG or installer (Zip files were never really in favor with Apple).

What I liked about a Zip file, is that Safari would automatically unzip, the user could then run the application from their downloads folder or move it where ever they like.

The standard DMG operation is for the user to drag it to the “Applications” folder, then open their “Applications” folder, find the app and then open it. Safari doesn’t seem to auto open DMG files anymore either, so the user first has to open the DMG. Many more steps are required by the user.

Installers: Are terrible for end users as they’re not transparent, you don’t know what’s being installed where, and then you still need to go find the application and open it.

It seems like I’m missing something… Any pointers?

It seems you are saying .zip files just don’t work in Sierra. How can that be?

@Dave Kondris: see https://forum.xojo.com/33341-macos-10-12-slow-app-start

@Sam Rowlands : what problems do you have with dmg? The user opens the dmg, drags the file in the dmg to the app folder. Then uses Spotlight to open the app. I even have an installer in the dmg because of a helper app (so no dragging necessary). My users are usually older and not very computer savvy. But they know what to do.

As long as the users have a clue what they should do the number of steps doesn’t matter too much IMO. Even installers aren’t a problem for most users.

My experience of zip:

Then two months the user empties heir downloads folder , claims the program had mysteriously deleted itself , demands you find their purchase details and send another copy. ( . . . at 1.30am our time)

I quite liked packages for a while (especially given how easy they are when you use App Wrapper) until I found that a re-install puts the new version wherever the old one is.
Sounds like a good thing, unless the user has already put the old app into Trash, because the package then installs into Trash.

One of the things I truly hate about Windows are installers. You have no idea how many and where the installer drops files on your system.
One of the things I love about OS X are DMG. They do not spread files on your system. :slight_smile:

I rarely (and I mean rarely) install apps that use installers. When I need to do this, I first check the installer whats inside.
Devs who distribute their apps (outside AppStore) with an installer have no change on my setup.

OS X users (low and high end) expect this behaviour. I never got any user complaining about how to install my apps.

Sorry, that’s not what I mean. I mean Apple never really got behind ZIP being used for application distribution, and in Sierra ZIP is clearly a second class citizen as Apple have made no provisions for a ZIP file to be code signed. By not having a code signed distribution file, Sierra’s Gate Keeper doesn’t give the application the same treatment as one which does.

The amount of steps required to ‘install’ an application are increased versus ZIP distribution, in the past we spent some serious support time hand holding users who simply don’t get how a DMG works.

Ironically, we’ve not run into this problem with ZIP files, but we did when we distributed on DMG. A lot and I mean a lot of users would run the application from the DMG, then when they restart their computer, they can’t find the application again. I even encountered one user who wrote to me pissed because every time he wanted to use our application, he had to re-download it.

Indeed and I concur for this. For initial installations I personally do not touch installers and find that a great deal of more technical minded customers do not trust installers either. I do like to use them for our own internal app updates as they’re secure, sandbox safe and auto replace the application where-ever it’s installed.

The same could be said for any well built application regardless of the distribution method. Apple really like apps to be self contained.

Sadly this is not the experience that we’ve had, quite the opposite actually. Switching to ZIP reduced our support load (for installation) to zero.

I was toying with creating a small application in the DMG that would copy the application to the Applications folder and then open it for the user. It seems that with El Capitan and SIP this would have to be done via Apple Script, there’s still some technical details I need to figure out first, but I kind of like this idea, especially if it could then also eject the DMG and move the DMG file to trash.

@Sam: my installer is a simple Xojo app. In it’s bowels it transports the main app to the desired folder. The only annoying parts are that I have to build 3 times (helper app, main app and installer). Also the build scripts are on the complicated side.

I have a user who loads the zip (on Windows XP) and unzip the exe and libs into the same folder and does not understand… (three years ago).

This guy is a fake newbie / fake power user (go believe !)

There is no definitive solution to solve this problem. Even adding a “Installation: Read Me First” book, you will have users in troubles: the nebie does not understand because it is far newbie than you may think, the power user does not read manuels (“what for ?”).

Just like children, I think we have to do our best (maximum), then let the people do and explain to the very happy few who have troubles.

I believe in standardization. For better or worse, distribution on Mac is overwhelmingly DMG. When in Rome, do like Romans do. Unless I have a real technical necessity for something else I rather spend my time developing than doing technical support to annoyed customers who are not familiar with something else.

BTW what I really hate are intrusive auto-updaters la Adobe…

[quote=277313:@Emile Schwarz]I have a user who loads the zip (on Windows XP) and unzip the exe and libs into the same folder and does not understand… (three years ago).

This guy is a fake newbie / fake power user (go believe !)

There is no definitive solution to solve this problem. Even adding a “Installation: Read Me First” book, you will have users in troubles: the nebie does not understand because it is far newbie than you may think, the power user does not read manuels (“what for ?”).

Just like children, I think we have to do our best (maximum), then let the people do and explain to the very happy few who have troubles.[/quote]

At least, do not do like FireFox (Windows): be clear on how to update the application (if you provide this feature). On OS X, FireFox provide a mechanism to update itself in the About window. I do not found how to achieve that in the WIndows version… (nor the About window !).

Go figure.

[quote=277321:@Emile Schwarz]At least, do not do like FireFox (Windows): be clear on how to update the application (if you provide this feature). On OS X, FireFox provide a mechanism to update itself in the About window. I do not found how to achieve that in the WIndows version… (nor the About window !).

Go figure.[/quote]

Tools…
Options…
Advanced…
Update

Thank you Peter.

Better:

Tools…
?
About FireFox…

You get the About window.

The FireFox version comes and eventually an update message appears, then you got the button to apply the downloaded new version…

Who says Windows is easy ?

What is the matter with installers? They put the files exactly where you want them and where they need to go. If you have an app with an SQLite database, Apple does not allow you to save data to an SQLite database that is stored in the Applications folder, so you need to put your database somewhere else such as the Application Support folder. Your app needs to know where to find it.

To make this easy for the user, an installer comes in handy. We use MindVision FileStorm Pro. It’s been around for a while and I don’t know the last time it was upgraded but it works well. It creates a dmg file, yet when run puts the files where you want them. The main app is stored in the Applications folder and the database files are stored wherever you want them.

The user then just has to launch the app through Launch Pad and not have to bother finding it in the Applications folder. You can also tell the user where the files are being installed, as well as add ReadMe screens and Licensing Agreements.

Its pretty easy and looks good if you spend some time adding graphics.

Not true - you can sign zip files and they end up having the ‘xip’ extension. The only problem is that they aren’t officially mentioned on TN2206 (yet?).

Edit: This is no longer true and support for signed ‘xip’ files has been removed in macOS Sierra.

Please don’t use installers on OS X unless you truly need to (e.g. launch daemons). They can’t be uninstalled, they require administrator privileges (usually), and are a general pain to deal with.

I’d agree that disk images aren’t the smoothest experience for people used to zip files, but they’re not too bad. It helps if you put an alias to the Applications folder inside of the disk image.

How I handle that is I put an initial state copy in the bundle and have the app copy it to where I want it.

Alternatively the app can create the DB from scratch on first run wherever you want it.

Either strategy works fine on any OS

  • Karen

Where do you get this info? I’d love to know how you know what you know!

I think I’ve created a happy medium, nearly anyhoe. I’ve created a small Apple Script applet that sits next to the application on the DMG, when run, it copies the application to the applications folder, launches the app from there and then ejects the DMG. I’m trying to clean it all up, then I’ll share the script if anyone else would like to use it.

@Sam Rowlands: does the AS work when you install over an old version? What about permissions? I’ve had to add a sudo version of deleting/reinstalling for my installer.