2008-11-05 6 views
3

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

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

ответ

2

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

2

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

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

Для получения дополнительной информации см это сообщение о теме, Using CasPol to Fully Trust a Share

0

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

0

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

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

Другое место, которое я пробовал, установив .NET Framework 3.5, не удалось, поскольку я пропустил, что я не устанавливал SP1. Установка SP1 на тестовую машину также устранила проблему. Этот метод решил, что мой босс решил использовать, поскольку он минимизирует взаимодействие между нами и персоналом нашего клиента.

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