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

[quote=277365:@Karen Atkocius]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[/quote]

I have ReadMe, Release Notes and License Agreement included in the install, so it easy for me. My database cannot be created since it comes with data preloaded. It looks good to with a custom dmg icon, with a background in a small window on the desktop. Lots of ways of doing things.

You put a copy of the database as it initially needs to be in the app bundle
On first run you look for it in the application Support dir
If its not there you copy the initial database from the application bundle to the Application Support dir & use that
That way even if your user deletes it you can always put it back to a known start up state

If you use an installer that only does that once then if you user deletes the data now they’ve broken your application

I am missing something about the people who “like” zip and don’t “like” dmg… I find the number of steps to be the same, ok DMG has one more

Zip

  1. Download Zip
  2. Go to Download folder (oh look, an unzipped folder/image)
  3. Drag it to Applications (assuming the user KNOWS to do that)

DMG

  1. Download DMG
  2. Go to Download Folder
  3. Dbl Click DMG Image
  4. Follow Instructions, which should tell the user to drag to Applications (no guessing)

Now either of these “install” methods can be “screwed” up, but you can’t force them to “follow instructions”

Also has the advantage of working on a multi-user system.

[quote=277385:@Dave S]DMG

  • Download DMG
  • Go to Download Folder
  • Dbl Click DMG Image
  • Follow Instructions, which should tell the user to drag to Applications (no guessing)[/quote]
    Missed two steps.
  • Eject DMG Volume.
  • Move DMG file to the Trash.

It does seem to do so here, I set it to overwrite and preserve permissions.

I’m also trying to see if I can get it to move the DMG file to the Trash.

Pah! Once it’s on the DMG, it can’t eject the DMG (which makes sense as the executable code is running from the DMG) and I can’t seem to find a reliable way in Apple Script to detect the DMG file from a volume, to move the DMG file to the trash.

So I’m left with a little Apple Script Application (about 200k with a custom icon) that can simply copy the application to the applications folder and open it for the user.

Just copy what Adium does.

No, this is not a forgotten step (IMHO).

One of the Plus of the DMG files is… you keep it in case you have to re-install the application (today, tomorrow and forever)… :wink:

Which is…?


All I see for Adium is this. I don’t see any installer AppleScripts.

Tim,

did you check if there is/are invisible file(s) ?

Bad but working example:

tell application "Finder" choose file with invisible return info for (choose file with invisible) end tell

[quote=277442:@Sam Rowlands]Missed two steps.

  • Eject DMG Volume.
  • Move DMG file to the Trash.

It does seem to do so here, I set it to overwrite and preserve permissions.

I’m also trying to see if I can get it to move the DMG file to the Trash.[/quote]
When I sign a DMG, Safari automatically opens it (if I have “Open Safe Files” enabled). Then when my installer completes, Sierra asks if i want to delete the downloaded data.

There aren’t any. You grab the file, you drag it to their Applications folder alias and you drop it. That’s what I see from the graphic.

Sort of like Xojo’s arrow graphic in their DMG.

What I find truly disturbing about this is that you guys are finding that your customers are so ignorant of how their system operates that they don’t understand DMG’s and Installer PKG/MPKG files. That mechanism has been pert of OS X since the earliest days. We never had issues with our installers for BRU Server, but when we shifted to simply ZIPing the 3 components 3 years ago, people became severely confused about how to install and set things up. I’m in the middle of building the install process in PackageMaker (on 10.7.5) for our next update.

We never shifted to supplying BRU Producer’s Edition in any format but DMG / PKG, and we’ve never received a complaint about the installer - and a lot of our users are interns at the studios and post facilities with zero computer experience. And, we also include an uninstaller app, so even uninstalling is intuitive (including retaining a copy of the working environment).

Exactly.

Installers are fine for specific use cases. I’ve been down that road for other jobs and it worked decently for what we needed.

I find that there are a lousy as a general purpose software distribution method on OS X. They have a few major flaws:

  • Unusable by non-admin users. I think it’s possible to get around by allowing custom locations, but I can’t remember the last time I saw an installer set up that way.
  • No uninstallers. Developers can ship their own, but it’s not always simple and the vast majority of them don’t.
  • Little visibility into what is actually going on. Pacifist is great for this and I run it on almost everything I have to install, but DMGs and ZIPs don’t have this problem to begin with.

Yup… I forgot that… this is the main reason I stopped using the installer method too.

[quote=277619:@Joe Ranieri]* Unusable by non-admin users. I think it’s possible to get around by allowing custom locations, but I can’t remember the last time I saw an installer set up that way.

  • No uninstallers. Developers can ship their own, but it’s not always simple and the vast majority of them don’t.

  • Little visibility into what is actually going on. Pacifist is great for this and I run it on almost everything I have to install, but DMGs and ZIPs don’t have this problem to begin with.[/quote]
    I just don’t agree that an installer isn’t always the best way.

  • There’s a flag that can be set to allow a non-Admin user to install.

  • If a developer doesn’t know what their app installs and uses, that’s more frightening on the part of the developer than on the installer logic.

  • That’s the whole Mac way - don’t say anything if nothing failed or no errors occurred. If they did, look at the log as instructed in the package’s output.

Zips are truly the silent culprit - you double click the ZIP file and something happens - either your app or a folder appears where the ZIP file was downloaded; what do they do next?

Yes, building a proper installer is difficult for all platforms - OS X, Windows, Linux, Solaris, A/IX, HP-UX - each has their own way of doing things, but the level of professionalism that a properly crafted installer package adds can be amazing in the eyes of the customer.

I distributed in pkg way back when, especially since I wanted to install fonts.

Today I activate the fonts in the bundle or use atsfonts, and I go with DMG.

Seems to me there is too much exclusive binary thinking here : all the way installer, or no luck outside of DMG. Maybe time to think analog, instead of black or white. There are good usage cases for each.

The immense majority of trialware is distributed as DMG today, probably because people don’t need uninstaller and don’t want to have things installed that they don’t want (like pesky invasive updaters). So the evaluation version of Fonts Manager is on DMG.

Installers are not taboo, they simply became less usual for general purpose software.

Mind you though : the MAS upload takes only an installer…

@Michel Bujardet - I agree the it will never be a one size fits all situation. However, as a company, we’ve had far better luck on OS X and Windows when we distributed an Installer-based package (even back when we shipped physical media). The customers’ perception of the product is set to a higher level simply because a Zip file is quite often seen as non-professional.

One additional piece that I forgot above in the plus column for installers - if you’re NOT using an installer and you need to set Registry entries, copy files into working locations, or place launchd or init.d entries, you have to put so much additional code into your app to get those things done during the first run, especially when supporting all three platforms, that you might as well have learned how to properly set up an installer.

On Windows, I have distributed installers only since 1998. IMHO it is very unprofessional today to do otherwise. Windows users do expect an installer, and there are so many reasons why an installer should be used, the least of them being that without the proper keys in the registry, Windows has no idea what the Exe is, and that is terribly bad security.

I cannot help but to feel pity for the poor souls who periodically post that they want to come back to single file executable, implying they ship their unfortunate Exe naked. Time to grow. Hello ? 21st Century here :wink:

Last time I distributed naked Exe, it was back in the early 90’s for Dos programs…

On Mac, customers that do not purchase on the MAS have been trained for years to expect DMG, so I will go for that first, unless there is some system stuff I need to do. Like installing things in the Unix directories, or launch services.

Mind you, I distribute to end users. It is quite possible that corporate users find installers more professional.