Проблема регистрации dll-Доступ запрещен
при попытке запустить regasm в Win2008 Server:
regasm "C:Program FilesFooProgBar.dll" /tlb:"C:Program FilesFooProgBar.tlb"
Я получаю следующую ошибку:
RegAsm: error RA0000: произошла ошибка при сохранении экспортированного библиотека типов: Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_accessdenied можно))
что это значит
10 ответов
учетная запись, под которой вы запускаете regasm, не имеет прав на запись C:\Program Files\FooProg\ и именно поэтому regasm не удается написать .tlb. Запустите regasm под учетной записью с правами администратора.
эта ошибка наиболее часто возникает, потому что вы не можете удалить соответствующий .файл tlb. Два других предложения:
- остановите IIS и повторите попытку регистрации:
- остановить IIS, удалить .tlb-файлы из любого места, где находится ваш DLL-файл, а затем попробуйте зарегистрироваться снова.
- закройте все инструменты IE/IIS/DEV (они могут хранить некоторые файлы в состоянии только для чтения), а затем попытайтесь зарегистрировать свою DLL
эта ошибка наиболее часто возникает, потому что вы не можете удалить соответствующий .файл tlb. Два других предложения: 1. Остановите IIS и повторите попытку регистрации: 2. Остановите IIS, удалите .tlb-файлы из любого места, где находится ваш DLL-файл, а затем попробуйте зарегистрироваться снова.
в моем случае обе .dll и .файл tlb был ReadOnly удаление проверки ReadOnly работал для меня, также я закрыл процесс, который использовал его как (Visual Studio IDE).
скорее всего, вы получаете ошибку из-за процесса, имеющего крючки.dll или .файл tlb, который вы пытаетесь зарегистрировать или скопировать. Перезагрузите компьютер и повторите попытку или удалите его .TLB-файл и перестроить его, чтобы убедиться, что вы можете получить к нему доступ.
У меня был бродячий dllhost.процесс exe. Убийство позволило мне удалить его .файл tlb и перерегистрация. Другие подходы (остановка IIS, остановка пулов приложений, закрытие всех IDE) не имели никакого эффекта.
сначала мне пришлось удалить все пробелы в пути к моей dll, прежде чем regasm нашел файл dll.
но когда я попытался с кавычками вокруг целей, это все равно сработало.
Win 7 (Если вы уже являетесь администратором) - вы можете включить разрешения для файла, щелкнув правой кнопкой мыши и получив доступ к свойствам, вкладке "Безопасность", нажмите "правка", проверьте разрешение, например, полный контроль.