I am rather new to all this .net stuff, being so Windows-related kept me away from it for a long time. But now that mono is at a pretty mature stage, I think about not sticking to C++ any more. However, what I am curios about is your "compile once, run anywhere"-Philosophy. If I create some nice little program that uses OpenGL and OpenAL, how do I make it run on all those supported Platforms? I doubt that its simply adding OpenTK.dll to the installation directory... Can someone put some lines down on what the steps are to support all Windows, Linux and MacOS in both 32 and 64 bit versions? What I dont want is to go like "yes, just unzip it and start my program, but be sure you have xxx.so and yyy.so, otherwise do some "apt-get install"-magic... oh, you use Windows... you better go to someurl.com and download and install all that stuff."