Въпрос относно Inno Setup
Има ехо. Той е в режим на автоматично зареждане и работи по време на инсталацията. Трябва да се актуализира. Как да го направим?
завършване, актуализиране, начало
Не мога да намеря съответните команди в помощта за Inno.
> Той е в режим на автоматично зареждане и работи по време на инсталирането.Какво общо има автоматичното зареждане с него?
> Не мога да намеря съответните команди в помощта за Inno. >Inno има раздел, където можете да напишете свой собствен код.
> Не мога да намеря съответните команди в помощта за Inno.има скриптов език (секция [код]), можете да извикате API
Точно това, което е необходимо. Вярно, няма съвсем API, но функциите, които предоставя, са през покрива.
> Вярно е, че няма съвсем API, но функциите, които предоставя > - през покрива.е, не помня всичко така или иначе, извикването на f-th от всяка dll ви позволява да правите много
Трябва да се затвори (трябва да се затвори) преди актуализиране.
Тогава доста API
добре, в секцията [code] напишете собствената си функционалност за затваряне на актуализираната програма. или можете да поискате от потребителя сам да го затвори.
Можете да използвате mutex, за да откриете кога е заредена програма. Не помня подробности, но точно това правя - създавам глобален мютекс в програмата, проверявам наличието му в инсталатора.
ако не се лъжа inno има съгл. команда за проверка на mutex.
не промивайте мозъци. Това е Delphi с отворен код. разтоварете процеса + s-o-m
←→inoremap ( 2010-04-26 09:49 ) [14]
←→Gopher__ ( 2010-04-26 14:12 ) [15]
Имам нещо такова
// Event function InitializeUninstall(): Boolean; begin Result := True;
акоCheckForMutexes("Global\MyProgIsRunning2473298472947294387") then begin MsgBox("Програмата ""+GetAppName("")+"" в момента се изпълнява на вашия компютър."#13#10+#13#10+ "Деинсталирането не може да бъде извършено, докато работещата програма не бъде спряна."#13#10+# 13#10+ "Процесът на изтриване е прекратен", mbInformation, MB_OK); Резултат := Невярно; край; край;
> Gopher__ (26.04.10 14:12) [15]
Защо този код? Просто добавете директивата AppMutex към секцията [Seup].
Преди имаше по-сложна функционалност. Не помня кой - svn работи. просто го оставих така сега - работи добре. Знам за директивата.
Показах как работи))) инсталаторите са такова нещо - направено и забравено (IMHO).
> направено и забравено (IMHO).и потребителите помнят и се кълнат
защо говориш тези глупости
> и потребителите помнят и ругаятНо не и в такава ситуация като Gopher__ (26.04.10 14:12) [15] Там всичко е ясно. Потребителят е предупреден. Освен това изцяло в ръцете на потребителя.
Херман, взе ли моята страна? Или не разбрах тънкия хумор? )))
Повече от страна на потребителя - казват, че е глупак.
разбира се, по-добре е да се поколебаете с предложения или да го оставите неизтрит cho, можете да направите деинсталиране с едно съобщение - "отидете на програмните файлове, изтрийте папката xxx, стартирайте regedit изтрийте клона xxx" никога не се знае, потребителят ще има нужда от какво - оставете го да реши
> Сега си представете как Word срива всички документи на потребителя > при отстраняването му. Или приложението срива базата данни, когато > отстраняване. Или Delphi всички проекти?Не мога да си представя в фейхоа той трябва да го направи? спрете да бълнувате> Потребителските данни не трябва да се изтриват, НЕ ДВА ПЪТИПИТАЙТЕ.Къде съм написал, че трябва да се премахнат изобщо?
> спрете да бълнуватеСъветвам ви да направите същото.
> Ако програмата работи, има вероятност потребителят > остави отворен незаписан документи в същото време случайно стартира деинсталиране, oga
> Тук. Тихият срив на програмата може да повреди данните.КЪДЕ пише „ИЗТРИВАНЕ НА ПОТРЕБИТЕЛСКИ ДАННИ“?
хрумвало ли ви е, че aninstal дори може да каже на приложението да запази?
> Съветвам ви да направите същото.Първо отговорете на въпроса
> Наистина, спри да бълнуваш.Защо не свършиш?
> лесно. Случват се различни неща. Потребителят може или не може да знае > какво работи там, особено ако работи във фонов режим > режим.и?
> И не забравяйте за възможната едновременна работа на > няколко потребители в терминални сесии.как ще записва кутията за съобщения?
> Пише повреда, глупаво трясък и забравяне.къде?? О_о
> как кутията за съобщения запазва?Има много различни добри инструменти освен кутията за съобщения.
> Където се казва за допустимостта на насилствено убийство >Къде писах за убиване? Шибаният DM не се променя Писах за затваряне на собственото си приложение - разбираемо ли е? Кой ти пречи да запазиш всичко правилно преди затваряне и преди това да покажеш предупредителна страница в Uninstall?
спри да бълнуваш и да мислиш вместо мен
Аз не бих го направил. Рано или късно това ще доведе до проблеми.
Нямам оплаквания относно премахването на моята програма, ако може да бъде подаденсигнал и ще може да затвори правилно и в същото време да запази данните на потребителя. Ако може, разбира се, без участието на потребителя. Това не винаги е възможно и ако има дори най-малко съмнение за това, по-добре е да не го затваряте.
Потребителят е отворил документ във вашата програма. Редактирано, още не е запазено. Но исках да го запазя под друго име. И тогава по някаква причина започва деинсталирането. Може би компютър в домейна или нещо друго, но тръгва. Какво трябва да направи програмата с документа? Нека тя дори да бъде уведомена, че е време да се откаже?
Повтарям - стартирай, деинсталирай, прочети предупреждението (два пъти, inno изглежда е в началото на кутията за съобщения, изглежда) и пак губи данни - това трябва да е жесток шут
> Потребителят е отворил документ във вашата програма. Редактирано, > все още не са запазени. Но исках да го запазя под друго име. И > тук по някаква причина започва деинсталирането. Може > компютър в домейна или нещо друго, но тръгва. Какво трябва да прави програмата >? с документ? Дори ако е била уведомена, че е време да се отпусне?и това е чисто сексуална сложност на програмата
о, по дяволите, вече се уморих Повтарям - той беше предупреден два пъти! Аз съм против точното натоварване на потребителя с допълнителни действия
> Трябва да се тревожите за поведението на вашата програма, защо > превключете стрелките към други?защо да задавате такива въпроси?
трябва ли да го повторя отново? се притеснява - потребителят е предупреден за подобно поведение не чете - добре, кой е виновен тук? и кой има проблеми? потребителят може да не може да чете eulu
> Вие. Потребителят никога не чете нищо. Трябва да знае > това.Това знание за моето фейхоа ли е? спрете да бълнувате
не чете - това си е негов проблем
Напомням ви, че inno показва същото поле за съобщения, окой спор мислиш, че трябва да покажеш втория? защо не три?
глупости. истински разговор с човек, далеч от създаването на търговски продукти. :))
Това знание е необходимо, така че потребителят да няма отрицателна обратна връзка за вашия софтуер.
Познайте защо много инсталатори искат да затворят IE, когато инсталират, ноникогане го правят сами? Изглежда много по-лесно да се покаже съобщение и да се затвори всичко. но не. Искане на потребителя да затвори.
> глупости. истински разговор с човек, далеч от създаването на реклама > продукти. :))момче не ме карай да се смея
> Това знание е необходимо, така че потребителят да няма отрицателни > отзиви за вашия софтуер.отрицателната обратна връзка ще бъде, когато потребителят се разболее
> Познайте защо куп инсталатори искат да затворят IE, когато > инсталиране, но никога не го правят сами?е, ehkin cat IE е вашето приложение? обясни допълнително?
> Трябва да се покаже. Не е нужно да го затваряте.Поне прочетете какво съм написал
> IE е вашето приложение? обяснете допълнително?IE приложение MS. Но MS винаги иска да затвори IE сам. Вероятно е имало прецеденти, защото.
> Всички действия, които не могат да бъдат извършени (и не е необходимо да налагат > ситуацията) точно по време на деинсталирането, винаги могат да бъдат извършени > след рестартиране и без да наранявате никого.и къде съм спорил с това?
още веднъж - аз съм против допълнителна кутия за съобщения и напрежение на потребителя - това е всичко
> IE приложение MS. Но MS винаги иска да затвори > IE. Вероятно е имало прецеденти, защото.вероятно е имало
> И аз съм против, възмути ме само фразата за данните - тук > и всичко. Ако затварянето на програмата не води до загуба на данни > тогава можете да го затворите без въпроси.