|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата ZVSRus:
Цитата vk_k14m@vk:
как ни советовали |
||
------- Отправлено: 14:31, 03-10-2017 | #2151 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y. Извиняюсь, с чего началась тема подзабыл.
"распакованные" файлы, запакованные файлы, батник, консоль. Только "кинуть на него архива для распаковки" и "кинуть папку для запаковки" - Тяжело сразу понять данное ассорти. Я понимаю это игра. Мне подумалось что одни файлы нужно распаковать через один чекбокс, другие через другой чекбокс, сделать проверку на данные чекбоксы, ну и на запуск установленного исполняемого файла. Такие темы нужно более детально расписывать. |
------- Отправлено: 14:53, 03-10-2017 | #2152 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать ZVSRus, уот энто уот фсио на энтой странице
я пыталсо F1 но не алё |
------- Отправлено: 15:08, 03-10-2017 | #2153 |
Старожил Сообщения: 342
|
Профиль | Отправить PM | Цитировать Цитата ZVSRus:
Так установка прекрасно работает. Но если кто-то установил чистый вариант игры, а потом решит что-то добавить? Тот батник уже не будет правильно работать, и придется полностью удалять игру и ставить заново. По этому нужен второй батник, который перед началом установки будет делать обратное действие - распаковывать эти *.рр архивы что б их можно было дополнить, и опять в конце установки запаковать. Сначала я хотел что б этот второй батник запускался только в том случае, если эта игра уже была установлена и установщик запускают второй раз. Но не сложилось. Остановился на том что он всегда будет запускаться. И если файлов для распаковки нет, то он работает в холостую... |
|
------- Отправлено: 16:43, 03-10-2017 | #2154 |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать vk_k14m@vk
Это полный пи....! Набор ахинейских фраз и предложений. Вы хоть понимаете что вам на 3 страницы писанины никто не может ответить, потому что никто толком не может вас понять до конца. На 213 странице где ваш скрип, это каша, Check: AA2Decrypt_unpack; чековая проверка пишется в конце строки (я вставляю данную проверку перед флагами). В секции [Files] все строки должны начинаться с Source: (во всяком случае чековую проверку в начале строки никогда не встречал). У вас есть чековая функция Function AA2Decrypt_unpack():boolean;, а где сам чекбокс, или что у вас там, я нигде не нашел то, на что ссылается данная проверка. Artificial Academy 2* это так и должно быть, или все же между двойкой и звездочкой должна стоять наклонная черта. Source: "D:\Inno Setup\Installer\2a [AA2][Uncensor][3D MK-III][FA][v2.0][Various]\Artificial Academy 2*"; - почти все строки так. Я понял только одно: У вас 2 батника, один распаковывается во временную папку и от туда через код запускается. DestDir: "{tmp}"; Source: "D:\Inno Setup\Installer\0 Delete after install\AA2Decrypt_unpack.bat"; DestDir: "{tmp}"; BeforeInstall: ChangeCaption('AA2Decrypt_unpack.bat'); AfterInstall: install_this_file; Check: AA2Decrypt_unpack; Второй батник в конце установки через секцию [Run] что то упаковывает. Все остальные папки что в секции [Files] через те или иные компоненты что в секции [Components] устанавливаются в директорию DefaultDirName=D:\Games\{#MyAppName}. Теперь вопрос, что нужно запускать или устанавливать через чекбокс или через что другое? Объясните подробно но кратко, своими простыми словами. |
------- Отправлено: 18:11, 03-10-2017 | #2155 |
Старожил Сообщения: 342
|
Профиль | Отправить PM | Цитировать ZVSRus, как раз это
Function Уже_установленное_приложение():boolean; begin if это_приложение_уже_установлено then Result := True else Result := False; end; я удалил. По тому что оно не работает. И нет объяснений как оно должно работать. А между двойкой и звездочкой должна стоять наклонная черта. Но я их специально по убирал что б протестировать работу установщика, и не ждать 8 часов пока все запакуется. Check: у меня в начале по тому что я скопировал ее из этого поста. Цитата R.i.m.s.k.y.:
Сейчас у меня все выглядит так: Скрытый текст
; Этот сценарий создан с помощью Мастера Inno Setup.
; ОБРАТИТЕСЬ К СПРАВОЧНОЙ ДОКУМЕНТАЦИИ, ЧТОБЫ ИСПОЛЬЗОВАТЬ ВСЕ ВОЗМОЖНОСТИ INNO SETUP! #define MyAppName "Artificial Academy 2" #define MyAppVersion "2.0.1" #define MyAppPublisher "Illusion" #define MyAppExeName "AA2Play.exe" [Setup] ; Примечание: Значение AppId является уникальным идентификатором для этого приложения. ; Не используйте одно и тоже значение AppId для разных приложений. ; (Для создания нового значения GUID, выберите в меню "Инструменты" пункт "Создать GUID".) AppId={{37EDDB6D-1F9B-474F-8FF4-57CC8277B1A7} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName=D:\Games\{#MyAppName} DefaultGroupName={#MyAppName} AllowNoIcons=yes OutputDir=D:\Inno Setup OutputBaseFilename=setup SetupIconFile=D:\Inno Setup\Installer\ico.ico WizardImageFile=D:\Inno Setup\Installer\WizardImage.bmp WizardSmallImageFile=D:\Inno Setup\Installer\WizardSmallImage.bmp Compression=lzma2/ultra64 SolidCompression=yes DiskSpanning=yes DiskSliceSize=1536000000 [Languages] Name: "russian"; MessagesFile: "compiler:\Languages\Russian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Components] Name: "Main"; Description: "Artificial Academy 2"; Types: full compact custom; Flags: fixed Name: "Anticensor"; Description: "Антицензор"; Types: custom Name: "Anticensor\MKIII"; Description: "МКIII"; Types: custom; Flags: exclusive Name: "Anticensor\MKIII\clothes"; Description: "Пак одежды для MKIII анцензора"; Types: custom; Flags: exclusive Name: "Anticensor\MKIII\clothes\garter_belt"; Description: "Аддон на подвязки"; Types: custom; Name: "Anticensor\SVII"; Description: "SVII"; Types: custom; Flags: exclusive Name: "Anticensor\SVII\clothes"; Description: "Пак одежды для SVII анцензора"; Types: custom; Flags: exclusive Name: "Anticensor\SVII\clothes\texture"; Description: "Пак текстур для одежды"; Types: custom; Name: "Anticensor\SVII\clothes\extra_a"; Description: "Extra A пак одежды для SVII анцензора"; Types: custom; Name: "Anticensor\SVII\clothes\extra_a\texture"; Description: "Пак тестур для одежды Extra A"; Types: custom; Name: "Anticensor\SVII\clothes\extra_h5"; Description: "Extra H5 пак одежды для SVII анцензора"; Types: custom; Name: "Anticensor\SVII\clothes\extra_h5\texture"; Description: "Пак тестур для одежды Extra H5"; Types: custom; Name: "Anticensor\SVII\clothes\garter_belt"; Description: "Аддон на подвязки"; Types: custom; Name: "Hairpack"; Description: "Пак дополнительных причесок"; Types: custom; Name: "Override"; Description: "Пак дополнительных лиц и причесок"; Types: custom; Name: "Russification"; Description: "Русификатор"; Types: custom; Name: "Russification\Hlimitation_yes"; Description: "Ограничение H-сцен"; Types: custom; Flags: exclusive Name: "Russification\Hlimitation_no"; Description: "Без аграничения"; Types: custom; Flags: exclusive Name: "ProgramFiles"; Description: "Дополнительные приложения"; Types: custom; Name: "ProgramFiles\AA2Install"; Description: "AA2Install"; Types: custom; Name: "ProgramFiles\ReiEditAA2"; Description: "ReiEditAA2"; Types: custom; Name: "ProgramFiles\AA2Face"; Description: "AA2Face"; Types: custom; [Files] Source: "D:\Inno Setup\Installer\0 Delete after install\AA2Decrypt_unpack.bat"; DestDir: "{app}"; BeforeInstall: ChangeCaption('Установка этого файла'); AfterInstall: install_this_file; Flags: ignoreversion recursesubdirs createallsubdirs Source: "D:\Inno Setup\Installer\1 Artificial Academy 2\Artificial Academy 2\*"; DestDir: "{app}"; Components: Main; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension Source: "D:\Inno Setup\Installer\2a [AA2][Uncensor][3D MK-III][FA][v2.0][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\MKIII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2a1 [AA2][HEXA Clothing Collection][MK-III][v5.2][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\MKIII\clothes; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2a2 [AA2][HEXACC][Garter Belt][v1.5][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\MKIII\clothes\garter_belt; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b [AA2][SVII Uncensor][3D Pubes][All-In-One][v1.6]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b1 [AA2][SVII Clothing Collection][3D Pubes][v5.0]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b1a SVII Clothing Collection - Texture Pack v5.0\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes\texture; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b2 [AA2][SVII Clothing Collection][Extra A][3D Pubes][v1.2.1]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes\extra_a; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b2a SVII Clothing Collection - Extra A - Texture Pack v1.2\Artificial Academy \2*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes\extra_a\texture; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b3 [AA2][SVII Clothing Collection][Extra H5][Uncensored][v1.0]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes\extra_h5; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b3a SVII Clothing Collection - Extra H5 - Texture Pack v1.0\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes\extra_h5\texture; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\2b4 [AA2][SVII Clothing Collection][Garter Belt][v1.5]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes\garter_belt; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\3 [AA2][HEXA Hairpack][RE][v3.0][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Hairpack; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\4 [AA2][HEXA Override Collection][v3.5][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Override; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\5a [AA2][Interface][Russian user interface v.1][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\5b [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification and Anticensor; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\5ba [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification and Anticensor\MKIII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\5bb [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification and Anticensor\SVII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\5bxa [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification\Hlimitation_yes and Anticensor; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\5bxb [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification\Himitation_no and Anticensor; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\AA2Install v7 b3.1\Artificial Academy 2\*"; DestDir: "{app}"; Components: ProgramFiles\AA2Install; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\ReiEditAA2 0.9.5.3b\Artificial Academy 2\*"; DestDir: "{app}"; Components: ProgramFiles\ReiEditAA2; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\SVII Clothing Collection - ReiEdit v5.0\Artificial Academy 2\*"; DestDir: "{app}"; Components: ProgramFiles\ReiEditAA2 and Anticensor\SVII; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\HEXA Override Collection - ReiEdit\Artificial Academy 2\*"; DestDir: "{app}"; Components: ProgramFiles\ReiEditAA2 and Override; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\AA2Face 1.4.2\Artificial Academy 2\*"; DestDir: "{app}"; Components: ProgramFiles\AA2Face; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak Source: "D:\Inno Setup\Installer\0 Delete after install\Artificial Academy 2\*"; DestDir: "{app}"; Components: Main; Flags: ignoreversion recursesubdirs createallsubdirs deleteafterinstall solidbreak ; Примечание: Не используйте' флаги "ignoreversion" для общих системных файлов. [code] procedure install_this_file(); var res:integer; file, path : string; begin file := ExpandConstant('{app}\AA2Decrypt_unpack.bat'); path := ExpandConstant('{app}'); if FileExists(file) then Exec(file, 'параметры',path,SW_SHOW,ewWaitUntilTerminated,res) else MsgBox('Файл' + ' ' + file + #13#10 + 'не найден', mbInformation, MB_OK); end; procedure ChangeCaption(str: string); begin WizardForm.StatusLabel.Caption:= str; end; [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\data\AA2Decrypt.bat"; WorkingDir: {app}/data; Description: Упаковка папок...; Flags: waituntilterminated [UninstallDelete] Name: {app}\data\*.pp; Type: files AA2Decrypt.bat - должен всегда запускаться после распаковки всех файлов. AA2Decrypt_unpack.bat - хотелось бы что б запускался только при повторной установке. Тоесть я установил приложение. А потом снова запускаю установщик, и в самом начале извлекается и запускается самый первый файл из списка - AA2Decrypt_unpack.bat. Пока он работает дальнейшее извлечение файлов не идет. И только когда этот батник закрывается, установка (извлечение) продолжится в обычном режиме. Это я уже все подробно расписывал... |
|
------- Отправлено: 18:53, 03-10-2017 | #2156 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 20:28, 03-10-2017 | #2157 |
Старожил Сообщения: 342
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
|
|
------- Отправлено: 20:40, 03-10-2017 | #2158 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата vk_k14m@vk:
Скрытый текст
ну ясен-красен что это пример с аллегорией
|
|
------- Отправлено: 21:08, 03-10-2017 | #2159 |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать vk_k14m@vk
Загляни в личку. R.i.m.s.k.y. Извиняюсь, но вы тоже не правы, человеку нужно готовое решение. Вы же видите что ему в не догадку поменять это_приложение_уже_установлено например на if AA2Decrypt_unpack then Result := True else Result := False;, придет время и он будет подсказывать. |
------- Последний раз редактировалось ZVSRus, 03-10-2017 в 21:22. Отправлено: 21:15, 03-10-2017 | #2160 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|