Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Вопрос по Inno Setup. Как обновить файл?   Найти похожие ветки 

 
@!!ex ©   (2010-04-24 00:29) [0]

Есть ехешка. Она в автозугрзке и в момент установки запущена.
Ее нужно обновить. Как это сделать?


 
silver ©   (2010-04-24 00:30) [1]

завершить, обновить, запустить


 
@!!ex ©   (2010-04-24 00:32) [2]

Не могу найти в хелпе к Inno соответствующих команд...


 
Германн ©   (2010-04-24 00:32) [3]


> Она в автозугрзке и в момент установки запущена.

А при чем тут автозагрузка?


 
@!!ex ©   (2010-04-24 00:33) [4]

> [3] Германн ©   (24.04.10 00:32)

Уточнение на тему: программа всегда запущена.
Как обновить?


 
Германн ©   (2010-04-24 00:34) [5]


> Не могу найти в хелпе к Inno соответствующих команд...
>

В Inno  есть секция, где ты можешь написать свой собственный код.


 
silver ©   (2010-04-24 00:35) [6]


> Не могу найти в хелпе к Inno соответствующих команд...

там есть скриптовой язык (секция [code]), можно вызывать API


 
@!!ex ©   (2010-04-24 00:37) [7]

Спасибо. Попробую.


 
@!!ex ©   (2010-04-24 00:45) [8]

То что нужно. Правда там не совсем API, но тез функций что он предоставляет - выше крыши.


 
silver ©   (2010-04-24 01:29) [9]


> Правда там не совсем API, но тез функций что он предоставляет
> - выше крыши.

ну я все не помню
в любом случае, вызов ф-ий из любой длл позволяет сделать многое


 
Anatoly Podgoretsky ©   (2010-04-24 08:27) [10]

> @!!ex  (24.04.2010 00:29:00)  [0]

Ее надо закрыть (должна быть закрыта) перед обновлением.


 
Anatoly Podgoretsky ©   (2010-04-24 08:28) [11]

> silver  (24.04.2010 01:29:09)  [9]

Тогда совсем АПИ


 
Суслик_ ©   (2010-04-26 01:41) [12]

ну тебе в секции [code] написать свой функционал по закрытию обновляемой программы. или ты можешь потребовать от пользователя, чтобы он закрыл сам.

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

если не ошибаюсь, в inno есть соотв. команда проверки мьютекса.


 
[true]TRIx ©   (2010-04-26 04:57) [13]

не парь мозги. это опенсорц на дельфи. сделай выгрузку процесса +с-о-м


 
inoremap   (2010-04-26 09:49) [14]

restartreplace


 
Суслик__   (2010-04-26 14:12) [15]

У меня примерно так


// Событие
function InitializeUninstall(): Boolean;
begin
 Result := True;

 if CheckForMutexes("Global\MyProgIsRunning2473298472947294387") then
 begin
   MsgBox("Программа ""+GetAppName("")+"" в настоящий момент запущена на Вашем компьютере."#13#10+#13#10+
     "Нельзя выполнить удаление, пока запущенная программа не будет остановлена."#13#10+#13#10+
     "Процесс удаления прерван.", mbInformation, MB_OK);
   Result := False;
 end;
end;


 
silver ©   (2010-04-26 23:48) [16]


> У меня примерно так

зачем?
софт же ваш, проще в анинсталле закрыть
еще б и рекламку вставили - юзера все стерпят, а некоторые и нажмут, да


 
Омлет ©   (2010-04-27 00:04) [17]

> Суслик__   (26.04.10 14:12) [15]

Зачем этот код? Достаточно добавить директиву AppMutex в секцию [Seup] .


 
Суслик_ ©   (2010-04-27 01:21) [18]


> Омлет ©   (27.04.10 00:04) [17]
>
> > Суслик__   (26.04.10 14:12) [15]
>
> Зачем этот код? Достаточно добавить директиву AppMutex в
> секцию [Seup] .


там раньше был более сложный функционал.
уже не помню какой - svn на работе.
просто теперь оставил так - работает и ладно.
про директиву я знаю.

я показал как работает ))) инсталляторы такая штука - сделал и забыл (имхо).


 
silver ©   (2010-04-27 01:32) [19]


> сделал и забыл (имхо).

а юзеры помнят и матерят


 
Суслик_ ©   (2010-04-27 01:39) [20]


> silver ©   (27.04.10 01:32) [19]
>
>
> > сделал и забыл (имхо).
>
> а юзеры помнят и матерят


зачем ты эту ерунду тут говоришь?


 
Германн ©   (2010-04-27 01:47) [21]


> а юзеры помнят и матерят

Но не в такой ситуации как у Суслик__   (26.04.10 14:12) [15]
Там всё чётко. Юзера предупредили. Дальнейшее полностью в руках юзера.


 
Суслик_ ©   (2010-04-27 02:59) [22]

Германн, ты на мою сторону встал? Или я тонкого юмора не понял?
)))


 
Германн ©   (2010-04-27 03:26) [23]


> Суслик_ ©   (27.04.10 02:59) [22]
>
> Германн, ты на мою сторону встал?

