How to associate the ".exe" extension to be opened with Mono?

3

3

I want to asssociate the .exe file extension to Mono (don't care about wine).

Apparently, when using Finder's GUI, only .app files (application bundles) can be selected. But the Mono executable (/Libraries/Frameworks/Mono.Framework/Current/bin/mono) is no such bundle.

I tried some AppleScript

on run this_file
 do shell script "mono this_file &"
end run

but Finder's GUI still doesn't allow to associate that with .exe's.

How to associate a specific file extension to a command-line application in Mac OS X?

jonny

Posted 2009-11-07T12:47:20.937

Reputation: 401

It seems my answer worked to associate files with a Python script: see Set default open-with app to a Python program on a Mac.

– Arjan – 2010-04-25T21:40:01.347

I'm not sure what you're trying to say about that GUI, but it seems you can find your answer in "How to change file associations on Mac OS X?" at http://superuser.com/questions/29016/how-to-change-file-associations-on-mac-os-x or "Associate a file extension with an app in Snow Leopard" at http://superuser.com/questions/58598/associate-a-file-extension-with-an-app-in-snow-leopard

– Arjan – 2009-11-07T13:08:13.657

When you browse for application apparently only .app files can be selected while mono exetuable (/Libraries/Frameworks/Mono.Framework/Current/bin/mono) has no extension. Hence neither GUI way nor RCDefaultApp (in the end uses same select app dialog) doesn't work for me. – jonny – 2009-11-07T13:38:00.903

Did you use Automator for that AppleScript? In Automator, those can be saved as an application bundle. (But: "Associate a file extension with an app in Snow Leopard" at http://superuser.com/questions/58598/associate-a-file-extension-with-an-app-in-snow-leopard seems to have trouble with that as well.)

– Arjan – 2009-11-07T14:55:36.767

Answers

4

Using Automator to save the following as an Application works fine for me, also for new files:

  1. Start Automator
  2. In "Choose a template for your workflow" choose "Application"
  3. Drag the action "Run Shell Script" into the workflow in the pane at the right
  4. Change "Pass input" from "to stdin" into "as arguments"
  5. Replace echo "$f" with mono "$f" &. So:

    for f in "$@"
    do
      mono "$f" &
    done
    
  6. Save (as an Application)
  7. Use Finder to associate any file extension with this new application (like: hit Cmd-I, or right-click » Get Info, select the application and then choose "Change all")

enter image description here

I have not tested step 5 with mono, but with the following, which also uses the command line though:

for f in "$@"
do
  open -a /Applications/TextEdit.app/ "$f"
done

(I am not an AppleScript expert.)

Arjan

Posted 2009-11-07T12:47:20.937

Reputation: 29 084

0

Follow the steps above but use this instead:

for f in "$@"
do
 mono $f &
done

ddcruver

Posted 2009-11-07T12:47:20.937

Reputation: 111