Fancy OSX installer/DMG (updated for clear direction to discuss)

I have been using DMG Canvas for a while. Recently, I found out some app installer has great features not only including installer program, but also including help files/user guide and uninstall/repair options. One example shown as following, I share it from my dropbox.

https://xojo.io/9832446629f0

link text

Anyone has an idea how that been made? Thanks!

Installers and OS X are a no-go. Leave that for Windows please.

looks like nothing more than a fancy DMG to me…
easy enough to create

Installers exist for OS X
They’re just not common

Flash uses an installer
MS Office
Lots of products make use of them especially when a simple drag copy wont put all the components in the required places
Esp things like Launch Services Daemons
Apple would like everyone to distribute via the App Store
But if you dont then these are relevant

https://developer.apple.com/osx/distribution/#outside

https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/DistributingApplicationsOutside/DistributingApplicationsOutside.html#//apple_ref/doc/uid/TP40012582-CH12-SW2

https://developer.apple.com/legacy/library/documentation/DeveloperTools/Conceptual/SoftwareDistribution4/Managed_Installs/Managed_Installs.html#//apple_ref/doc/uid/TP40004615-CH6-SW8

But this “installer” thing looks like it’s straight out of windows, so I’d have to agree with Christoph.
It looks lame, and ugly; and needs to stay in Windowsland.

Your help should be bundled inside the app, which AppWrapper will help you with.

Looks reliable.
As long as you don’t need to Unisntall (sic)

Filestorm was good for this (think its desupported now) but most of them are simply apps in a DMG with your app packed away in their resource folder, ready to unpack into Applications.

The requirement to have the installer code signed is probably a barrier these days, unless you write it yourself.

I use App Wrapper to sign my Mac apps then create a DMG using Filestorm. The DMG is only because that’s a familiar way to install software to most Mac users. An uninstaller is very rare on the Mac platform and I’ve never felt the need for one.

I strongly believe in “when in Rome”. Windows users expect an installer, so it should be provided. Mac OS X users expect a dmg and just to copy the app to the Applications folder, so that is the way I deliver my apps. Trying to force the Windows culture on Mac users or the other way around is … well … not very bright to say the least.

Unless VERY strange requirements, such as installation deep in the system such as intego antivirus which probably needs to do things that only an installer can do, a well conceived program can do upon first launch.

Same remark for the uninstaller. That is SO Windows. And mostly SO ridiculous on a Mac. If you absolutely want to provide a way for the user to wipe out all data in ApplicationSupport, let us say because you copied a database in there that you may want to make sure it is removed before passing the machine to someone else, that can be taken care of my a special option in Preferences or in help from the app itself.

A common belief.
Yet since most apps create data in ApplicationSupport, there will be tons of orphaned support files left on machines where apps have been deleted as an uninstall method.
Especially now that the folder is hidden from joe public.

I just checked: I found 18 easily identifiable folders there for apps I had uninstalled by deleting the app alone.
Including RealSoftware,RealStudio, and RealBasic…

Uninstallers aren’t common on the Mac, but IMO they ought to be.

[quote=178113:@Jeff Tullin]
I just checked: I found 18 easily identifiable folders there for apps I had uninstalled by deleting the app alone.
Including RealSoftware,RealStudio, and RealBasic…

Uninstallers aren’t common on the Mac, but IMO they ought to be.[/quote]

As I wrote, this can very well be taken care of from within the app. Especially for apps in the MAS, where I doubt very much an uninstaller would even be possible, and where accessing the sandboxed container is way easier from within the app.

That said, uninstallers do exist, and that provides a nice market for all these colleagues :
http://www.macupdate.com/find/mac/uninstall%20app

It can even be a nice idea for a utility for any of us :wink:

Windows does often require an installer because the Applications folder is not made easily available to the user. Also, it is necessary to create the items in the Start menu or shortcuts on the desktop. Finally, since Windows programs do not have a bundle as it happens on the Mac, even if recently Xojo added a Resources folder, it is kind of messy to copy the app and the accompanying folders. An installer takes care of all that transparently. Uninstaller necessary to clean up all that mess on the way out. It used to be even worse for VB when DLL needed to go in C:\Windows\System32. Or is it still the case ?

I don’t think installers are that rare on Mac, I encounter them all the time. It’s just on Windows they are mandatory.

An installer enables you to make sure the user doesn’t make any mistakes, like try to use the app on a insufficient OS. Also, it enables you to put it in a specific location in the Applications folder. I like all my apps going in a company-named folder, that way they are all together. Many customers of mine buy multiple programs from me.

