Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 8]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 22-10-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:

Показать/скрыть: Ссылки на примеры скриптов:

Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

Аватара для ZVSRus

Старожил


Сообщения: 284
Благодарности: 85

Профиль | Отправить PM | Цитировать


Цитата vk_k14m@vk:
5) Снова ярлыки. Можно изменить иконку ярлыка?
[Icons]
Name: "{group}\{#MyAppName} Help"; Filename: "{app}\{#MyAppHelpName}"; IconFilename: "{app}\Help.ico";

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:57, 04-10-2017 | #2181



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для nik1967

Старожил


Сообщения: 440
Благодарности: 251

Профиль | Сайт | Отправить PM | Цитировать


vk_k14m@vk,
3)
4)
Код: Выделить весь код
[Components]
Name: Russification; Description: Russification; Flags: exclusive  
Name: Anticensor; Description: Anticensor; Flags: exclusive
Name: Anticensor\MKIII; Description: MKIII; Flags: exclusive
Name: Anticensor\SVII; Description: SVII; Flags: exclusive

[Icons]
Name: {userdesktop}\Название игры; Components: Russification; Filename: {app}\AA2Play.exe; Workingdir: {app}
Name: {userdesktop}\Название игры; Components: Anticensor\MKIII; Filename: {app}\illusion_locale_loader.exe; Parameters: "/MKIII"; Workingdir: {app}
Name: {userdesktop}\Название игры; Components: Anticensor\SVII; Filename: {app}\illusion_locale_loader.exe; Parameters: "/SVII"; Workingdir: {app}
Ну как-то так.

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:20, 04-10-2017 | #2182


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024

Профиль | Отправить PM | Цитировать


Цитата vk_k14m@vk:
65 гигов для теста. Дорогое удовольствие »
vk_k14m@vk, мне для тестов хватило 23 Кб.
Цитата vk_k14m@vk:
Это ты меня просишь список папок показать? Ладно держи. »
vk_k14m@vk, угу, папок, а пришел список файлов. Ну да ладно.
Цитата vk_k14m@vk:
К слову в *.рр архивы будут запакованы все папки которые начинаются на data\jg2... »
vk_k14m@vk, я прекрасно понимаю чего вам нужно и как оно работает. В общем, AA2Decrypt_fix.exe перенесите в папку 0 Delete after install, все остальное в ней не нужно:
Скрытый текст

Код: Выделить весь код
[Components]
Name: "Main"; Description: "Artificial Academy 2"; Types: full compact custom; Flags: fixed
Name: "Anticensor"; Description: "Антицензор"; Types: full custom
Name: "Anticensor\MKIII"; Description: "МКIII"; Types: full custom; Flags: exclusive
Name: "Anticensor\MKIII\clothes"; Description: "Пак одежды для MKIII анцензора"; Types: full custom; Flags: exclusive
Name: "Anticensor\MKIII\clothes\garter_belt"; Description: "Аддон на подвязки"; Types: full custom;
Name: "Anticensor\SVII"; Description: "SVII"; Types: full custom; Flags: exclusive
Name: "Anticensor\SVII\clothes"; Description: "Пак одежды для SVII анцензора"; Types: full custom; Flags: exclusive
Name: "Anticensor\SVII\clothes\texture"; Description: "Пак текстур для одежды"; Types: full custom;
Name: "Anticensor\SVII\clothes\extra_a"; Description: "Extra A пак одежды для SVII анцензора"; Types: full custom
Name: "Anticensor\SVII\clothes\extra_a\texture"; Description: "Пак текстур для одежды Extra A"; Types: full custom
Name: "Anticensor\SVII\clothes\extra_h5"; Description: "Extra H5 пак одежды для SVII анцензора"; Types: full custom
Name: "Anticensor\SVII\clothes\extra_h5\texture"; Description: "Пак текстур для одежды Extra H5"; Types: full custom
Name: "Anticensor\SVII\clothes\garter_belt"; Description: "Аддон на подвязки"; Types: full custom
Name: "Hairpack"; Description: "Пак дополнительных причесок"; Types: full custom
Name: "Override"; Description: "Пак дополнительных лиц и причесок"; Types: full custom
Name: "Russification"; Description: "Русификатор"; Types: full custom
Name: "Russification\Hlimitation_yes"; Description: "Ограничение H-сцен"; Types: full custom; Flags: exclusive
Name: "Russification\Hlimitation_no"; Description: "Без ограничения"; Types: full custom; Flags: exclusive
Name: "ProgramFiles"; Description: "Дополнительные приложения"; Types: full custom
Name: "ProgramFiles\AA2Install"; Description: "AA2Install"; Types: full custom
Name: "ProgramFiles\ReiEditAA2"; Description: "ReiEditAA2"; Types: full custom
Name: "ProgramFiles\AA2Face"; Description: "AA2Face"; Types: full custom

[Files]
Source: "D:\Inno Setup\Installer\0 Delete after install\AA2Decrypt_fix.exe"; DestDir: {tmp}; Flags: deleteafterinstall

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; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\2a1 [AA2][HEXA Clothing Collection][MK-III][v5.2][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\MKIII\clothes; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\2a2 [AA2][HEXACC][Garter Belt][v1.5][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\MKIII\clothes\garter_belt; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\2b [AA2][SVII Uncensor][3D Pubes][All-In-One][v1.6]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\2b1 [AA2][SVII Clothing Collection][3D Pubes][v5.0]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\2b1a SVII Clothing Collection - Texture Pack v5.0\Artificial Academy 2\*"; DestDir: "{app}"; Components: Anticensor\SVII\clothes\texture; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
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; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
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; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
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; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
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; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
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; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\3 [AA2][HEXA Hairpack][RE][v3.0][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Hairpack; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\4 [AA2][HEXA Override Collection][v3.5][Various]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Override; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\5a [AA2][Interface][Russian user interface v.1][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\5b [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification and Anticensor; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\5ba [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification and Anticensor\MKIII; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\5bb [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification and Anticensor\SVII; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
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; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly
Source: "D:\Inno Setup\Installer\5bxb [AA2][Interface][Russian user interface v.5][AVA]\Artificial Academy 2\*"; DestDir: "{app}"; Components: Russification\Hlimitation_no and Anticensor; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension solidbreak overwritereadonly

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

[Run]
Filename: {cmd}; Parameters: "/c for /d %? in (jg2*) do ""{tmp}\AA2Decrypt_fix.exe"" ""%?.pp"""; WorkingDir: {app}\data; StatusMsg: "Распаковка pp-файлов"; Components: Anticensor Hairpack Override Russification; Flags: runhidden
Filename: {cmd}; Parameters: "/c for /d %? in (jg2*) do attrib -r ""%?\*"" /s"; WorkingDir: {app}\data; StatusMsg: "Снятие атрибута R c файлов"; Components: Anticensor Hairpack Override Russification; Flags: runhidden
Filename: {cmd}; Parameters: "/c for /d %? in (jg2*) do del /f /q ""%?.pp"""; WorkingDir: {app}\data; StatusMsg: "Удаление pp-файлов"; Components: Anticensor Hairpack Override Russification; Flags: runhidden
Filename: {cmd}; Parameters: "/c for /d %? in (jg2*) do ""{tmp}\AA2Decrypt_fix.exe"" ""%?"""; WorkingDir: {app}\data; StatusMsg: "Перепаковка pp-файлов"; Components: Anticensor Hairpack Override Russification; Flags: runhidden
Filename: {cmd}; Parameters: "/c for /d %? in (jg2*) do rd /s /q ""%?"""; WorkingDir: {app}\data; StatusMsg: "Удаление временных файлов"; Components: Anticensor Hairpack Override Russification; Flags: runhidden
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:43, 04-10-2017 | #2183


Аватара для vk_k14m@vk

Старожил


Сообщения: 342
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата ZVSRus:
[Icons]
Name: "{group}\{#MyAppName} Help"; Filename: "{app}\{#MyAppHelpName}"; IconFilename: "{app}\Help.ico"; »
А может иконкой быть *.ехе файл?

El Sanchez, а можно поподробнее что в вашем коде? Особенно секция [Run] интересует. Вы сделали тоже самое что у меня делали *.bat файлы только через консоль самого InnoSetup? Без всплывающего окна CMD? Хм. А что в этот момент будет отображаться в установщике? Просто текст Распаковка pp-файлов/Снятие атрибута R c файлов/Удаление pp-файлов/Перепаковка pp-файлов/Удаление временных файлов? Без % и прогресс бара?

Допустим *.рр файлы весят 30 гигов. Первая строчка распакует все *.рр архивы если они есть, это уже 30+30=60 гигов. В *.рр архивах файлы не то что без сжатия, они даже немного больше весить будут. Снятие атрибутов не знаю что такое. Потом удаления *.рр архивов. 60-30 снова 30 гигов. Понимаете к чему я виду? Для этой перепаковки нужно иметь на ПК в два раза больше места чем весит игра (эти *.рр файлы занимают 90% веса игры).

Мой батник распаковывает не сразу все архивы. А по очереди. Распаковал 1, удалил, распаковал второй, удалил второй. Тоесть требует для работы около 10% от общего веса игры. 30 +10% =33 гига. Плюс в самом батнике у меня отображаются % выполнения. Криво правда, % считаются не от общей проделанной работы, а от количества архивов. Например всего 100 архивов, распаковано 50, и отображается 50%. Несмотря на то что 1 архив может 20 секунд распаковываться, а другой больше минуты.

В общем я конечно благодарен за старания. Но боюсь этот вариант мне не подходит.

-------
Взялся отвечать, отвечай до конца!


Отправлено: 21:45, 04-10-2017 | #2184


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата vk_k14m@vk:
А может иконкой быть *.ехе файл? »
Исполняемый файл «иконкой» быть не может по определению. Если же понимать вопрос как «можно ли указать в качестве значка для создаваемого ярлыка значок, содержащийся в ресурсах исполняемого файла» — то да, можно. Об этом написано там, где Вы никак не хотите читать ни на английском, ни на русском. Для этого используется два параметра — «IconFilename» и «IconIndex».
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:01, 04-10-2017 | #2185


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024

Профиль | Отправить PM | Цитировать


Цитата vk_k14m@vk:
а можно поподробнее что в вашем коде? Особенно секция [Run] интересует. »
vk_k14m@vk, признаком того, что pp-архивы нужно перепаковать, является наличие папок с именами этих pp-архивов в data. Это выбранные компоненты (и их дочки) Anticensor, Hairpack, Override, Russification. AA2Decrypt_fix.exe при работе с pp-архивом распаковывает его содержимое в папку с именем архива, но перед распаковкой такие папки уже существуют и нужно защитить их содержимое от перезаписи. Для этого в секции [Files] компонентам, отвечающим за установку папок вида jg2* в data, добавлена директива Attribs со значением readonly. Файлы защищены, можно распаковывать pp-архивы, дальше атрибут с файлов в папках jg2* убирается, старые pp-архивы удаляются, папки пакуются в новые pp-архивы. Построчно:
1. for /d %? in (jg2*) do ""{tmp}\AA2Decrypt_fix.exe"" ""%?.pp""" - pp-архивы, если есть папка с таким же именем, что и у архива, передаются утилите AA2Decrypt_fix.exe на распаковку.
2. for /d %? in (jg2*) do attrib -r ""%?\*"" /s - в папках jg2* у файлов снимается ранее установленный атрибут readonly
3. for /d %? in (jg2*) do del /f /q ""%?.pp"" - удаляются pp-архивы, если есть папка с таким же именем, что и у архива.
4. for /d %? in (jg2*) do ""{tmp}\AA2Decrypt_fix.exe"" ""%?"" - папки jg2* пакуются, на выходе pp-архивы.
5. for /d %? in (jg2*) do rd /s /q ""%?"" - папки jg2* удаляются.
Цитата vk_k14m@vk:
Первая строчка распакует все *.рр архивы если они есть, это уже 30+30=60 гигов. Понимаете к чему я виду? »
vk_k14m@vk, понимаю, что не все архивы, как вы говорите, а лишь некоторые, затрагиваемые компонентами, но согласен, удаление надо проводить не после обработки всех необходимых архивов. Можете Run так написать, так архивы по очереди обрабатываться будут:
Код: Выделить весь код
[Run]
Filename: {cmd}; Parameters: "/c for /d %? in (jg2*) do ""{tmp}\AA2Decrypt_fix.exe"" ""%?.pp""&attrib -r ""%?\*"" /s&del /f /q ""%?.pp""&""{tmp}\AA2Decrypt_fix.exe"" ""%?""&rd /s /q ""%?"""; WorkingDir: {app}\data; StatusMsg: "Перепаковка pp-файлов"; Components: Anticensor Hairpack Override Russification; Flags: runhidden
Цитата vk_k14m@vk:
Без % и прогресс бара? »
vk_k14m@vk, ага, только и консоль на экране не вариант, можно и закрыть ненароком, а ручки чешутся, когда операция долгая.

Отправлено: 10:25, 05-10-2017 | #2186


Аватара для vk_k14m@vk

Старожил


Сообщения: 342
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата El Sanchez:
ага, только и консоль на экране не вариант, можно и закрыть ненароком, а ручки чешутся, когда операция долгая. »
Ну как говорится это уже не мои проблемы. Я помню когда то давно купил диск, сборник игр HL2 +1-2 епизод. Там тоже в конце установки запускалась консоль и что-то делала. Первый раз я ее закрыл. И в результате игра оказалась без звуков. Второй раз уже до конца дождался. Я же в свой батник специально добавил %, что б хоть примерно знать когда это все закончится. В резултате установка на моем компе занимала около часа.

К слову, если бы люди все те компоненты ставили вручную. То времени на установку они потратили бы гораздо больше.

-------
Взялся отвечать, отвечай до конца!


Отправлено: 17:58, 05-10-2017 | #2187


Аватара для vk_k14m@vk

Старожил


Сообщения: 342
Благодарности: 4

Профиль | Отправить PM | Цитировать


Итак народ. Еще вопросик. Нужно что б мой установщик вносил в реестр такие изменения.
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\illusion]

[HKEY_CURRENT_USER\Software\illusion\AA2Edit]
"INSTALLDIR"="D:\\Inno Setup\\test\\Artificial Academy 2"

[HKEY_CURRENT_USER\Software\illusion\AA2Play]
"INSTALLDIR"="D:\\Inno Setup\\test\\Artificial Academy 2"
Где "D:\\Inno Setup\\test\\Artificial Academy 2" - путь куда устанавливается приложение.

Почитав справку я набрал это
Код: Выделить весь код
[Registry]
Root: HKCU; Subkey: "Software\illusion";         Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\illusion\AA2Play"; ValueType: string; ValueName: "INSTALLDIR"; ValueData: "{app}"; Flags: uninsdeletekey 
Root: HKCU; Subkey: "Software\illusion\AA2Edit"; ValueType: string; ValueName: "INSTALLDIR"; ValueData: "{app}"; Flags: uninsdeletekey
Это правильно? Или я опять что-то напартачил?

-------
Взялся отвечать, отвечай до конца!


Отправлено: 16:43, 06-10-2017 | #2188


SHVtYW4=


Сообщения: 3451
Благодарности: 1273

Профиль | Отправить PM | Цитировать


Цитата vk_k14m@vk:
Это правильно? »
Правильно.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:54, 06-10-2017 | #2189


Аватара для vk_k14m@vk

Старожил


Сообщения: 342
Благодарности: 4

Профиль | Отправить PM | Цитировать


Как добавить компонентам описание, при наведении на них курсор мыши? В Inno Setup help нашел нечто подобное.

Inno Setup Faq. Как добавить описание к компонентам в ComponentsList?
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
ComponentsListTVStyle=true

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[CustomMessages]
russian.ComponentsName1=Моя программа™
russian.ComponentsName2=Помощь
russian.ComponentsName2_1=Документация
russian.ComponentsName2_2=Руководство пользователя
russian.ComponentsInfoPanel1=Описание
russian.ComponentsInfoPanel2=Наведите курсор мыши на компонент, чтобы прочитать его описание.
russian.ComponentsDescription1=Устанавливается обязательно
russian.ComponentsDescription2=Помощь
russian.ComponentsDescription3=Прочитать документацию
russian.ComponentsDescription4=Прочитать руководство пользователя

[Components]
Name: readme; Description: Справка; Types: full custom;
Name: readme\en; Description: "Английская "; Types: full custom; Flags: fixed
Name: readme\ru; Description: Русская; Types: full

Name: plugs; Description: Плагины; Types: full ; Flags: collapsed
Name: plugs\wlx; Description: Внутреннего просмотра; Types: full
Name: plugs\wcx; Description: Архиваторные; Types: full
Name: plugs\wfx; Description: Системные; Types: full
Name: plugs\wfx\CanonCam; Description: CanonCam; Types: full
Name: plugs\wfx\PluginManager; Description: PluginManager; Types: full
Name: plugs\wfx\Registry; Description: Registry; Types: full
Name: plugs\wfx\Services; Description: Services; Types: full
Name: plugs\wfx\StartupGuard; Description: StartupGuard; Types: full
Name: plugs\wdx; Description: Другие; Types: full

[Сode]
type
TComponentDesc = record Description: String; Index: Integer; end;

var
Descs: array of TComponentDesc;
Info: TNewStaticText;
InfoCaption: TNewStaticText;
InfoPanel: TPanel;
Indx: Integer;

procedure ShowDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);
var i: Integer;
begin
Indx:=-1;
for i:= 0 to GetArrayLength(Descs)-1 do begin
if (Descs[i].Index=Index) then begin Indx:=i; Break end; end;
if (Indx >=0)and(Area=iaItem) then Info.Caption:= Descs[Indx].Description else Info.Caption:= ExpandConstant('{cm:ComponentsInfoPanel2}');
end;

procedure AddDescription(AIndex: Integer; ADescription: String);
var i, k: Integer;
begin
i:= GetArrayLength(Descs); SetArrayLength(Descs, i+1);
Descs[i].Description:= ADescription; Descs[i].Index:= AIndex-1
end;

procedure InitializeWizard();
begin
WizardForm.TypesCombo.Visible:=False;
WizardForm.ComponentsList.Height := ScaleY(181) - WizardForm.TypesCombo.Top;
WizardForm.ComponentsList.Top := WizardForm.TypesCombo.Top;
WizardForm.ComponentsList.Width := ScaleX(417);
WizardForm.ComponentsList.OnItemMouseMove:= @ShowDescription

InfoPanel := TPanel.Create(WizardForm);
InfoPanel.Parent := WizardForm.SelectComponentsPage;
InfoPanel.Caption := '';
InfoPanel.Top := ScaleY(190);
InfoPanel.Left := ScaleX(0);
InfoPanel.Width := ScaleX(417);
InfoPanel.Height := ScaleY(40);
InfoPanel.BevelInner := bvRaised;
InfoPanel.BevelOuter := bvLowered;
InfoCaption := TNewStaticText.Create(WizardForm);
InfoCaption.Parent := WizardForm.SelectComponentsPage;
InfoCaption.Caption := ExpandConstant('{cm:ComponentsInfoPanel1}');
InfoCaption.Left := ScaleX(7);
InfoCaption.Top := InfoPanel.Top - ScaleY(6);
InfoCaption.Font.Color := clActiveCaption;

Info := TNewStaticText.Create(WizardForm);
Info.Parent := InfoPanel;
Info.AutoSize := False;
Info.Left := ScaleX(6);
Info.Width := ScaleX(403);
Info.Top := ScaleY(12);
Info.Height := ScaleY(24);
Info.Caption := ExpandConstant('{cm:ComponentsInfoPanel2}');
Info.WordWrap := true;

AddDescription(1, 'Справка'); ///первый параметр - это номер компонента, идет последовательно от начала записи компонентов
AddDescription(2, 'Английская справка'); ///Второй параметр - это собственно описание компонента
AddDescription(3, 'Русская справка');
AddDescription(4, 'Плагины');
AddDescription(5, 'Внутреннего просмотра');
AddDescription(6, 'Архиваторные');
AddDescription(7, 'Системные');
AddDescription(8, 'CanonCam');
AddDescription(9, 'PluginManager');
AddDescription(10, 'Registry');
AddDescription(11, 'Services');
AddDescription(12, 'StartupGuard');
AddDescription(13, 'Другие');
end;
Полностью, без каких либо изменений скопировал себе секции [CustomMessages], [Сode] и строчку "ComponentsListTVStyle=true" для секции [Setup]. Компилятор выдает ошибки...
Скрытый текст


Вторая ошибка выскакивает если удалить строчку ComponentsListTVStyle=true


Может ли это быть из-за того, что help написан для 5.5.9 а у меня 5.5.8?

-------
Взялся отвечать, отвечай до конца!


Отправлено: 16:07, 09-10-2017 | #2190



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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




 
Переход