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


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

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


 
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.63 MB
Время: 0.068 c
2-1273713319
DROWSY
2010-05-13 05:15
2010.08.27
Обработка в приложении исключения, вызываемого в триггере.


2-1268502232
Loki3d
2010-03-13 20:43
2010.08.27
получить размер файла или папки


6-1218021112
StranNik
2008-08-06 15:11
2010.08.27
Вопрос по IdHTTPProxyServer


15-1264368629
Юрий
2010-01-25 00:30
2010.08.27
С днем рождения ! 25 января 2010 понедельник


15-1269254185
TpaTaTa
2010-03-22 13:36
2010.08.27
RichEdit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский