Самый маленький исполняемый файл для Windows - PullRequest
2 голосов
/ 14 апреля 2010

Мне нужно создать очень простое приложение с графическим интерфейсом для Windows (открыть файл, внести некоторые изменения в зависимости от пользовательского ввода, загрузить файл на сервер внутренней сети). Компания-клиент имеет последние версии Java SE, .NET и Adobe AIR, установленные на всех их компьютерах. И их требование № 1 - иметь наименьший возможный пакет для развертывания xcopy. Так какую из 3 перечисленных платформ мне следует использовать? Другой вариант, конечно, нативный exe.

Спасибо, Андрей

РЕДАКТИРОВАТЬ: Спасибо за все ответы, ребята! У клиента есть офисы в Новой Зеландии и Австралии, насколько я слышал, связь там очень дорогая и отсутствует. И требования к размеру исходили от их отдела ИТ-операций, который в прошлом отказывался устанавливать пользовательские приложения как слишком большие для функций ... Я ищу современную платформу для разработки приложения, по крайней мере, на C ++;) Я бы поменял вопрос о том, какая из следующих платформ будет иметь минимальный размер исполняемого файла: MS VC ++ 2010, .NET 4.0 или более ранняя, Java 1.6 или более ранняя, Adobe AIR 1.6 или более ранняя.

Ответы [ 9 ]

2 голосов
/ 14 апреля 2010

И их требование № 1 - иметь минимально возможный пакет для развертывания xcopy.

Если вы воспринимаете это требование буквально, то выполнить его практически невозможно. Если ваша программа может быть удалена всего одним байтом, то она не удовлетворяет требованию.

На вашем месте я бы попросил разъяснений:

  • Могут ли они дать вам конкретную меру для нужного размера? То есть насколько маленький достаточно мал?

  • Если нет, могут ли они сказать вам, как они будут судить, что ваша программа соответствует их требованиям № 1?

  • Если нет, пересмотрите договор как «время и материалы» ... потому что в настоящее время у вас нет контроля над тем, сколько усилий потребуется!

1 голос
/ 14 апреля 2010

Как указано в Tiny PE - это всего несколько байтов, но вам действительно нужно такое маленькое приложение? Имеет ли значение несколько килобайт?

1 голос
/ 14 апреля 2010

Я видел некоторые приложения Windows GUI, написанные в чистом виде. Вы будете удивлены, сколько функциональности вы можете вписать в 10 тыс.

Ни при каких обстоятельствах я бы не рекомендовал язык ассемблера, но это единственный способ выполнить такое строгое требование "наименьшего возможного".

0 голосов
/ 14 апреля 2010

Используйте VC ++ для создания собственного приложения, затем сожмите его с помощью компрессора исполняемых файлов.

0 голосов
/ 14 апреля 2010

Мысль о silverlight из приложения браузера ? Они довольно маленькие.

0 голосов
/ 14 апреля 2010

Delphi или .NET (WinForms с C #), вероятно, являются лучшими для этого. Delphi будет создавать собственные исполняемые файлы, которые не требуют каких-либо внешних зависимостей, но, поскольку среда уже имеет .NET, она также отвечает всем требованиям.

0 голосов
/ 14 апреля 2010

Я бы использовал .Net, потому что ваша целевая ОС - Windows, и .Net поставляется с ней. Как решить, какая платформа будет генерировать самое маленькое приложение на диске, я понятия не имею. Однако я уверен, что все три API будут генерировать приложение в миллионы раз меньше, чем сумма всех этих платформ.

Почему это требование к размеру? Дайте нам больше деталей ... возможно, есть другой способ сделать вашего клиента счастливым!

0 голосов
/ 14 апреля 2010

Какой смысл? Какую бы технологию вы ни выбрали, исполняемый файл не будет превышать несколько килобайт (не считая таких ресурсов, как изображения). В настоящее время на жестких дисках хранятся гигабайты, а интернет-соединения могут передавать несколько мегабайт в секунду. Вы можете беспокоиться о большом приложении (скажем, более 50 или 100 МБ), но в вашем случае это просто не имеет смысла ...

0 голосов
/ 14 апреля 2010

Рукописная сборка; -)

Но для удобства обслуживания я бы выбрал либо .NET, либо собственный exe-файл, написанный на delphi / c ++, с ручными вызовами Windows API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...