Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.062 c
15-1268222361
@!!ex
2010-03-10 14:59
2010.08.27
Самый быстрый C++ компилятор


15-1273818579
bss
2010-05-14 10:29
2010.08.27
Иерархия классов настроек


2-1266495492
NewGuest
2010-02-18 15:18
2010.08.27
Удаление компонентов в Run-Time


10-1164104135
Layner
2006-11-21 13:15
2010.08.27
Передача строкового параметра в COM из HTML страницы


2-1270459108
MonoLife
2010-04-05 13:18
2010.08.27
Запрос Local SQL.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский