Главная страница
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]


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

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


 
DVM ©   (2010-04-27 12:58) [41]


> silver ©   (27.04.10 12:54) [36]


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

Хорошо, там не написано удалять. Там написано повредить, тупо грохнуть и забыть.


 
silver ©   (2010-04-27 13:00) [42]


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

где?? О_о


 
DVM ©   (2010-04-27 13:01) [43]


> silver ©   (27.04.10 12:57) [39]


> и?

Что ты хочешь услышать еще? Есть какие то другие аргументы против написанного мной, кроме предлогов?


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

Есть много разных хороших средств, кроме MessageBox.


 
DVM ©   (2010-04-27 13:02) [44]


> silver ©   (27.04.10 13:00) [42]


> где?? О_о
>
>

Там где говорится о допустимости насильственного убиения программ пользователя при деинсталляции.


 
silver ©   (2010-04-27 13:04) [45]


> Там где говорится о допустимости насильственного убиения
> программ пользователя при деинсталляции.

где я писал о убиении?
ДМ нихера не меняется
я писал о закрытии своего же приложения - это понятно?
кто мешает все сохранить корректно перед закрытием, а перед этим показать страницу с предупреждением в анинстале?

бредить и додумывать за меня переставайте


 
DVM ©   (2010-04-27 13:06) [46]


> silver ©

Да собственно, что спорить то? Хочешь - грохай свои программы при удалении принудительно.

Я бы так делать не стал. Рано или поздно это приведет к проблемам.


 
silver ©   (2010-04-27 13:07) [47]


> DVM ©   (27.04.10 13:06) [46]

как хочешь
спасибо, что не дописал опять своих домыслов мне


 
DVM ©   (2010-04-27 13:11) [48]


> silver ©   (27.04.10 13:04) [45]


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

Конкретно вот эта фраза говорит о том, что данные пользователя можно не бояться потерять.

У меня нет претензий по поводу удаления своей программы, если ей можно подать сигнал и она сможет закрыться корректно и при этом сохранить данные пользователя. Если сможет конечно без участия пользователя. Это не всегда возможно и если есть хоть малейшее подозрение на это лучше не закрывать.


 
DVM ©   (2010-04-27 13:13) [49]


> silver ©   (27.04.10 13:07) [47]


> спасибо, что не дописал опять своих домыслов мне

Хорошо. Простой пример:

Юзер открыл в твоей программе документ. Отредактировал, не сохранил еще. Но хотел сохранить под другим именем. И тут по какой то причине начинается деинсталляция. Может комп в домене или еще что, но начинается. Что делать программе с документом? Пусть ее даже уведомили о том что пора сворачиваться?


 
silver ©   (2010-04-27 13:14) [50]


> DVM ©   (27.04.10 13:11) [48]

да у пользователя может свет отрубить, или машина его сбить может
мне боятся за него?

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


 
silver ©   (2010-04-27 13:15) [51]


> Юзер открыл в твоей программе документ. Отредактировал,
> не сохранил еще. Но хотел сохранить под другим именем. И
> тут по какой то причине начинается деинсталляция. Может
> комп в домене или еще что, но начинается. Что делать программе
> с документом? Пусть ее даже уведомили о том что пора сворачиваться?

а это сугубо половые сложности программы


 
DVM ©   (2010-04-27 13:18) [52]


> silver ©   (27.04.10 13:15) [51]

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


 
DVM ©   (2010-04-27 13:19) [53]


> silver ©   (27.04.10 13:14) [50]


> да у пользователя может свет отрубить, или машина его сбить
> может
> мне боятся за него?

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


 
silver ©   (2010-04-27 13:20) [54]

ох, блин, я устал уже
повторяю - его предупредили дважды!
я против именно напрягания юзера доп-ми действиями


 
silver ©   (2010-04-27 13:22) [55]


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

зачем такие вопросы задавать?

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


 
@!!ex ©   (2010-04-27 13:24) [56]

