Форум: "Прочее";
Текущий архив: 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]
> А еще не надо забывать о возможной одновременной работе
> нескольких пользователей в терминальных сессиях.
как мессаджбокс спасет?
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.065 c