Для запуска приложения C# для выполнения требуется выполнение CLR (.NET), запущенного на локальной машине. Java-приложение будет нуждаться в реализации JVM, так что это действительно не так. В Windows я ожидал бы, что большинство людей установят .NET.
Посмотрите на проект Mono, насколько это работает на Linux и Mac:
http://mono-project.com/Main_Page
Одна вещь, вы можете рассмотреть использует старую версию платформы .NET, чтобы гарантировать, что наибольший количество людей установлено. Я бы использовал .NET 3.5 или даже 2.0, если вам не нужны новые новые функции. Это было бы установлено уже в Windows 7, например.
Поскольку пользователю Windows 7 пришлось загружать фреймворк, я предполагаю, что вы в настоящее время нацелены на .NET 4, что означает, что вы должны использовать Visual Studio 2010 (или экспресс-версию). Вот ссылка, которая говорит вам, как настроить таргетинг на другую версию инфраструктуры:
http://msdn.microsoft.com/en-us/library/bb398202.aspx
Одно быстрое примечание о Mono, это отличный вариант кросс-платформенный, но она не поддерживает Windows Presentation Foundation, (WPF) GUI на данном этапе. Вам придется либо использовать Windows Forms, либо создавать разные интерфейсы для разных платформ.
Если вы хотите создать графический интерфейс Linux (также доступен на Windows, и Mac), вы можете попробовать GTK #:
http://www.mono-project.com/GtkSharp
Для родной GUI Mac вы можете проверить MonoMac:
http://mjhutchinson.com/journal/2010/06/09/monomac_in_monodevelop
отличным IDE для кросс-платформенной разработки .NET является MonoDevelop (он будет читать ваши файлы VC# проекта):
http://monodevelop.com/
Java похож на .NET на то, что пользователю нужно будет загрузить JRE для запуска вашего Java-приложения. Любой вариант будет работать нормально. Посмотрите Моно для запуска .NET на OSX и Linux. – drharris
Спасибо, ребята, за помощь. Многому научился. Мой вопрос в том, как я могу распространять свое приложение со старой версией фреймворка, чтобы больше пользователям не нужно было устанавливать новую .net-версию? Я использую VC# 2010 –
Изменение целевой структуры http://msdn.microsoft.com/en-us/library/bb398202.aspx –