installer software for macintosh? - macos

What installer software for macintosh would you recommend? It has to support leopard & snow leopard. Be easily scriptable and not expensive.
Thank you,
Nava

Best answer is: don't.
The "Mac Way" is to provide just a .app that the user can drag into /Applications or ~/Applications. The .app is really a directory that contains all the program's assets: code, properties, imagery, etc.
The only time you need to build an installer package is when you're modifying the system. In the Mac world, that's seldom the right answer.

OS X's built-in installer can be scripted, either via shell script (or any other executable) at particular stages of the install, or customized much more pervasively using JavaScript. Read the Software Delivery Guide for OS X.

Related

How to deploy Gtk+ app on Mac?

Is there a more or less official way for Gtk+ applications to create regular OS X .app with all needed resources and libraries, placed in correct way?
Pretty much everyone does their own thing. Check out the outdated (read: not really maintained) bockbuild, as well as the build scripts that gedit uses for building .dmg.
https://github.com/mono/bockbuild
https://git.gnome.org/browse/gedit/tree/osx
This is something I'd love to see migrated to a configure/automake addition with dmg targets.
the easiest way to deploy a GTK based app on macOS:
How to deploy GTK based app on Mac OS X?
You should read it.

Best software installation kit for Mac OS X?

I want to create an installer for my software and I want something much better than the typical software installers (like you get with Package Maker or White Box Packages). I want to be able to do full screen with full layouts and such.
What's the best development kit/tools to create a rich and powerful software installer?
It might be rich, but it is not the OS X "style" - I have not seen any installer do that in ages.
If you would like to do a tutorial or orientation, I would launch that after the installation business has been completed.
BTW, full screen etc are also discouraged on Windows.

Why use a Package Installer with your Macintosh App?

Why is it that some Mac Apps are perfectly happy to be simply copied into the /Applications folder, and others require installation-wizard software? Are there advantages to the wizards?
You may be interested in what Apple has to say on the subject. This is in Software Delivery Guide.
In particular, check out the two chapters Manual installs and Managed installs.
Some of the points in favor of package installers are:
support for custom installs
support for pre and post operations, such as quitting app and daemons before upgrading
In some cases it is necessary for an application to install support files in other locations; for example, some programs add libraries in "/usr/local/lib" or add binaries in "/usr/local/bin"; others need to install support files in "/Library/Frameworks" or in "/Library/Application Support". For those situations, using the *.pkg and *.mpkg installers is really the best solution available, since dragging and dropping the app won't cut it.
That said, if it is possible to simply drop your application into "/Applications", then distributing a ".dmg" file with your application in it and with instructions to drag-and-drop it to "/Applications" is a much better way of distributing your application than to rely on the "*.pkg" and "*.mpkg" installers. There are also some major downsides to using the *.pkg and *.mpkg installers... they can very easily clobber permissions and destroy important system files, so a drag-and-drop solution is much safer, simpler, and cleaner.

Is PackageMaker considered the standard for Mac OS X software installation? Or is there something else out there?

I've put together my very first package with PackageMaker (for a system service), but I am not happy about several faults:
Frequent crashes while applying target permissions to my source files
Package source files are not automatically or easily refreshed
File filter does not work
Is there something else out there more capable of this task? Free is not a requirement.
Yes it is, and yes it's buggy. Apple uses the command line version pretty much exclusively so the GUI tends to have the feeling that it's been slapped together by a summer intern and never tested.
PackageMaker is the standard, for things that need an installer (many regular applications just use a DMG, often with a background image telling the user to copy the bundle to /Applications - eg Firefox does this)
MindVision VISE is a commercial solution you can look at, used by some people, but personally I think the look & feel of the resulting installers is subtly wrong (and slightly retro) - that's a subjective viewpoint of course.
Package Maker works pretty well for many people - though documentation is rather scant; are you sure the problems you're experiencing aren't fixable?
There (now) is a great free alternative to PackageMaker with the simple name "Packages":
http://s.sudre.free.fr/Software/Packages/about.html
It's really easy to use, very stable and mature and even open source (in case you need to hack anything). Plus: it has a well written documentation!
I had the same problem until I added #!/bin/sh at the top of the script. Apparently PackageMaker needs it; I wish the log was a bit more clear about it.
IHIH, Oren
Since Mac OS X 10.6 Snow Leopard it is recommended to use pkgbuild and productbuild instead of PackageMaker.

Mac OS counterpart to Sysinternals and Powertoys

As a developer coming from a Windows background, I'd always find the different Powertoys and Sysinternals apps as invaluable tools in aiding programming. Is there something similar for a developer to watch for in the Mac world?
A lot of those types of tools are included with the Mac OS, and some are available separately from Apple.
There's no Mac equivalent of the registry - everything goes in the file system somewhere - and you can use fs_usage to watch that. In a terminal:
sudo fs_usage
Check out Instruments, part of the Apple developer tools distribution.
Top 10 DTrace scripts for Mac OS X is an article that describes ten really useful tools that are Mac equivalents of some of the Sysinternals tools such as ProcessMon, FileMon, etc.
The post's author created some of the scripts when he made the DTraceToolkit, which he says Apple then customized and enhanced for inclusion by default in Mac OS X.
Some script names look like they end with the word "noop," which might be a bit confusing--it's actually "snoop." As in spying on system activity.
Mac OS X comes with a lot of unix tools like sar, top, etc. What metrics are you looking for specifically?
Not as such. Some of the Powertoys implement features that are built-in to the OS, some are available as various utility programs.
As for Sysinternals, there are quite a lot of them. If you want specifics I'd need a better idea of what you use, but you could probably duplicate 90% of the functionality just from a terminal window. Learning how to use bash and the normal Unix utilities would be a very good skill to have.
http://newosxbook.com/index.php?page=downloads provide almost exact counterparts, albeit in CLI mode - with the upside that they also work on (jailbroken) iOS.

Resources