Может ли веб-сервер динамически генерировать исполняемый файл на лету? - PullRequest
0 голосов
/ 19 августа 2010

Ninite.com , кажется, делает это в настоящее время. Мне интересно как.

Несмотря на то, что они могут предварительно сгенерировать каждую комбинацию приложения, это кажется маловероятным / хакерским.

[EDIT]

Является ли сборка исполняемого файла Windows с использованием этого метода ресурсоемкой? Можно ли это сделать ~ 100 000 раз в день без чрезмерных затрат? Я спрашиваю, потому что Ninite объявили, что они идут только за плату ... это может стоить им так много?

[EDIT2]

Загрузки невелики, это всего лишь небольшая веб-программа загрузки с установщиком и установщиком размером в сотню КБ, которая знает, какие приложения устанавливать.

^^ В связи с этим файл EXE, обслуживаемый веб-приложением, называется чем-то вроде Ninite AIMP Audacity Chrome Digsby FastStone Installer.exe при установке более 20 приложений. Вероятно, сервер обслуживает один и тот же файл под разными именами файлов, а затем приложение настраивается на основе имени файла, нет?

Ответы [ 3 ]

1 голос
/ 19 августа 2010

Конечно, просто запустите компилятор на сервере с exec().

Я делаю нечто похожее с генерацией PDF-файлов из источников LaTeX, так как это в основном компиляция ...

1 голос
/ 19 августа 2010

Сайт не создает исполняемые файлы, а просто предоставляет их для загрузки.

[РЕДАКТИРОВАТЬ] Создание этих огромных загрузок на лету создаст огромную нагрузку на сервер. Кроме того, это может создать программное обеспечение с ошибками. Поэтому я предполагаю, что если эти люди знают, что они делают, у них есть сервер, который все предварительно упаковывает, тестирует и затем выгружает в каталог загрузки веб-сервера.

Но, конечно, ничто не мешает серверу вызывать любую программу (возможно, за исключением терпения серфера). Так что они могут запускать компиляторы, архиваторы, что угодно.

1 голос
/ 19 августа 2010

Почему веб-сервер не может динамически генерировать исполняемый файл?

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