Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have seen that every executable file in Windows has extension of .exe

But Mac OS X doesn't have the same.

Windows executes .exe files.

Then what kind of files does Mac OS X execute?

What is the difference between both operating system's execution of applications?

Even I found that windows setups has the same extension .exe

But on a Mac setups have extension of .dmg

Would you please share your knowledge with me about .dmg & executables on Macs vs. Windows

share|improve this question
add comment

4 Answers

up vote 12 down vote accepted

Extensions don't actually change what type of file something is, although they often do hint to the system what do do with a particular item.

DMGs are not executables, they are disc images. They are files that act as discs, which often contain the executables and other files for applications. When you double-click on one, the system mounts it and you then have access to the files inside.

Both Windows and OS X execute binary executable files, although they are in different formats. The big difference in what a user sees if using the GUI is that on Windows, you usually see the .exe executable file, which resides in a folder that contains other files and information that the program uses. On OS X, all those other files, along with the primary executable, are contained in a "bundle" (really a folder) with the extension .app. Double clicking on a .app bundle will execute the internal executable and load your application.

Outside of the GUI, in the actual file structure, Mac and Windows systems are really quite similar; these differences are mostly a question of how the system presents things to the user for manipulation in the GUI.

share|improve this answer
    
Mac also executes .pkg (package) files –  Joshkunz Oct 17 '09 at 21:45
1  
.pkg files are compressed bundles of files containing an executable and other installer data, kind of a like a fully-contained, compressed .app that is intended for intallation. –  phoebus Oct 17 '09 at 21:47
1  
.pkg files are actually technically documents for Installer.app. If they actually run as a separate program they are not true .pkgs. –  Chealion Oct 17 '09 at 23:35
    
True, I could have been clearer on that point. –  phoebus Oct 18 '09 at 0:11
add comment

You will also be able to execute any file that has it's permissions set to executable, given that it actually contains a valid program of course.

share|improve this answer
    
The native executable format on mac os is mach-O BTW. en.wikipedia.org/wiki/Mach-O –  Fred Oct 18 '09 at 1:29
add comment

DMG files are the disk image files normally used to install Mac apps. Once installed, Mac apps usually have the extrension of .APP, but that extension is normally hidden from the user. Mac apps are packages which appear to the user as a single file. This makes it very convenient to move apps to a new folder or a new computer.

share|improve this answer
add comment

Installer on windows may have msi extension too. Windows can also run many script file such as cmd, bat, js...

share|improve this answer
    
MSIs and JS files are executable, but not executables. MSI is an installer package: when you double click it, msiexec.exe starts and opens it, just like you could use Paint to open JPEGs - it doesn't make them an executable. So with JS, WScript.exe is used to open them (check the HKCU branch in your registry). BATs and CMDs are somewhere in between, one could argue if they are executable - they are natively supported by Explorer, but still have to be interpreted. –  gronostaj Aug 29 '13 at 19:15
    
in that manner .NET exe files aren't "executables" too because they can only run under .NET framework, not directly by the CPU –  Lưu Vĩnh Phúc Aug 30 '13 at 0:39
    
It depends how you define 'executability'. I believe MSIs are without any doubt not executable, because they are just an archive - optimized for installers, but it doesn't matter in this case. They aren't more executable than ZIPs. Scripts of any kind are on the edge of 'executability', because they need an interpreter. I don't know details on how .NET EXEs are executed, but I'd say they are the same case as CLASS - they contain some kind of machine code (that needs translation/interpretation, but still). –  gronostaj Aug 30 '13 at 5:11
add comment

protected by Mokubai Aug 29 '13 at 13:39

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.