Запуск exe-файла .net из общего сетевого ресурса выполняется с частичным доверием, когда пользователю не предоставляется доступ к общему корневому каталогу

У меня есть ситуация, когда есть общий общий сетевой путь, скажем "\ 10.x.x.x \ CommonShare". Только администратор имеет разрешение на этот путь.

Теперь внутри commonshare мы создаем пользовательские папки, к которым этот конкретный пользователь будет иметь полный доступ. Как пользователь XYZ будет иметь полный доступ к \ 10.x.x.x \ CommonShare \ XYZ

Теперь пользователь XYZ входит в систему в своем собственном ящике и оттуда запускает исполняемый файл, который доступен в общей папке \ 10.x.x.x \ CommonShare \ XYZ \ testApp.exe.

Настроили его так, чтобы он был доступен из сетевой папки в конфигурации, как показано ниже:

\ 10.x.x.x \ CommonShare \ XYZ \ testApp.exe.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>

  </startup>
  <runtime>
    <!--<NetFx40_LegacySecurityPolicy enabled="true"></NetFx40_LegacySecurityPolicy>-->
    <loadFromRemoteSources enabled="true"/>
  </runtime>
</configuration>

Хотя исполняемый файл запускается, но он не работает при вызове System.Net.IwebProxy.

Но когда пользователю добавляется доступ только для чтения к корневому общему пути, все это работает нормально. Но, к сожалению, клиент не хочет этого делать.

Если кто-то сталкивался с подобной проблемой, поделитесь. Как из общего сетевого ресурса .net exe (профиль клиента целевой платформы 4.0) может быть запущен с полным доверием в данном сценарии. Я пробовал использовать CASPOL, но проблема остается.

Спасибо.


person Rajesh Raushan    schedule 02.02.2016    source источник


Ответы (1)


Обратился в Microsoft по этому поводу и нашел решение.

Попытка создать Socket или TCP-клиент не удалась

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

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ FltMgr

добавьте эту запись Имя: UseTildeShortcut (DWORD) Данные: 1

Другой обходной путь - сделать так, чтобы имя общего ресурса, а также имена всех папок в пути состояли не менее чем из 8 символов. Некоторые обсуждения доступны в другом Microsoft-KB здесь.

Операции на основе Winsock завершаются ошибкой в ​​Windows 7 или Windows Server 2008 R2, если исполняемый файл находится на общий ресурс NFS.

person Rajesh Raushan    schedule 03.03.2016