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





Вы говорите, что предоставили коду полные разрешения, но назначили ли вы FullTrust общему сетевому ресурсу? В .NET общие сетевые ресурсы являются частью домена локальной интрасети, поэтому вы теряете некоторое доверие. Запустите что-то вроде:
CasPol.exe -m -ag 1.2 -url file://\\ShawnFa-Srv/Tools/* FullTrust
Для получения дополнительной информации см. Этот пост по теме, Использование CasPol для полного доверия к акциям
Да, я дал на акцию полное доверие. Это то, что я имел в виду под полными разрешениями, я слишком привык объяснять это нетехническим людям.
Обновление до .NET 3.5 SP 1. Это убирает различие между файлами в локальной интрасети и локальными жесткими дисками Защита доступа к коду WRT (в том числе для сборок 2.0).
Хорошо, я нашел ответ в повторном посещении различий между CasPol и .NET Framework Configuration Utility (утилитой), а также в том, как каждый из них работает. Это может занять немного больше времени, поскольку я печатаю его здесь для себя, а также для других, у кого такая же проблема, и которые не завершают процесс (как я сначала этого не делал).
Когда я впервые попробовал CasPol, а затем утилиту, я не понял, что мне нужно ввести новую запись в существующий раздел «зоны», и попытался ввести его как новый раздел в основном разделе «Весь код». Переместив его в зону интрасети, позвольте коду работать.
Другое место, которое я пробовал, установка .NET Framework 3.5, потерпело неудачу, поскольку я упустил из виду, что я не устанавливал SP1. Установка SP1 на тестовую машину также устранила проблему. Мой босс решил, что мы хотим использовать этот метод, поскольку он сводит к минимуму взаимодействие между нами и ИТ-персоналом наших клиентов.
Спасибо вам обоим за вашу помощь. Я ценю время.