Откуда запускать исполняемые файлы? Сетевой ресурс или клиент?
У нас есть исполняемый файл, который используется более 50 клиентскими компьютерами в сети и регулярно обновляется. Допустимо ли размещать исполняемый файл в общем сетевом ресурсе, и клиентские машины запускают его оттуда через ярлык на рабочем столе? Таким образом, когда мы обновляем.exe, мы можем просто заменить один файл новым, и все клиенты будут получать доступ к новому. Как медленная или нестабильная сеть справится с этим? Если это неприемлемо, что будет лучшим способом держать всех клиентов в курсе последних версий.exe?
5 ответов
Может иметь скрипт входа в систему, который проверяет программу (что-то вроде md5) и, если она отличается, загружает приложение с центрального сервера и размещает его на рабочем столе пользователя.
Люди используют этот подход в течение 20 лет. Так было в первые дни Netware. С современной сетью 50 клиентов - ничто. Я предполагаю, что вы работаете по крайней мере 100baseT.
Если ваша сеть ненадежна, я бы порекомендовал исправить ее, вместо того, чтобы сделать обходной путь для обеспечения доступа к файлу.exe. Это предполагает, конечно, что.exe разумного размера.
Лично я предпочел бы, чтобы он запускался с клиентского компьютера. Загрузка приложения на самом деле не является чем-то необходимым для всей сети, если в этом нет необходимости.
+1 к идее скрипта загрузки или входа, который проверяет наличие обновленной версии. Я использовал это в прошлом с большим эффектом. Кеш локально.
It sounds like this is an EXE that is built in house?
If so, and you are using Visual Studio 2005 or better, it might be worth looking into the ClickOnce Deployment options.
ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction. ClickOnce deployment overcomes three major issues in deployment:
Сложности в обновлении приложений. При развертывании установщика Microsoft Windows каждый раз, когда приложение обновляется, пользователь должен переустановить все приложение; с развертыванием ClickOnce вы можете предоставлять обновления автоматически. Загружаются только те части приложения, которые были изменены, а затем полностью обновленное приложение переустанавливается из новой параллельной папки.
Воздействие на компьютер пользователя. При развертывании установщика Windows приложения часто полагаются на общие компоненты, что может привести к конфликтам версий; при развертывании ClickOnce каждое приложение является автономным и не может создавать помехи другим приложениям.
Разрешения безопасности. Развертывание установщика Windows требует административных разрешений и допускает только ограниченную установку пользователя; Развертывание ClickOnce позволяет пользователям без прав администратора устанавливать и предоставлять только те разрешения Code Access Security, которые необходимы для приложения.
Контролируемое развертывание приложения на конечных рабочих станциях всегда предпочтительнее. Если бы вы потеряли этот диск или какой-то пользователь удалил exe-файл, приложение исчезло бы для всех пользователей, и я предполагаю, что более 50 пользователей используют его ежедневно, это бизнес-необходимость.
Кроме того, когда вы собираетесь обновить его, если вы хотите запустить новую версию, вам придется развернуть ее или каким-либо образом перенаправить определенное количество пользователей к новому файлу на общем ресурсе. Полагаться на то, что конечные пользователи поступают правильно, - это не то, на что вы можете рассчитывать.
Развертывание одного exe-файла довольно просто, но я бы не решился сделать это через скрипт входа в систему. Сценарий запуска или использование таких инструментов, как SCCM, SMS или Altiris, лучше.