Вниз
Скачать: CL | DM;

InnoSetup и ShellExecute   Найти похожие ветки 

← →
NieL ©   (2012-07-20 16:35) [0]

Пару лет назад в InnoSetup сделал инсталятор для программы-службы. В инсталятор добавил код который останавливает службу, удаляет ее, перезаписывает и запускает. Когда установщик (MyProgram_Install.exe) запускается кликом мыши или из командной строки - все устанавливается без проблем. Каких-либо проблем с установкой никогда не возникало. Сейчас возникла необходимость запуска установщика из программы. В программе запускаю его через ShellExecute, при этом почему-то не выполняется остановка и удаление службы и дальше при перезаписи файла службы сыпется ошибка, что не удалось перезаписать файл службы. Почему так происходит? Если использовать WinExec таже фигня.


← →
Niel ©   (2012-07-20 16:41) [1]

С CreateProcess тоже самое.

Вообще не понятно - запускаю из программы - ошибка, запускаю установщик кликом - все OK.


← →
Юрий Зотов ©   (2012-07-20 16:48) [2]


> запускаю из программы - ошибка

Секретная?


← →
NieL ©   (2012-07-20 16:53) [3]


> Секретная?


Произошла ошибка при попытке замены существующего файла.

На момент появления этого сообщения служка должна быть деинсталирована. Открываю диспетче задач - висит в процессах.

Я вот думаю - может права как-то надо указывать перед запуском


← →
Anatoly Podgoretsky ©   (2012-07-20 17:03) [4]

> NieL  (20.07.2012 16:35:00)  [0]

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


← →
Niel ©   (2012-07-20 17:13) [5]


> Anatoly Podgoretsky ©


ShellExecute(0, "open", "cmd","/c d:\ws_1290.exe", nil, SW_HIDE);

Даже так проблема не решается


← →
Давайте будем жрать!   (2012-07-20 17:19) [6]

С правами чё-то не то. Под ХР работает же и из-под программы, да?


← →
Niel ©   (2012-07-20 17:22) [7]


> Под ХР работает же и из-под программы, да?


XP SP2 - не работает


← →
Давайте будем жрать!   (2012-07-20 17:40) [8]

А как именно сервис останавливаешь?


← →
Cobalt ©   (2012-07-21 01:29) [9]

Как всегда, откладка спасет отца русской демократии


← →
Германн ©   (2012-07-21 01:53) [10]


> почему-то не выполняется остановка и удаление службы

Файервол/антивирус ?


← →
Rouse_ ©   (2012-07-22 15:44) [11]


> Cobalt ©   (21.07.12 01:29) [9]
> Как всегда, откладка спасет отца русской демократии

Кого отКладывать будем? :)

ЗЫ: по сабжу, скорее всего проблема с отсутствием прав, пропиши манифест админа в свою стороннюю запускалку и проверь. Ну либо стартани его из под учетки админа - так даже проще будет.


← →
Давайте будем жрать!   (2012-07-22 23:18) [12]


> Rouse_ ©   (22.07.12 15:44) [11]
Дык [7]


← →
Rouse_ ©   (2012-07-23 11:55) [13]


> Дык [7]

Ну все равно попробовать стоит примерно вот так:
ShellExecute(0, "runas", "d:\ws_1290.exe", nil, nil, SW_SHOWNORMAL);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: -0.939 c
2-1337243492
TStas
2012-05-17 12:31
2013.03.22
Как установить отступ в ричэдите у всех абзацев?


2-1333196241
SKIPtr
2012-03-31 16:17
2013.03.22
управление входящим подключением


15-1339139460
Дмитрий С
2012-06-08 11:11
2013.03.22
Что это слили?


2-1343902126
Wadimka
2012-08-02 14:08
2013.03.22
Как запись типа record записать в TStream?


15-1350458373
TUser
2012-10-17 11:19
2013.03.22
В МИФИ завелась кафедра теологии




   Наверх