Назад | Перейти на главную страницу

Откуда следует запускать исполняемые файлы? Сетевой ресурс или клиент?

У нас есть исполняемый файл, который используется более чем 50 клиентскими машинами в сети и регулярно обновляется. Допустимо ли поместить исполняемый файл в общий сетевой ресурс и позволить клиентским машинам запускать его оттуда через ярлык на своем рабочем столе? Таким образом, при обновлении .exe мы можем просто заменить один файл на новый, и все клиенты будут обращаться к новому. Как с этим справится медленная или нестабильная сеть? Если это неприемлемо, как лучше всего постоянно обновлять все клиенты до последней версии .exe?

Может быть сценарий входа в систему, который проверяет программу (что-то вроде md5 it), и если он отличается, он загружает приложение с центрального сервера и помещает его на рабочий стол пользователя.

Люди используют этот подход уже 20 лет. Так делалось на заре Netware. В современной сети 50 клиентов - это ничто. Я предполагаю, что вы используете как минимум 100baseT.

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

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

+1 к идее сценария загрузки или входа в систему, который проверяет наличие обновленной версии. Я использовал это в прошлом с большим эффектом. Кэшировать локально.

Похоже, это EXE встроенный в дом?

Если это так, и вы используете Visual Studio 2005 или более позднюю версию, возможно, стоит изучить Развертывание ClickOnce параметры.

ClickOnce - это технология развертывания, которая позволяет создавать самообновляющиеся приложения для Windows, которые можно устанавливать и запускать с минимальным вмешательством пользователя. Развертывание ClickOnce устраняет три основных проблемы при развертывании:

  • Трудности при обновлении приложений. При развертывании установщика Microsoft Windows при каждом обновлении приложения пользователь должен переустановить все приложение; с развертыванием ClickOnce вы можете предоставлять обновления автоматически. Загружаются только те части приложения, которые были изменены, а затем полностью обновленное приложение переустанавливается из новой параллельной папки.

  • Воздействие на компьютер пользователя. При развертывании установщика Windows приложения часто полагаются на общие компоненты, что может привести к конфликтам версий; при развертывании ClickOnce каждое приложение является автономным и не может мешать работе других приложений.

  • Разрешения безопасности. Для развертывания установщика Windows требуются права администратора, установка разрешена только ограниченному пользователю; Развертывание ClickOnce позволяет пользователям без прав администратора устанавливать и предоставляет только те разрешения безопасности доступа кода, которые необходимы приложению.

Всегда предпочтительно контролируемое развертывание приложения на конечных рабочих станциях. Если бы вы потеряли этот диск или если бы какой-то пользователь удалил exe, приложение исчезло бы для всех пользователей, и я предполагаю, что, поскольку 50+ пользователей запускают его ежедневно, это бизнес-необходимость.

Кроме того, когда вы собираетесь обновить его, если вы хотите опробовать новую версию, вам придется развернуть ее или каким-то образом перенаправить определенное количество пользователей на новый файл в общей папке. Надеяться на то, что конечные пользователи поступают правильно, - это не то, на что вы можете рассчитывать.

Развернуть один exe-файл довольно просто, но я бы не стал делать это с помощью сценария входа в систему. Сценарий запуска или использование такого инструмента, как SCCM, SMS или Altiris, лучше.