2010-09-30 2 views
0

Я использую PInvoke в DLL win32, и я сейчас разместил его в своей папке System32. Есть ли альтернатива этому? Что делать, если мое приложение должно быть развернуто где-то там, где у меня нет доступа к системным папкам?Pinvoke - Местоположение Win32 DLL

ответ

3

Пока DLL присутствует где-то на пути, который используется приложением, он должен загружаться должным образом. Описанный здесь подход работает из-за этой черты: System32 всегда находится на пути.

Вот еще одна информация о how DLLs are located for loading. Ваше приложение может узнать свой собственный путь через

System.Environment.GetEnvironmentVariable("Path"); 
+0

Как вы относитесь к пути, используемому приложением? –

+0

@smkngspcmn - 'System.Environment.GetEnvironmentVariable (« Путь »);' –

+1

@smkngspcmn читается о переменной окружения Path –

3

Пожалуйста, не помещайте его в System32. Вы сделаете свою установку более сложной, чем она должна быть. Просто поместите его в ту же папку, что и exe. Сохраните System32, знаете ли, системный материал.

Смежные вопросы