Как получить сборку .NET, работающую под Delphi, с сетевого диска?

У меня есть исполняемый файл Delphi 5, который вызывает сборку .NET через бесплатный код Delphi .NET, и по большей части это отлично работает. Однако одно из требований моего приложения заключается в том, чтобы наши клиенты могли использовать его как из общего сетевого ресурса, так и локально. На моей тестовой машине я не могу заставить это работать, я просто получаю сообщение об ошибке. Код .NET имеет полные разрешения, но возвращается какая-то ошибка, которую Delphi не может получить или интерпретировать. На локальном диске приложение и сборка взаимодействуют безупречно.

Может ли кто-нибудь сказать мне, как хотя бы вернуть сообщения об ошибках из этого? Или, если возможно, кто-нибудь может сказать мне, почему я получаю ошибки таким образом? Спасибо.


person Tom A    schedule 05.11.2008    source источник


Ответы (4)


Обновление до .NET 3.5 SP 1. Это удаляет различие между файлами в локальной интрасети и локальными жесткими дисками защита доступа по коду WRT (в том числе для сборок 2.0).

person Craig Stuntz    schedule 05.11.2008

Вы говорите, что дали коду полные разрешения, но назначили ли вы FullTrust для общего сетевого ресурса? В .NET общие сетевые ресурсы являются частью локального домена интрасети, поэтому вы теряете доверие. Запустите что-то вроде;

CasPol.exe -m -ag 1.2 -url file://\\ShawnFa-Srv/Tools/* FullTrust

Для получения дополнительной информации см. этот пост по теме, Использование CasPol для полного Доверяйте акции

person Rob Prouse    schedule 05.11.2008

Да, я дал полное доверие акции. Вот что я имел в виду под полными разрешениями, я слишком привык объяснять это нетехническим людям.

person Tom A    schedule 05.11.2008

Хорошо, я нашел ответ, повторно посетив различия между CasPol и утилитой настройки .NET Framework (утилита), а также то, как работает каждая из них. Это может быть немного длинно, так как я печатаю это здесь для себя, а также для других, у которых такая же проблема, и они не завершают процесс (как я не сделал сначала).

Когда я впервые попробовал CasPol, а затем утилиту, я не понял, что мне нужно ввести новую запись в существующий раздел «зона», и попытался ввести ее как новый раздел в основном разделе «Весь код». Перемещение его в зону интрасети позволяет коду работать.

В другом месте, которое я пробовал, установка .NET Framework 3.5 не удалась, поскольку я пропустил, что не устанавливал SP1. Установка SP1 на тестовую машину также устранила проблему. Мой босс решил, что этот метод мы хотим использовать, поскольку он сводит к минимуму взаимодействие между нами и ИТ-персоналом нашего клиента.

Спасибо вам обоим за вашу помощь. Я ценю время.

person Tom A    schedule 06.11.2008