How to create a .app from a Mono application in Mac OS X?

3

1

I have downloaded the zip version of KeePass. To run it I have to open the Terminal, go to wherever I unzipped it and run mono KeePass.exe. Is there someway I can take all the files in that zip file and that command and bundle them up so I get a KeePass.app I can stick in my Applications folder that can more easily be run?

Svish

Posted 2010-04-19T09:56:51.847

Reputation: 27 731

There is a Mac version of keepass you know. http://keepass.info/download.html

– Chris Nava – 2010-04-19T14:04:02.737

@Chris: Hm... do you mean under Contributed/Unofficial KeePass Ports and Builds? Can only see one there and looks like it's based on version 1. Can version 1 work with files from version 2? – Svish – 2010-04-19T14:26:49.923

You are correct. I use 1.x files so they work everywhere. I think for 2.x files you need a 2.x version. (i.e. windows) – Chris Nava – 2010-04-20T04:39:02.800

@Chris: The 2.x version should work under Mono though. But it seems to crash on my Mac... Think I might be missing some UI libraries or something... – Svish – 2010-04-20T06:08:38.683

If you get it working please post details. I would love to upgrade ;-) – Chris Nava – 2010-04-20T14:04:47.190

Answers

3

I found this, which seems to promise what you're looking for.

Running KeePass 2.x on OSX using macpack

It uses macpack to create a .app file. See the comments - some of them indicate how to update the icon.

Fortunately, I found KeePass. It can run using Mono under OSX, but it can be a hassle to run. The default way of doing that is:

  • Open Terminal and navigate to KeePass directory
  • Typing: mono KeePass.exe

We can do this:

  • Install Mono Framework
  • Download latest version of KeePass 2.x and unpack it
  • Open Terminal and navigate to unpacked KeePass folder
  • Run the following command:

    macpack -o:. -m:winforms -r:/Library/Frameworks/Mono.framework/Versions/Current/lib/ libCocoaSharpGlue.dylib -r:KeePass.chm -r:KeePass.XmlSerializers.dll -r:KeePassLibC32.dll -r:KeePassLibC64.dll -r:License.txt -r:ShinstUtil.exe -r:./XSL -n:KeePass -a:KeePass.exe
    
  • This will create a KeePass.app file that you can drag into your \Applications folder, and you should be all set.

You can also use MonoMacPackager

firebush

Posted 2010-04-19T09:56:51.847

Reputation: 259

Because KeePass has somewhat frequent updates, I decided to go with this for OSx: https://macpass.github.io/ and I have to say, I'm impressed with it.

– Eric Milliot-Martinez – 2017-12-25T14:04:18.113

2

You can write a bundled AppleScript application that includes all the necessary binaries in its Resources folder, or you might be able to use Platypus: http://www.sveinbjorn.org/platypus

Hasaan Chop

Posted 2010-04-19T09:56:51.847

Reputation: 4 224