А я разве когда-то вставал на другую сторону, Дим?
Я всегда "на твоей стороне". Это ты не всегда на "той стороне".


 
@!!ex ©   (2010-04-27 07:42) [24]

> [16] silver ©   (26.04.10 23:48)
> софт же ваш, проще в анинсталле закрыть

У меня фоновая утилита, закрывать автоматически сам бог велел...
А если это нормальная программа, просто тихо ее грохать нельзя..


 
Anatoly Podgoretsky ©   (2010-04-27 09:01) [25]

> Суслик_  (27.04.2010 02:59:22)  [22]

Больше на сторону пользователя - мол сам дурак.


 
silver ©   (2010-04-27 12:41) [26]


> А если это нормальная программа, просто тихо ее грохать
> нельзя..

что значит нельзя?
вы подумайте о чем вы говорите
юзер УДАЛЯЕТ програмный продукт (в котором не только екзе есть), а вы побаиваетесь потерять его данные чтоли?
самому не смешно?


 
@!!ex ©   (2010-04-27 12:43) [27]

> [26] silver ©   (27.04.10 12:41)

Нет. А должно быть?


 
silver ©   (2010-04-27 12:43) [28]

конечно же лучше заколебать предложениями, или оставить не удаленным
чо, можно сделать анинсталл с одним мессаджбоксом - "зайдите в program files, удалите папку ххх, запустите regedit удалите ветку ххх"
мало ли, юзеру чо понадобится - пусть сам решает


 
silver ©   (2010-04-27 12:44) [29]


> Нет. А должно быть?

да


 
DVM ©   (2010-04-27 12:45) [30]



> silver ©   (27.04.10 12:41) [26]


> юзер УДАЛЯЕТ програмный продукт (в котором не только екзе
> есть), а вы побаиваетесь потерять его данные чтоли?
> самому не смешно?

А теперь представь как Word грохает все документы пользователя при своем удалении. Или приложение грохает базу данных при удалении. Или Delphi все проекты ? Данные пользователя нельзя удалять, ДВАЖДЫ НЕ СПРОСИВ.


 
silver ©   (2010-04-27 12:47) [31]


> А теперь представь как Word грохает все документы пользователя
> при своем удалении. Или приложение грохает базу данных при
> удалении. Или Delphi все проекты ?

не представлю
на фейхоа ему это делать?
перестаньте бредить

> Данные пользователя нельзя удалять, ДВАЖДЫ НЕ СПРОСИВ.

где я написал, что их надо удалять вообще?


 
@!!ex ©   (2010-04-27 12:49) [32]

> [31] silver ©   (27.04.10 12:47)
> где я написал, что их надо удалять вообще?

Если программа запущена есть вероятность что пользователь оставил открытый не сохраненный документ


 
DVM ©   (2010-04-27 12:50) [33]


> silver ©   (27.04.10 12:47) [31]


> где я написал, что их надо удалять вообще?


> юзер УДАЛЯЕТ програмный продукт (в котором не только екзе
> есть), а вы побаиваетесь потерять его данные чтоли?

Здесь. Тихо грохнув программу можно повредить данные.


> перестаньте бредить

Советую делать тоже самое.


 
silver ©   (2010-04-27 12:52) [34]


> Если программа запущена есть вероятность что пользователь
> оставил открытый не сохраненный документ

и при этом случайно запустил анинстал, ога


 
@!!ex ©   (2010-04-27 12:53) [35]

> [34] silver ©   (27.04.10 12:52)

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


 
silver ©   (2010-04-27 12:54) [36]


> Здесь. Тихо грохнув программу можно повредить данные.

ГДЕ там написано "НАДО УДАЛЯТЬ ДАННЫЕ ЮЗЕРА"?

вам в голову не приходило, что анинстал даже может сказать приложению сохраниться?


> Советую делать тоже самое.

на вопрос ответь сначала


 
silver ©   (2010-04-27 12:55) [37]


> Реально, хватит бредить.

так почему не заканчиваете?


> Прогу закрыть забыл случайно.

и?


 
DVM ©   (2010-04-27 12:57) [38]


> silver ©   (27.04.10 12:52) [34]


> и при этом случайно запустил анинстал, ога

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


 
silver ©   (2010-04-27 12:57) [39]


> Запросто. Разное бывает. Пользователь может и не знать,
> что у него там запущено, особенно если оно работает в фоновом
> режиме.

и?


 
silver ©   (2010-04-27 12:58) [40]


> А еще не надо забывать о возможной одновременной работе
> нескольких пользователей в терминальных сессиях.

как мессаджбокс спасет?



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

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.052 c
2-1270132693
vlad2
2010-04-01 18:38
2010.08.27
Искажение иконок в трее


2-1270656345
Беликов А.А,
2010-04-07 20:05
2010.08.27
ADOQuery и TThread


15-1266600977
Жора
2010-02-19 20:36
2010.08.27
Помогите решить задачу по математике


2-1273137388
Новичек1
2010-05-06 13:16
2010.08.27
вопрос по Set of


15-1266711780
KilkennyCat
2010-02-21 03:23
2010.08.27
586b наглядно