Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2011, 14:43   #1
GAAjr
 
Регистрация: 06.02.2011
Сообщений: 4
По умолчанию Изменение PATH не влияет на поиск DLL в Vista в дочернем процессе

Сделанный в Inno Setup установщик запускает gtk-runtime-setup, который добавляет путь в PATH. В конце установки предлагается сразу запустить установленное приложение. Появляется окошко, что dll из gtk не найдено.

1. Маленькой программкой посылаю broadcast WM_SETTINGCHANGE - не помагает, т.к. Inno Setup установщик игнорирует эти сообщения и не обновляет переменные окружения.
2. Другой маленькой программке передаю HKCU\PATH & HKLM\PATH, и она с помощью ExpandEnvironmentStrings выплёвывает полный PATH, который я с помощью SetEnvironmentVariable устанавливаю в Inno Setup установщике. Работает НО! Не в Висте (7-ку даже ещё не пробовал).

Похоже, была придумана ещё одна преграда. Подскажите, как её одолеть?
GAAjr вне форума Ответить с цитированием
Старый 06.02.2011, 15:23   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от GAAjr Посмотреть сообщение
2. Другой маленькой программке передаю HKCU\PATH & HKLM\PATH, и она с помощью ExpandEnvironmentStrings выплёвывает полный PATH, который я с помощью SetEnvironmentVariable устанавливаю в Inno Setup установщике. Работает НО! Не в Висте (7-ку даже ещё не пробовал).
попробуй эту маленькую программу запускать от администратора, иногда такой трюк канает...
rpy3uH вне форума Ответить с цитированием
Старый 06.02.2011, 17:01   #3
GAAjr
 
Регистрация: 06.02.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
попробуй эту маленькую программу запускать от администратора, иногда такой трюк канает...
Я считал, что если установщик запущен от администратора, то все вызванные им процессы наследуют права, не так ли?
GAAjr вне форума Ответить с цитированием
Старый 07.02.2011, 11:14   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

не уверен. пусть кто-нибудь другой ответтит. с Вистой не работал вообще. с семёркой имею небольшой опыт "общения"
rpy3uH вне форума Ответить с цитированием
Старый 07.02.2011, 11:30   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Ты бы конкретно на примере объяснил, а не так, что в воздухе руками помахал.

Есть C:\MyApp.exe, есть C:\DLLs\Dll.dll, которая зависит от C:\DLLs\Dll2.dll, я запускаю MyApp.exe, делаю PATH так (код), загружаю то, ожидаю сё, но выходит это.

Как-то так.

И скрин окошка с ошибкой, либо точное сообщение.

А то свой хрустальный шар я на прошлом месте работы забыл.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 07.02.2011, 12:25   #6
GAAjr
 
Регистрация: 06.02.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Ты бы конкретно на примере объяснил, а не так, что в воздухе руками помахал.
Я ж это, winapi-вызовы привёл...

А окно с ошибкой - классическое, когда приложение не находит dll, необходимую для запуска.
GAAjr вне форума Ответить с цитированием
Старый 07.02.2011, 12:30   #7
GAAjr
 
Регистрация: 06.02.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
попробуй эту маленькую программу запускать от администратора, иногда такой трюк канает...
Извини за недоверие! Сегодня снова виста в моём распоряжении. Попробовал запустить установщик через контекстное меню "запустить как администратор". Установилось и... автозапуск из установщика сработал

Да, странно... Значит, я ошибочно полагал, что пользователи пот вистой больше не могут устанавливать приложения, и после нажатия "да, прога может изменять компьютер" они выполняются с правами админа. Или эти админские права под вистой какие-то разные.

Последний раз редактировалось GAAjr; 07.02.2011 в 14:23.
GAAjr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
<!DOCTYPE влияет на код! wr_vu HTML и CSS 4 03.01.2011 02:48
ООП - получить еще не созданный объект в дочернем классе Cronos20 PHP 7 30.11.2010 01:09
Рисованее на дочернем окне DarkEN_ANGEL Общие вопросы C/C++ 0 25.11.2010 15:51
Отрисовка картинки в дочернем окне через поток eregov Win Api 1 15.11.2010 13:43