Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
Гость_Kindly_*
|
17:03:2005, 16:05
|
|
Инопланетный гость |
(Вопрос по Inno Setup 5) Я извиняюсь за вопрос немножко не в тему. Меня интереcует написание скрипта на Pascal следующего характера: Перед запуском инсталлятора нужна проверка реестра на определённый ключ, и если он существует - должен запускаться мастер инсталляции, а если ключ не существует, то должна вылетать мессага, что прога не найдена - жмите OK чтобы покинуть мастер (ну или другой текст). Вобщем вы программеры - для вас скриптик или только секцию кода написать не составит труда. Поможете такому как мне?
mailto:gubei_vadim@list.ru |
|
Сообщение
#1
|
|
![]() |
|
|
8:06:2007, 01:10
|
|
Новенький Группа: Новенький Сообщений: 21 Регистрация: 5:06:2007 Пользователь №: 11 239 Репутация: 0
|
И ещё прозба !!!
После установки остаётся много мусора как собрать Униинсталяшку каторая б спрашивала пользователя удолить временные файлы ну и соответствена удаляла весь мусор!!! |
|
Сообщение
#271
|
|
|
|
8:06:2007, 07:20
|
|
Новенький Группа: Новенький Сообщений: 14 Регистрация: 12:10:2006 Пользователь №: 7 079 Репутация: 0
|
Для: Volkogriz
Цитата(Volkogriz @ 8:06:2007, 03:29 ) Это старая версия скинов в ней много недоработок. Сюда выложил финальную версию стандартных скинов: ]]>http://data.cod.ru/1105821130]]> А вообще по инно сюда: ]]>http://forum.ru-board.com/topic.cgi?forum=...801&start=0]]> так как этот форум мёртв. |
|
Сообщение
#272
|
|
|
|
8:06:2007, 09:14
|
|
Новенький Группа: Новенький Сообщений: 5 Регистрация: 10:12:2006 Пользователь №: 8 394 Репутация: 0
|
Volkogriz
Цитата После установки остаётся много мусора как собрать Униинсталяшку каторая б спрашивала пользователя удолить временные файлы ну и соответствена удаляла весь мусор!!! Вот добавь в секцию [Setup]
|
|
Сообщение
#273
|
|
|
|
9:06:2007, 10:11
|
|
Новенький Группа: Новенький Сообщений: 21 Регистрация: 5:06:2007 Пользователь №: 11 239 Репутация: 0
|
Благодорю!!!
|
|
Сообщение
#274
|
|
|
|
9:06:2007, 11:30
|
|
Новенький Группа: Новенький Сообщений: 21 Регистрация: 5:06:2007 Пользователь №: 11 239 Репутация: 0
|
Почиму форум мёртв???
Вродебы тема нармальная многие с етим сталкиваются!!!! |
|
Сообщение
#275
|
|
|
|
9:06:2007, 11:30
|
|
Новенький Группа: Новенький Сообщений: 21 Регистрация: 5:06:2007 Пользователь №: 11 239 Репутация: 0
|
Почиму форум мёртв???
Вродебы тема нармальная многие с етим сталкиваются!!!! |
|
Сообщение
#276
|
|
|
|
9:06:2007, 22:27
|
|
Новенький Группа: Новенький Сообщений: 21 Регистрация: 5:06:2007 Пользователь №: 11 239 Репутация: 0
|
Памагите с сетапчиком в Delphi!!!!
|
|
Сообщение
#277
|
|
|
|
13:06:2007, 01:06
|
|
Новенький Группа: Новенький Сообщений: 21 Регистрация: 5:06:2007 Пользователь №: 11 239 Репутация: 0
|
Этакая комбинированная проверка. При инициализации проверяется присутствие определенного ключа, если его нету - выдается соответствующее сообщение и на этом действия прекращаются, если ключ присутствует, то появится сообщение об удачном обнаружении программы, также проверяется присутствие уже установленной программы, с предложением ее удалить. Вы можете проверять также присутствие определенного файла_(ов) в папке с программой, либо размер, исходя из значений реестра. Просто установите нижеописанные проверки на присутствие и размер, с указанием в качестве константы данные ResultStr. Код: function InitializeSetup(): Boolean; var ResultCode: Integer; s, ResultStr:string; Result:=True; begin Result:=True; If not RegKeyExists(HKLM, 'SOFTWARE\MY_PROGRAM') then begin MsgBox('Программа MY_PROGRAM не установлена или установлена неверно.' #13#13 'Дальнейшая работа мастера невозможна.', mbError, mb_Ok); Result:=False; end else begin MsgBox('Программа MY_PROGRAM успешно обнаружена.' #13#13 'Установка полностью автоматическая.', mbInformation, mb_Ok); begin If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Program_v1.0_is1', 'UninstallString', ResultStr) then begin If ResultStr<>'' then begin ResultStr:=RemoveQuotes(ResultStr); if MsgBox('Программа установки обнаружила уже установленную программу ранней версии.' #13#13 'Вы желаете предварительно удалить ее?', mbInformation, MB_YESNO) = idYes then if not Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode) then MsgBox('Ошибка удаления. ' #13#13 '' + SysErrorMessage(ResultCode) + '.' #13#13 'Вероятно, деинсталлятор был перемещен, удален или переименован.', mbError, MB_OK); end; end; end; end; end; Для: Kindly Я как зелёный попробую помочь !!![quote][code]должен запускаться мастер инсталляции, а если ключ не существует, то должна вылетать мессага, что прога не найдена - жмите OK чтобы покинуть мастер (ну или другой текст). Вобщем вы программеры - для вас скриптик или только секцию кода написать не составит труда. Поможете такому как мне? Этакая комбинированная проверка. При инициализации проверяется присутствие определенного ключа, если его нету - выдается соответствующее сообщение и на этом действия прекращаются, если ключ присутствует, то появится сообщение об удачном обнаружении программы, также проверяется присутствие уже установленной программы, с предложением ее удалить. Вы можете проверять также присутствие определенного файла_(ов) в папке с программой, либо размер, исходя из значений реестра. Просто установите нижеописанные проверки на присутствие и размер, с указанием в качестве константы данные ResultStr. Код: function InitializeSetup(): Boolean; var ResultCode: Integer; s, ResultStr:string; Result:=True; begin Result:=True; If not RegKeyExists(HKLM, 'SOFTWARE\MY_PROGRAM') then begin MsgBox('Программа MY_PROGRAM не установлена или установлена неверно.' #13#13 'Дальнейшая работа мастера невозможна.', mbError, mb_Ok); Result:=False; end else begin MsgBox('Программа MY_PROGRAM успешно обнаружена.' #13#13 'Установка полностью автоматическая.', mbInformation, mb_Ok); begin If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Program_v1.0_is1', 'UninstallString', ResultStr) then begin If ResultStr<>'' then begin ResultStr:=RemoveQuotes(ResultStr); if MsgBox('Программа установки обнаружила уже установленную программу ранней версии.' #13#13 'Вы желаете предварительно удалить ее?', mbInformation, MB_YESNO) = idYes then if not Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode) then MsgBox('Ошибка удаления. ' #13#13 '' + SysErrorMessage(ResultCode) + '.' #13#13 'Вероятно, деинсталлятор был перемещен, удален или переименован.', mbError, MB_OK); end; end; end; end; end; |
|
Сообщение
#278
|
|
|
|
14:06:2007, 14:20
|
|
Новенький Группа: Новенький Сообщений: 14 Регистрация: 12:10:2006 Пользователь №: 7 079 Репутация: 0
|
Подскажите как можно сделать форму подвижной при значении WizardForm.BorderStyle:=bsNone ?
|
|
Сообщение
#279
|
|
|
|
17:06:2007, 22:01
|
|
Новенький Группа: Новенький Сообщений: 14 Регистрация: 12:10:2006 Пользователь №: 7 079 Репутация: 0
|
На одном форуме пробил такой код для Делфи где при значении BorderStyle=bsNone можно форму сделать подвижной:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; Perform ( WM_SYSCOMMAND, SC_MOVE+2, 0 ); end; Этого нехватает для полной красоты инсталлятора. Можно ли это сделать для WizardForm в инно? Очень надеюсь на помощь Программистов! Заранее Благодарен! |
|
Сообщение
#280
|
|
|
|
23:07:2007, 18:43
|
|
Новенький Группа: Новенький Сообщений: 17 Регистрация: 23:07:2007 Пользователь №: 11 990 Репутация: 0
|
Вопрост по Inno Setup 5. Может он уже где-то обсуждался, но по поиску найти не удалось, а
очень надо. Так вот: вместе со своей прогой в инсталлятор пихаю несколько Dll без которых она не прет, не прет она и если эти Dll не зарегены в реестре, собсно, как это сделать? ПРиведите пжалста пример скрипта. Заранее благодарю. |
|
Сообщение
#281
|
|
|
|
23:07:2007, 19:45
|
|
Новенький Группа: Новенький Сообщений: 5 Регистрация: 10:12:2006 Пользователь №: 8 394 Репутация: 0
|
AdiSan
Цитата не прет она и если эти Dll не зарегены в реестре, собсно, как это сделать? Риведите пжалста пример скрипта. Заранее благодарю. Вот пример регистрации библиотеки:
|
|
Сообщение
#282
|
|
|
|
24:07:2007, 15:40
|
|
Новенький Группа: Новенький Сообщений: 17 Регистрация: 23:07:2007 Пользователь №: 11 990 Репутация: 0
|
И всего то одна строчка. Nightw0lf, большой сэнкс.
|
|
Сообщение
#283
|
|
|
|
1:08:2007, 15:27
|
|
Новенький Группа: Новенький Сообщений: 2 Регистрация: 26:07:2007 Пользователь №: 12 049 Репутация: 0
|
Всем привет!
Начал делать инсталятор в Inno и споткнулся об такую вещь:мне нужно найти в системе пользователя \Games\data\папку-sounds(звук оригинальной игры) и скопировать её в \Games\mod\data\sounds то есть в папку мода,который я хочу установить.В Inno это возможно? и если можно подскажите как при деинсталяции вернуть оригинальные файлы.Надеюсь что подскажите.Спасибо за внимание. |
|
Сообщение
#284
|
|
|
|
2:08:2007, 09:40
|
|
Новенький Группа: Новенький Сообщений: 5 Регистрация: 10:12:2006 Пользователь №: 8 394 Репутация: 0
|
Димбай
Цитата и если можно подскажите как при деинсталяции вернуть оригинальные файлы.Надеюсь что подскажите. Я так понял тебе нужно сдела резерную копию оригинальных файлов, а при деинсталляции вернуть все обратно? Если да то вот: Скачать файл ]]>SHFileOperation.iss]]> P.S.: для работы скрипта нужен ]]>препроцессор]]> Сообщение отредактировал Nightw0lf - 2:08:2007, 09:51 |
|
Сообщение
#285
|
|
|
|
2:08:2007, 09:44
|
|
Новенький Группа: Новенький Сообщений: 5 Регистрация: 10:12:2006 Пользователь №: 8 394 Репутация: 0
|
[Удалено]
Сообщение отредактировал Nightw0lf - 2:08:2007, 09:49 |
|
Сообщение
#286
|
|
|
|
2:08:2007, 16:15
|
|
Новенький Группа: Новенький Сообщений: 2 Регистрация: 26:07:2007 Пользователь №: 12 049 Репутация: 0
|
Для: Nightw0lf
Цитата Я так понял тебе нужно сдела резерную копию оригинальных файлов, а при деинсталляции вернуть все обратно? Да,файлов которые меняются или добавляются.Буду пробовать.Спасибо! |
|
Сообщение
#287
|
|
|
|
25:10:2007, 19:15
|
|
Новенький Группа: Новенький Сообщений: 1 Регистрация: 25:10:2007 Пользователь №: 13 377 Репутация: 0
|
помогите плз, как сделать (или разбить), чтобы в итоге получилось 2-4 exe-шника,чтобы после установки 1го выводился запрос на установку 2го? если так можно, или как упаковать фалы размером 4-8 гб, ведь IS вроде мах пакует 2 гб - у меня ISC5
|
|
Сообщение
#288
|
|
|
|
13:04:2008, 08:43
|
|
Новенький Группа: Новенький Сообщений: 2 Регистрация: 13:04:2008 Пользователь №: 16 591 Репутация: 0
|
Всем добрый день.нужно вставить этот код:
Здесь файл MyProg.exe и есть с которого делается копия. В этот скрипт.Плиз покажите куда именно его нужно вставить.я просто нупег UPDATE. Я разобрался куда его вставить.но когда скрипт собираю и запускаю ехе.чтобы проверить,устанавливаю,а папки backup нет! скажите что я нетак сделал? Сообщение отредактировал Страег - 13:04:2008, 09:33 |
|
Сообщение
#289
|
|
|
|
14:04:2008, 09:03
|
|
Новенький Группа: Новенький Сообщений: 4 Регистрация: 22:01:2007 Пользователь №: 8 900 Репутация: 0
|
помогите плз, как сделать (или разбить), чтобы в итоге получилось 2-4 exe-шника,чтобы после установки 1го выводился запрос на установку 2го? если так можно, или как упаковать фалы размером 4-8 гб, ведь IS вроде мах пакует 2 гб - у меня ISC5
Сообщение отредактировал sergio_ps - 14:04:2008, 09:04 |
|
Сообщение
#290
|
|
|
|
17:04:2008, 15:19
|
|
Новенький Группа: Новенький Сообщений: 2 Регистрация: 13:04:2008 Пользователь №: 16 591 Репутация: 0
|
Народ.мне нуно чтобы инсталятор делал резерв копию 6 файлов и одной папки.
Вот: Бла-бла\Файл1 Бла-бла\Файл2 Бла-бла\Файл3 Бла-бла\Файл4 Бла-бла\Файл5 Бла-бла\Файл6 Бла-бла\папка Ниже скрипт,поясните нупу как сделать чтобы сохранились резервы того что выше написал?
Сообщение отредактировал Страег - 17:04:2008, 15:20 |
|
Сообщение
#291
|
|
![]() |