An installer also allows you to manage some copy-protection schemes, like writing a file in a place so it “proves” they installed it. It also helps when doing Updaters, you can write scripts that delete certain files and manage certain things.

Installers are helpful and advanced on Mac, there’s nothing wrong with them. They often aren’t mandatory, like on Windows.

Good that you have repeat customers. Maybe you have a special relationship, like custom development. End user software, though, is widely expected to work a certain way. A user will not expect having to open a subfolder within the Applications folder to launch a program. What he expects is to have an icon he clicks on and that’s it. Just like Apple’s apps.

Besides, users may want to copy the app or move it, and expect it to work in the other place. Any hindrance to this possibility will have them freak out.

That can be done by the app itself.

My point is not that they are inherently wrong. As I wrote, they do have their use to install complex things. Xojo uses one, for instance, and like you put different versions within a Xojo folder inside the Applications folder. But yet, Xojo cannot be considered an end user app. IMHO, when installers are not absolutely necessary, they simply should not be used, so it is easier on the user. Anything that makes life easier for the user reduces support requests, and that makes a developer’s life better :slight_smile:

Xojo does NOT use an installer on OS X.
That’s a DMG
It’s pretty easy to set up a DMG so drag copy IS all there is to the installation which is what we’ve done.

Windows uses an installer
And theres a RPM / DEB for Linux for which there is also a TGZ

Actually, no. Just write good software.

Uh, oh, here comes the snob-fest…

My personal experience is that most of (at least my) customers aren’t such babies, frankly.

Not if those management things are essentially to the program starting up. Please.

Oh.

Well, no kidding, but that’s not what I said.

I said that installers can do certain things so that WHEN it comes time to run the app, THEN it can be a flawless experience. Certain apps - and it doesn’t have to be a “complex” one - aren’t an “island”, they may work with some shared files or another library it had to install somewhere else (Mac can be like Windows in that way) and then an installer is necessary, and my first point was that it is pretty common. I’d love to go back to the “drop in the App folder” days but I can’t, my program has needs that “dropping” can’t solve properly.

Developers shouldn’t be afraid of installers IF they solve a certain problem that transcends the simple dropping procedure.

[quote=178155:@Garth Hjelte]
Developers shouldn’t be afraid of installers IF they solve a certain problem that transcends the simple dropping procedure.[/quote]
+1
Its NICE if everything can work via drag drop installs but thats not always the case

Where did I write installers are never to be used ? Sheesh. Either/or, uh ?

[quote=178061:@Dave S]looks like nothing more than a fancy DMG to me…
easy enough to create[/quote]

The “install” part is nothing fancy, it just copy the app to the loacal “Application” folder, which a lot of DMG making app can do. But how about “Uninstall/Repair” part? Can you direct me a little bit?

[quote=178058:@BO CHEN]I have been using DMG Canvas for a while. Recently, I found out some app installer has great features not only including installer program, but also including help files/user guide and uninstall/repair options. One example shown as following, I share it from my dropbox.

https://xojo.io/9832446629f0

link text

Anyone has an idea how that been made? Thanks![/quote]

Thank you for all the replies.

I didn’t think there is a misunderstanding about the “Install” process. The install process in the app which I take a screenshot is nothing but a regular copy process. It copies your app to the “Application” folder as many DMG-making app requires manually drag and drop app to that folder. So you may say it’s a fake, windows-like, installation. it’s essentially an automation process. Double click that install icon is equal to drag and drop the app to “Application” folder.

What catches my attention is the uninstall/repair process. For simple apps which don’t generate local data, it probably like delete itself from “Application” folder, I assume. Is there any DMG-making app can do this? Some of you mentioned Filestorm. Anything else? For more complicated apps, those apps do generate local data at certain folders, is there a methods/codes to delete those automatically?

I hope this can make this topic more clearly and thank you again for all your help.

There is no repair function for a dmg on the Mac. Filestorm is as good as obsolete. I don’t think that it’s sold anymore. For the next version of my own app I’ve written a simple AppleScript as uninstaller, which removed plist files and the files in Application Support.

On the Mac installers aren’t that common. Uninstallers are very uncommon.

Apple has made the Mac OS X environment as standard as possible, so users are comfortable with it. The usual procedure to install an application is to copy it from a DMG to the Applications folder. Or to buy it from the App Store and have it install and update.

Unless it is absolutely necessary, for all the reasons exposed several times here, like subfolder, protection, whatever, why impose an unusual procedure on the user ?

An uninstaller is rather easy to create in Xojo. All is needed is to delete the ApplicationData or Container subfolder for the app. Probably no more than 10 lines of code…