Въпрос относно 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. Вероятно е имало прецеденти, защото.вероятно е имало

> И аз съм против, възмути ме само фразата за данните - тук > и всичко. Ако затварянето на програмата не води до загуба на данни > тогава можете да го затворите без въпроси.