Запуск приложения .net по сети - PullRequest
3 голосов
/ 18 марта 2010

Мне нужно разрешить приложению .NET работать через общий сетевой ресурс, проблема в том, что это будет на общих сетевых ресурсах клиентов, и поэтому путь не будет идентичным.

Я быстро взглянул на ClickOnce и параметры публикации в Visual Studio 2008, но для него требуется конкретное сетевое расположение - и я предполагаю, что это местоположение где-то хранится, когда оно делает свое дело.

В данный момент работа выполняется со старым приложением VB6, и поэтому обходит все эти проблемы безопасности, но это приложение плохо написано и почти невозможно поддерживать, поэтому оно действительно должно быть запущено.

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

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


Извините, я забыл упомянуть, что на данный момент мы ограничены .NET 2.0, мы планируем обновить его до 4.0, но это произойдет не сразу.

Ответы [ 5 ]

3 голосов
/ 20 марта 2010

Местоположение развертывания в манифесте должно соответствовать местоположению, в котором оно развернуто. Вы собираетесь использовать путь UNC. Там не должно быть никаких проблем с этим. Приложения ClickOnce устанавливаются под профилем пользователя и не требуют прав администратора. Требуется только доступ на чтение к общей папке, в которой развернуто приложение.

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

Следующий ответ: кто на самом деле развертывает приложение в каждой школе, т. Е. Помещает его в общую папку? Есть какой нибудь администратор?

Что я бы порекомендовал (в зависимости от того, кто это), так это дать им файл mageUI.exe и научить их изменять URL-адрес развертывания и заново подписывать манифест (появится подсказка). Проблема повторного подписания развертывания в том, что у них должен быть сертификат. Вы можете дать каждой школе свой собственный сертификат (созданный с помощью кнопки «создать тестовый сертификат» в VS, или использовать MakeCert для его создания [спросите, хотите ли вы больше информации]) или дать им все тот же ключ (не очень безопасный, но эй , это будет работать).

Если вы хотя бы обновились до .NET 3.5 SP-1, вы можете развернуть приложение, не подписывая его. (Я не беспокоюсь о .NET 2.0, моя компания находится в том же положении, я просто передаю эту информацию.)

Если у компьютеров есть доступ к Интернету, вы, вероятно, могли бы найти место для размещения развертывания за 10 долларов США в месяц, а затем перенести его на веб-сервер и позволить всем им установить его оттуда. Тогда все получат обновления одновременно, вам нужно будет только развернуть обновления в одном месте. Это было бы самым простым решением, предполагая, что у них есть доступ в Интернет.

RobinDotNet
Посетите мой блог ClickOnce!

3 голосов
/ 19 марта 2010
  1. На вкладке «Публикация» в свойствах вашего проекта есть текстовое поле «URL-адрес установочной папки». Visual Studio требует, чтобы вы что-то туда поместили. Просто вставьте любой произвольный путь UNC (\\someserver\randomfolder)
  2. Нажмите кнопку «Параметры». Выберите «Манифесты» и установите флажок «Исключить URL-адрес поставщика развертывания». Это удалит путь, который вы были вынуждены добавить в шаге 1.

Это должно позволить клиентам размещать ваше развертывание там, где они хотят. Когда их пользователи установят, их ярлык в меню «Пуск» укажет туда, куда они положили развертывание.

Вот описание MSDN об этом флажке ...

Исключить URL-адрес поставщика развертывания
Указывает, следует ли исключить URL поставщика развертывания из Манифест развертывания. Начиная в Visual Studio 2008 SP1, развертывание URL поставщика может быть исключен из проявить для сценариев, в которых обновления приложения должны поступать от местоположение неизвестно во время первоначальная публикация. После приложение опубликовано, обновления будут быть проверенным откуда угодно приложение установлено с.

0 голосов
/ 18 марта 2010

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

0 голосов
/ 18 марта 2010

Проблема связана с безопасностью .Net Framework. К сожалению, у меня нет большого опыта в этой области, но, возможно, одна из этих ссылок поможет:

0 голосов
/ 18 марта 2010

Можете ли вы использовать путь UNC?

\\\server\folder\app.exe?
...