Why does installing applications require Volume and mount on Mac?

Solution 1:

Note that there are usually two ways of installing applications on Mac OS X:

  • A simple and common way is to send the user an application bundle. The user can copy it to whichever directory (s)he feels like it. Typically, applications are copied/moved to the /Applications directory and can be moved around the filesystem (or to other filesystems).

  • Another way is to provide an installer. Installers are helpful in case there’s need for pre-/post-flight scripts or specific directories.

So, answering your questions:

In Mac/Unix since there is no control panel, I could be installing same dmg again and again. I would never get repair option ?

Although there is something similar to Control Panel, namely System Preferences.app, there is no stock application to manage applications (list, install, remove). Since most users install applications to the /Applications directory, listing applications is done via inspecting the directory, installing applications is done via copying/moving application bundles to that directory, and removing applications is done via removing application bundles from that directory.

Yes, it is possible for a user to install the same application repeatedly — but I can’t really imagine a use case for that. Maybe you’re asking this because of a ‘repair option’? What would that do? If you’re considering the case where an application bundle gets corrupted by some reason then it could be just a matter of copying the application bundle again.

Why are Volume and mount required ?. Isn't the installation on unix like copying files to a target system ?

.dmg volumes are not required to install applications. A developer/distributor can ship an application bundle in a .zip file, or a .tar file, or a compressed .tar file. Many developers prefer to ship applications via a .dmg volume because it is possible to customise the appearance of the volume when it is mounted — custom background, custom icons, custom icon sizes, or a link to the /Applications directory to make it easier for the user to copy the application bundle to that location.