Запуск программ по сети
Dec. 18th, 2007 10:08 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Win 2003 Server
На сервере установлена некая программа. Существует необходимость запустить эту программу из локальной сети. Каталог, в который установлена прога, открыт для полного общего доступа с именем шары progdir даже для самого последнего юзера. Прога использует Net Framework 2.0.
При запуске c:\program files\progdir\proga.exe всё работает отлично.
При запуске \\server\progdir\proga.exe (запуск с сервера под админом) винда думает пару секунд, на экране ничего не происходит, а в журнале событий "Приложение" появляется запись ошибки с кодом 1000 (.NET) в коей указывается faulting application proga.exe, парам-парам, faulting module kernel32.dll.
Тот же результат получаем, если скопируем только экзешник программы в любое другое место, например на десктоп, и запустим оттуда. То есть получается, что программа при запуске не может получить доступ (или найти) dll-ку, которая лежит рядом с ней в расшаренном каталоге.
Было мнение, что проблема с доступом из-за NTFS, но установка проги на раздел FAT32 дала тот же результат.
Была попытка в процессе установки проги указать ей путь установки \\server\progdir\, но инсталлер на каком-то этапе ругается, что не может найти необходимый для установки файл по пути "file:///\\server\progdir...", не удалось.
Для экплорера программа является программой неизвестного издателя (он ругается при её запуске).
Такой способ запуска для данной проги в целом возможен, ибо на другом компе оно всё работает. Просмотрел все настройки безопасности, какие мог посмотреть на компе, где оно работает, различий не увидел.
Где и что надо прописать, чтобы оно заработало?
Я лох, помогите чайнику.
На сервере установлена некая программа. Существует необходимость запустить эту программу из локальной сети. Каталог, в который установлена прога, открыт для полного общего доступа с именем шары progdir даже для самого последнего юзера. Прога использует Net Framework 2.0.
При запуске c:\program files\progdir\proga.exe всё работает отлично.
При запуске \\server\progdir\proga.exe (запуск с сервера под админом) винда думает пару секунд, на экране ничего не происходит, а в журнале событий "Приложение" появляется запись ошибки с кодом 1000 (.NET) в коей указывается faulting application proga.exe, парам-парам, faulting module kernel32.dll.
Тот же результат получаем, если скопируем только экзешник программы в любое другое место, например на десктоп, и запустим оттуда. То есть получается, что программа при запуске не может получить доступ (или найти) dll-ку, которая лежит рядом с ней в расшаренном каталоге.
Было мнение, что проблема с доступом из-за NTFS, но установка проги на раздел FAT32 дала тот же результат.
Была попытка в процессе установки проги указать ей путь установки \\server\progdir\, но инсталлер на каком-то этапе ругается, что не может найти необходимый для установки файл по пути "file:///\\server\progdir...", не удалось.
Для экплорера программа является программой неизвестного издателя (он ругается при её запуске).
Такой способ запуска для данной проги в целом возможен, ибо на другом компе оно всё работает. Просмотрел все настройки безопасности, какие мог посмотреть на компе, где оно работает, различий не увидел.
Где и что надо прописать, чтобы оно заработало?
Я лох, помогите чайнику.
no subject
Date: 2007-12-18 07:29 pm (UTC)no subject
Date: 2007-12-18 07:41 pm (UTC)Часть 2. Хм.., возможно это откровение.. буду думать..
no subject
Date: 2007-12-18 07:55 pm (UTC)Все же, запуская программу с сетевого диска, Вы создаете процесс именно на локальной машине. А значит, если программа использует какие-либо ресурсы, доступные исключительно локально (тот же .NET Framework, COM/DCOM components, windows services, WMI и т.д.) - эти ресурсы должны быть установлены локально.
no subject
Date: 2007-12-18 08:03 pm (UTC)Запуская программу с сетевого диска я запускаю ее именно на сервере, ибо в моем случае я еще не подключил сервер к локальной сети, он стоит одинок, прогу запускаю на нем же через \\server\progdir\prog.exe
Собираюсь копать в настройках безопасности Net Framework на сервере и в настройках Администрирование -> Службы компонентов
Есть смысл там копать?
no subject
Date: 2007-12-18 08:11 pm (UTC)Если не секрет - зачем идти на локальный сервер через сеть?!
no subject
Date: 2007-12-18 08:16 pm (UTC)Можно было бы забить на всё. Но проблема в том, что на соседнем компе, вместо которого ставим новый, всё работает..
no subject
Date: 2007-12-18 07:44 pm (UTC)В таком случае, самое простое, если не единсвеноое решение — redsktop, VNC и т.п.
no subject
Date: 2007-12-18 07:48 pm (UTC)no subject
Date: 2007-12-18 08:05 pm (UTC)2. Сложно в плане нагрузки на сервак. Этот вариант работает, но он не подходит. Любой локальный юзер нормально имеет эту прогу, а по нетбиосу - не может.
no subject
Date: 2007-12-18 08:20 pm (UTC)или доставляет или нет.-)
no subject
Date: 2007-12-18 08:30 pm (UTC)no subject
Date: 2007-12-18 08:33 pm (UTC)отку-да то появляется милиция и скорая, рядом начинают ползать ребята в комбенизонах и что-то мне говорить...
Скажите кто-нибудь, что делать?"
no subject
Date: 2007-12-18 08:35 pm (UTC)no subject
Date: 2007-12-18 08:39 pm (UTC)Тем блеее, как я понимаю, у проиграммы более-менее продуманная защита.
Сомневаюсь, что разработчики такие "идиото", что не предусмотрели.-)
no subject
Date: 2007-12-18 08:41 pm (UTC)no subject
Date: 2007-12-18 09:37 pm (UTC)В любом случае, имейте в виду, что "нетбиос" - это всего лишь транспортный протокол (точнее, набор оных), а файлы, раздаваемые по нему видны виндовым системам также, как файлы на простой дискетке или флешке.
no subject
Date: 2007-12-18 09:12 pm (UTC)Решение — добавить для данной программы (по пути или strong-имени) права FullTrust при помощи оснастки конфигурации .net.
Это решит проблему, если программа не затрагивает специфические ресурсы первой машины (например, файлы, которых нету на второй машине, или драйверы, которые установлены только на первой)
аддон
Date: 2007-12-18 10:48 pm (UTC)Re: аддон
Date: 2007-12-20 03:18 pm (UTC)no subject
Date: 2007-12-19 12:03 am (UTC)no subject
Date: 2007-12-19 05:23 am (UTC)