> [55] silver ©   (27.04.10 13:22)
> не читает - ну, кто тут виноват? и у кого проблемы?

Ты. Пользователь никогда и ничего не читает. Должен знать это.


 
silver ©   (2010-04-27 13:25) [57]


> Ты. Пользователь никогда и ничего не читает. Должен знать
> это.

мне на фейхоа это знание?
перестаньте бредить

не читает - это его проблемы


 
silver ©   (2010-04-27 13:25) [58]

напоминаю, что инно показывает тот самый мессаджбокс, о котором спор
считаете, нужно второй показать?
почему не три?


 
@!!ex ©   (2010-04-27 13:26) [59]

Блин. реально разговор с человеком далеким от создания коммерческих продуктов. :))

Это знание нужно для того, чтобы пользователь не имел негативных отзывов о вашем софте.

Угадайте, почему куча инсталяторов просит закрыть IE при установке, но никогда не делают это сами?
Вроде куда уж проще показать мессадж и закрыть все нафиг... а нет. Просят пользователя закрыть.


 
@!!ex ©   (2010-04-27 13:27) [60]

> [58] silver ©   (27.04.10 13:25)

Показать нужно. Закрывать не нужно.


 
silver ©   (2010-04-27 13:29) [61]


> Блин. реально разговор с человеком далеким от создания коммерческих
> продуктов. :))

мальчик, не смеши меня


> Это знание нужно для того, чтобы пользователь не имел негативных
> отзывов о вашем софте.

негативный отзыв будет, когда пользователя задолбают


> Угадайте, почему куча инсталяторов просит закрыть IE при
> установке, но никогда не делают это сами?

ну, ежкин кот
ИЕ - ваше приложение? дальше пояснять?


 
DVM ©   (2010-04-27 13:30) [62]


> silver ©

Все действия, которые нельзя выполнить (и не надо форсировать ситуацию) прямо во время деинсталляции, всегда можно выполнить после перезагрузки и никого не травмируя при этом. Чем все обычно и пользуются.


 
silver ©   (2010-04-27 13:30) [63]


> Показать нужно. Закрывать не нужно.

ты хоть прочитай, что я писал


 
DVM ©   (2010-04-27 13:31) [64]


> ИЕ - ваше приложение? дальше пояснять?

IE приложение MS. Но MS всегда просит собственноручно закрыть IE. Вероятно были прецеденты потому что.


 
silver ©   (2010-04-27 13:31) [65]


> Все действия, которые нельзя выполнить (и не надо форсировать
> ситуацию) прямо во время деинсталляции, всегда можно выполнить
> после перезагрузки и никого не травмируя при этом.

так а где я с этим спорил то?

еще раз - я против лишнего мессаджбокса и напрягание юзера - все


 
silver ©   (2010-04-27 13:32) [66]


> IE приложение MS. Но MS всегда просит собственноручно закрыть
> IE. Вероятно были прецеденты потому что.

вероятно может и были


 
DVM ©   (2010-04-27 13:36) [67]


> silver ©   (27.04.10 13:31) [65]


> еще раз - я против лишнего мессаджбокса и напрягание юзера
> - все

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


 
silver ©   (2010-04-27 13:37) [68]


> Я тоже против, я возмутился лишь фразой про данные - вот
> и все. Если закрытие программы к потере данных не ведет
> то закрывать можно без вопросов.

огоспаде - ну наконец то



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

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

Наверх




Память: 0.65 MB
Время: 0.074 c
2-1271829332
vegarulez
2010-04-21 09:55
2010.08.27
Как в KaZip`е корректно работать с русскими названиями файлов?


15-1269409783
TUser
2010-03-24 08:49
2010.08.27
Школа vs гугл :)


11-1220147198
Jon
2008-08-31 05:46
2010.08.27
Audio Input Monitor


15-1269360123
TUser
2010-03-23 19:02
2010.08.27
Генетика и геномика человека


15-1274405740
Дмитрий С
2010-05-21 05:35
2010.08.27
Мост в Волгограде