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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 06-06-2020
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме
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.3.0 [17.01.2015] - Скачать;



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

Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z
Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z
Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 04-04-2018

 

Аватара для OldGamer

Новый участник


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

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


Flix, спасибо но ошибка все равно вылазит... это не работает.
И до момента написания функции AnimateWindow эта ошибка уже была.

Отправлено: 12:19, 22-07-2024 | #1071



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

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


Аватара для ZVSRus

Старожил


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

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


Цитата OldGame:
Спасибо но ошибка все равно вылазит... это не работает.
Ошибка вылезает по той причине, что (обратите внимание сколько у вас прикручено картинок, DLL, скинов) при запуске установщика, все это грузится в память, вы нажимаете на кнопку Отмена или крестик, но при этом все эти картинки и все остальное остается висеть в памяти.
Вставь в скрипте это:

function InitializeLanguageDialog(): Boolean;
begin
// if not
FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
with SelectLanguageForm do begin
end
;
Result := True;
end;

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

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

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

Отправлено: 20:41, 23-07-2024 | #1072


Аватара для OldGamer

Новый участник


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

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


ZVSRus, спасибо - буду пытаться... хотя готов уже забить на это.
Сейчас при компиляции ошибка: Unknown identifier SelectLanguageForm ...

Отправлено: 02:19, 24-07-2024 | #1073


Аватара для ZVSRus

Старожил


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

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


function InitializeLanguageDialog(): Boolean;
begin
// if not
FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
// with SelectLanguageForm do begin
// end;
Result := True;
end;

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

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

Отправлено: 06:28, 24-07-2024 | #1074


Аватара для OldGamer

Новый участник


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

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


Цитата ZVSRus:
function InitializeLanguageDialog(): Boolean;
begin
// if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
// with SelectLanguageForm do begin
// end;
Result := True;
end; »
Сейчас вот ЭТО:

Отправлено: 07:42, 24-07-2024 | #1075


Аватара для ZVSRus

Старожил


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

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


OldGamer,
Это означает что вы работаете на стандартной (не расширенной версии InniSetup). В стандартной версии в 5 или 6 доступа к SelectLanguageForm нет. Вернитесь на страницу 106 данного форума, увидите код от El Sanchez что он написал для РОМКИ-1977, и получите доступ к кастомной форме выбора языка. Пропишете у себя в скрипте (лучше конечно прицепить модулем т.к. у вас скрипт большой и там тоже не маленький), и уже в нем прописываете то, из за чего выбивает ошибка.

PS: На какой версии InnoSetup вы работаете?. Ранее ваш скрипт особо не разглядывал по той причине, что у вас много чего прикручено (картинки dll, скины) где их брать знаете только вы. Такие скрипты обычно выкладывают архивом. У вас сейчас разглядел в скрипте
InstallGroupBox := TNewGroupBox.Create(WizardForm);. Этот компонент принимается только в расширенной версии 5.5.1.
В других версиях на на этом компоненте будут ошибки (Неизвестный тип). Так что с этим скриптом на вашей версии InnoSetup печалька.

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


Последний раз редактировалось ZVSRus, 25-07-2024 в 16:36.

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

Отправлено: 08:01, 24-07-2024 | #1076


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

Ветеран


Contributor


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

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


Цитата Flix:
Ошибка в процедуре CancelButtonClick.
В функции AnimateWindow передается хендл окна мастера установки (WizardForm.Handle), которое ещё не создано. »
Нет. Речь шла про окно выбора языка, WizardForm ещё нет и CancelButtonClick некому вызывать, так что мимо.
Цитата ZVSRus:
Ошибка вылезает по той причине, что (обратите внимание сколько у вас прикручено картинок, DLL, скинов) при запуске установщика, все это грузится в память, вы нажимаете на кнопку Отмена или крестик, но при этом все эти картинки и все остальное остается висеть в памяти. »
Нет. Окно выбора языка выполняется до InitializeSetup, так что ещё мимее.
Цитата OldGamer:
Есть стандартное окно с выбором языков установки.
При нажатии на Отмена или крестик выбивает ошибку:
"Runtime Error (at 105:118)
Could not call proc". »
OldGamer, ошибка в DeinitializeSetup на вызове MP3List.Free, объект MP3List будет создан позднее в InitializeSetup, вы пытаетесь освободить несуществующий объект. Даже если закомменировать эту строку, то следующая же ShowWindow(WizardForm.Handle,0) тоже грохнет установщик, WizardForm ещё нет. Поэтому всегда в DeinitializeSetup пишите первой строкой if ExpandConstant('{wizardhwnd}') = '0' then Exit;
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:54, 26-07-2024 | #1077


Аватара для OldGamer

Новый участник


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

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


El Sanchez , спасибо Большое! Это... РАБОТАЕТ! +1000

Отправлено: 22:37, 26-07-2024 | #1078


Пользователь


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

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


Добрый день. Прошу помощи. Имеется кастомная страница, которая создается через
Код: Выделить весь код
Procedure InitializeWizard();
Begin
CreateCustomPlayerNamePage;
end;
Страница отображается после выбора компонентов и папки с ярлыками в меню пуск. Можно ли сделать чтобы это страница отображалась только при выборе определенного компонента на предыдущей странице?

UPD: решил вот так
Код: Выделить весь код
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if IsComponentSelected('Crack\One') then // проверяем выбран ли компонента Crack/One
if (PageID = PlayerNamePage.ID) then // если он выбран то страница с именем PlayerNamePage будет пропускаться
Result := True
else
Result := False; // а если нет, то показываем как обычно
end;

Последний раз редактировалось T1cOoN, 28-07-2024 в 00:48.


Отправлено: 00:05, 28-07-2024 | #1079


Новый участник


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

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


Ребят, вот одну проблему не знаю как решить уже несколько дней, то ли баг это, то ли ещё что.

При создании скрипта через wizard, отмечаю "Разрешить пользователю отключить создание папки в меню пуск". В итоге этот выбор не предоставляется пользователю при установке. Помогите люди добрые)

Отправлено: 14:02, 01-08-2024 | #1080



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

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

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




 
Переход