Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Heccap
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 1
1

Запускаемый exe не видит библиотеки в своей директории

14.11.2014, 01:14. Просмотров 909. Ответов 1
Метки нет (Все метки)

Я понимаю что мой вопрос поставлен не корректно, и его из-за этого трудно понять... Но уверяю вас я сейчас все разжую. =)

Вообщем есть программка в которую посредством ресурсов запихан exe'шник и запускается вот такой хитрой штукой:
vb.net
1
2
3
4
5
6
7
8
9
Dim ST As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\3DM.exe"
IO.File.WriteAllBytes(ST, My.Resources._Dim)
   Dim P As Process
        P = New Process
        P.StartInfo.FileName = (ST)
        P.Start()
        P.WaitForExit()
        System.Threading.Thread.Sleep(100)
        IO.File.Delete(ST)
Проблема в том что dll файлы нужные для его работы находятся в директории непосредственно самой "программки"..
Возможно ли как то это исправить при этом не меняя директорию dll'ок и exe'шника?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2014, 01:14
Ответы с готовыми решениями:

Использование своей библиотеки классов
Создал библиотеку классов: Imports System.Runtime.InteropServices ...

Создание .exe файла из своей прогаммы
Допустим у меня есть программа которая создает (программно) новую форму и на...

Открыть exe файл из указанной директории
Help cтолкнулся с такой ситуацией, есть форма (form1.vb) на форме расположена...

Подключение библиотеки непосредственно в .exe
Мне нужно подключить AxInterop.WMPLib.dll прям во внутрь .exe, для того что бы...

Как вшить библиотеки в exe
Здрасти. Для своего проекта я использую стороннюю библиотеку. Так, вот вопрос,...

1
Памирыч
Почетный модератор
20884 / 8768 / 1080
Регистрация: 11.04.2010
Сообщений: 11,013
14.11.2014, 01:31 2
Лучший ответ Сообщение было отмечено как решение

Решение

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

Целесообразно указать рабочую директорию принудительно перед запуском процесса


vb.net
1
P.StartInfo.WorkingDirectory = IO.Path.GetDirectoryName(ST)
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2014, 01:31

Запущенное стороннее приложение не "видит" файлов в своей директории
Здравствуйте. Когда я запускаю стороннее приложение из программы, то оно...

Почему запускаемый файл (.exe) на другом ПК не запускается?
Добрый вечер! Собственно, по сабжу Написанная программка не запускается на...

Как запретить скрипту выходить за пределы своей директории?
Я как-то на локальном комп-е баловался с созданием/удалением файлов с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru