I am surprised I could not find this question already asked, so if I simply missed it please notify promptly.
I need to write a very small, fairly simple application in .
You could try BitRock's InstallBuilder. From their website:
BitRock InstallBuilder is a development tool for building crossplatform installers for desktop and server software. With InstallBuilder, you can quickly create professional installers for Linux, Windows, Mac OS X, Solaris and other platforms from a single project file and build environment.
What you want is InstallAnywhere. It allows you to target multiple platforms with one installer project. It will help with dependencies and platform specific issues.
I've used it on LINUX/BSD/Windows deployment, and it worked beautifully. If you had X-windows, you got a GUI, if not a command line install. Windows installer worked with standard windows installer tech, and looked like a professional installer. It supports mac OS X as well. I highly recommend this software it does exactly what you want.
As other posters mentioned, BitRock InstallBuilder supports your target platforms of Windows, Linux and Mac. I want to add that it has been used by the Mono project itself for a while to distribute all-in-one binary installer for Mono runtime. It is also used by other successful Mono-based ISVs like Codice Software
For Windows, consider Windows Installer XML (WiX). For OSX, you need to generate a .app bundle. Here is an example using the nant tasks included with the Monobjc project.
Here are some of the major issues you will face:
On Windows:
On OSX:
Upgrading:
You haven't mentioned how you plan to offer upgrades. NSIS and WiX have the capability to handle upgrades. Make sure you have your build versioning scheme worked out before your deploy the initial version. On OSX, Monobjc can integrate with Sparkle.
http://www.openlina.com/
They deliver on the build once, run anywhere promise.
To create an installer there is:
I do not know how know about Macs
Issues: Computer does not have .Net Framework
Solution: StackOverflow - The State of Linkers for .NET apps