Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: VB.Net и сеть Добавлено: 19.04.05 11:34  

Автор вопроса:  Stef
После компиляции приложение работает отлично но одна проблема, хотелось - бы выложить приложение в сеть (для удобства обновлений версий) но на этом этапе я потерпел неудачу. Приложение или вообще не запускается, или пробует самооткрыться в VB(На пользовательских машинах NF установлен).
Подскажите пожалуста возможно ли запустить приложение с сетевого диска.

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Stef



Вопросов: 16
Ответов: 17
 Профиль | | #1 Добавлено: 20.04.05 10:16
Ребаты, ну што никто не пробовал запустить приложение с сетевого диска. Если запускалось или не запускалось просто напишите хотабы для сравнения.

Ответить

Номер ответа: 2
Автор ответа:
 Агент Смит



ICQ: 147404128 

Вопросов: 12
Ответов: 128
 Web-сайт: www.bbsoftware.ru
 Профиль | | #2
Добавлено: 28.04.05 19:50
Здесь все дело в так называемой Code Access Security.
В .NET права имеют не только пользователи, запускающие программы, но и сами программы. Например, можно указать, что интернет-пейджер не имеет права записывать что-либо на диск. Оно и верно, зачем ему записывать? А то еще заразу занесет какую-нибудь... Конечно, только при условии, что интернет-пейджер написан на .NET
Права можно давать не только программам, но и индивидуальным сборкам (т.е. DLL-файлам). Чтобы выполнить определенное действие, право на него должна иметь сама сборка, которая пытается это действие выполнить, а также сборка, которая ее вызвала, и сборка которая вызвала ту сборку... И так далее, до самого корневого приложения.

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

Решить проблему можно повысив вашей программе уровень привилегий. Самый простой путь - скопировать программу на локальный диск. Однако, если вам это не подходит, можно просто модифицировать политику безопасности .NET Framework на вашем компьютере так, чтобы она позволяла коду, запускаемому из сети, производить все необходимые действия. Для этой цели служит раздел "Runtime Security Policy" утилиты "Microsoft .NET Framework Configurations", которая поставляется в комплекте с .NET Framework. Её можно найти в меню "Пуск->Программы->Администрирование".

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам