5

Я создал простой калькулятор на C # для работы. Это всего лишь один исполняемый файл. Я думал о том, чтобы поместить одну копию этого на сетевой диск и разослать всем ярлык для доступа к нему. Я новичок в такого рода вещах, так что это плохая идея?

С его помощью в одном месте я могу легко обновить его при необходимости.

Это очень маленькое приложение; около 33к. Максимальное количество пользователей будет около 50.

4 ответа4

7

Я бы пошел на ClickOnce. По сути, вы щелкаете правой кнопкой мыши по своему проекту в visual studio и выбираете «Опубликовать».

Вы получаете простой веб-установщик, ярлык в меню «Пуск» на своих клиентах и функцию автообновления.

4

Есть несколько проблем, с которыми вы можете столкнуться:

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

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

2

До версии .NET 3.5 SP1 приложения, запускаемые из сетевого расположения, работали в среде частичного доверия . Это влияет на то, что приложение может сделать.

http://msdn.microsoft.com/en-us/library/ms364059%28VS.80%29.aspx

Большинство разработчиков получают довольно грубое первое представление о частичном доверии, когда они случайно запускают свои проекты с общего сетевого ресурса, а не с локального диска. Поскольку политика по умолчанию предоставляет ограниченные разрешения коду, который не находится на локальном диске, внезапно вещи, которые работали в программе, начинают выдавать исключения безопасности. Действия, которые явно связаны с безопасностью, такие как вызовы File.Открой, теперь выбрасывай SecurityExceptions. Но многие вещи, которые, похоже, не чувствительны к безопасности, также начинают выдавать то же исключение, например элемент управления PropertyGrid в приложении Windows Forms. Новостные группы изобилуют этими проблемами.

То, будет ли это нормально в вашей ситуации, зависит от версии фреймворка, установленного на клиенте, и того, что на самом деле должно делать ваше приложение.

1

Если это простой калькулятор, то это абсолютно безопасно.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .