PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 9]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Iska
02-04-2021, 23:24
burza, то есть, не Вы, а кто-то другой должен бросить всё и пойти туда, зарегистрироваться, набрать десять симпатий, загрузить тот скрипт и, в нарушение тамошних правил, выдать его Вам на блюдечке с голубой каёмочкой?!

Ничего у Вас не треснет, а, коллега?

VLADEV
07-04-2021, 12:59
burza, 3 бакса стоит вход в закачку. Раз вы учитесь то думаю Вам не только этот скрипт понадобится. (ИМХО)

Boogiman23
08-04-2021, 09:46
Добрый день, уважаемые форумчане. Кто в курсе: как обойти ограничение в Inno Setup на размер создаваемого файла в 2.100.000.000 байт? То есть, задача перепаковать игру с дополнительным патчем. Игра в установленном виде весит 12,7 Гб. При компиляции Inno Setup создаёт аж 6 файлов (не считая основного exe-шника): 5 файлов по 1,95 Гб каждый и один (видимо, остаточный) на 1,55 Гб. Оригинальный установщик игры имеет 5 дополнительных bin файлов размерами 3,33 Гб, 2,19 Гб, 142 Мб, 26,7 Мб и 5,93 Мб. Как так получается, что в оригинале возможен размер файлов больше 1,95 Гб, а при компиляции в Inno Setup - нет? Может быть, есть какие-то скрытые настройки в Inno Setup, которые отвечают за снятие данного ограничения? Или же для создания больших bin файлов надо использовать какой-то другой компилятор? Если кто знает такой - подскажите, пожалуйста. Ведь такая возможность точно есть, поскольку имеются игры, в которых bin-арники весят по 20-40 Гб!

boss911
08-04-2021, 13:44
поскольку имеются игры, в которых bin-арники весят по 20-40 Гб! »
Это 7Zip или FreeArc архивы. В шапке есть ссылки, как работать с этими архивами. Далее не подскажу.
Обойти ограничение в 2100000000 байт нельзя, только способом ниже - через сторонний архив.

http://forum.oszone.net/post-2012750-1182.html
http://forum.oszone.net/post-1300871-729.html

Boogiman23
08-04-2021, 17:50
Благодарю, boss911, за подсказку!

Boogiman23
09-04-2021, 20:51
Обойти ограничение в 2100000000 байт нельзя, только способом ниже - через сторонний архив. »
Ну, хорошо, сторонний архив. Но ведь даже если запаковать файлы игры другим архиватором, сделав, например, 3 файла по 4 Гб, то при создании установщика через Inno Setup всё равно же будет выскакивать ошибка о превышении размера одного файла! Ведь эти же новосозданные 3 файла надо добавлять в установщик на этапе создания оного. Или же существует какой-нибудь хороший аналог Inno Setup, в котором нет такой фигни?

Iska
09-04-2021, 21:07
Boogiman23, Вы не поняли. Если я всё правильно понимаю, то:

эти файлы (архива) вообще не входят в состав установщика;
у Вас будет отдельно — установщик, и отдельно — архив.

Т.е., нет никакого:
то при создании установщика через Inno Setup »
где Вы помещаете файлы архива внутрь инсталляции InnoSetup, не надо:
Ведь эти же новосозданные 3 файла надо добавлять в установщик на этапе создания оного. »

Boogiman23
09-04-2021, 21:51
Iska, а как же всё это правильно сделать, чтоб создать нормальную установку игры?
Вот, для большего понимания:
Это размер установленной игры: 09.04.jpg
А это размер исходной установки: 09.041.jpg

danilious@vk
16-08-2021, 00:24
"Здравствуйте! Честное слово, "весь интернет" облазил, но ничего не нашел. Я мало что понимаю в inno setup, но хотел бы спросить, как сделать выборочную загрузку, чтобы человек ставил и убирал галочки перед тем или иным файлом. Спасибо"
Видимо я плохо искал)) Но чтобы другим людям также не париться.
Как сделать выборочную загрузку в Inno Setup?
https://golos.io/~34ff1xx3wuxy/razrabotka-installyatorov-urok-16-inno-setup-komponenty-flagi-i-pereklyuchateli

ToBeLife
19-08-2021, 16:44
Здравствуйте.
Подскажите по вопросу о is7z.dll:
1. Она распаковывает лишь 7z или 7z-sfx-архив тоже умеет?
2. Воспользовался прилагаемым примером (с прописыванием путей), но кроме сообщения о "неверном пароле", более ничего. Распаковка не происходит.
- нужно что-то дописать или библиотека не умеет работать с новыми версиями 7z?


Boogiman23,
А упаковать файлы, скажем в 7zip или WinRar с нужным размером, а в inno прописать распаковку?

vei136@vk
24-09-2021, 11:54
Доброго времени суток,

Есть архив с игрой, необходимо сделать по шаблону (пример скина инсталлятора) установочник.
возможно найдется человек который объяснит или сверстает за плату.
https://i.ibb.co/bWVJxmv/image.jpg
Требования к установочнику:
1. Окно при запуске приложения (прикрепил пикчу)
2. Окно выбора директории + кнопка выбора.
3. Кнопка установить
4. Лоадинг бар
(кнопки есть в 3 стилях (active/hover/disabled))

pollipen
31-10-2021, 12:42
ребята как запустить файл средствами инно сетап msp

boss911
31-10-2021, 13:39
как запустить файл средствами инно сетап msp »
[Run]
Filename: {sys}\msiexec.exe; Parameters: /update "{tmp}\Update.msp"; Flags: waituntilterminated
Всю информацию по параметрам смотрите в msiexec.exe (просто запустить).

pollipen
15-11-2021, 17:08
ребята помогите
хочу сделать браузер по умолчанию (Google Chrom)
так же ассоциации с файлом (Google Chrom)
может какой скрипт есть?

boss911
15-11-2021, 18:46
хочу сделать браузер по умолчанию (Google Chrom)
так же ассоциации с файлом (Google Chrom) »
Я Google Chrome не пользуюсь, все, что могу предложить, это попробовать установить Chrome в качестве браузера по умолчанию (ассоциации с файлами предположительно) с помощью ключа командной строки --make-default-browser:
[Run]
Filename: {app}\Chrome\Application\chrome.exe; Parameters: --make-default-browser; Flags: waituntilterminated
Но есть отзывы, что ключ работает только для Win7 (надо проверять).

pollipen
16-11-2021, 06:56
Но есть отзывы, что ключ работает только для Win7 (надо проверять). »
да проверил на 7 нормально ,а дальше 8-10 уже не хочет по умолчанию.

Афганец
14-01-2022, 20:55
Как выше уже писалось не мог тоже получить регистрацию на форуме krinkels.org нашел и сети что здесь также обсуждается Inno Setup
Установил Inno Setup 6.2.0
Собрал программу, запустил ее установку после сборки, исправил всё что мне нужно, пользуясь различными мануалами.
Но есть одна проблема которую не могу решить. Помогите найти причину.
В общем суть такая.
В программе в подпапке есть два ехе файла запустив которые можно запустить программу. Обзовем их:
INPA.exe и INPALOAD.exe
находятся они тут:
C:\EC-APPS\INPA\BIN\INPA.exe
C:\EC-APPS\INPA\BIN\INPALOAD.exe
Проблема заключается в том, что в главной папке EC-APPS создается файл INPALOAD.exe естественно что запустив его программа дает ошибку при запуске.
Иконка на рабочем столе создается с правильным адресом запуска стартового файла: C:\EC-APPS\INPA\BIN\INPALOAD.exe

Как сделать чтобы файл INPALOAD.exe не создавался в этой директории: C:\EC-APPS\INPALOAD.exe
Этот файл указан как файл запуска программы:
#define MyAppExeName "INPALOAD.exe"

lmiol
14-02-2022, 00:36
Всем доброго времени суток
Появилась необходимость скачивать архив, распаковывать и устанавливать. Inno Setup версия 6.2.0
Решили заюзать Inno Download Plugin (https://mitrichsoftware.wordpress.com/inno-setup-tools/inno-download-plugin/) (он вроде самый адекватный)
перевели установщик в silent режим, чтобы избавиться от лишних окон и кнопок
получилось как-то так (idp.iss не прилагаю, он у нас без изменений)

#define MyAppName "bla"
#define MyAppVersion "1.0.0"
#define MyAppPublisher "bla"
#define MyAppURL "https://www.bla.com/"
#define MyAppExeName "bla.exe"
#include ReadReg(HKLM, 'Software\WOW6432Node\Mitrich Software\Inno Download Plugin', 'InstallDir') + '\idp.iss'

[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{9B58D044-A076-47B2-B426-FC6CA298390A}}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
; Remove the following line to run in administrative install mode (install for all users.)
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=commandline
OutputDir=C:\bla\App Installer
OutputBaseFilename=bla-setup
;SetupIconFile=C:\bla\App Installer\installerIcon.ico
Compression=zip
SolidCompression=yes
WizardStyle=classic
AllowCancelDuringInstall=no
WindowResizable=yes
;SignTool=MsSign $f
DisableProgramGroupPage=yes


[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "C:\bla\App Installer\7za.exe"; DestDir: {tmp}; Flags: deleteafterinstall
Source: "{tmp}\bla-portable.zip"; DestDir: "{app}"; Flags: external ignoreversion recursesubdirs deleteafterinstall; ExternalSize: 323584
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"

[Run]
Filename: "{tmp}\7za.exe"; Parameters: "x ""{app}\bla-portable.zip"" -o""{app}\"" * -r -aoa"; Flags: runhidden runascurrentuser;
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall

[Messages]
SetupWindowTitle={#MyAppName}

[Code]
#ifdef UNICODE
#define AW "W"
#else
#define AW "A"
#endif
type
HINSTANCE = THandle;




function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string;
lpParameters: string; lpDirectory: string; nShowCmd: Integer): HINSTANCE;
external 'ShellExecute{#AW}@shell32.dll stdcall';

function InitializeSetup: Boolean;
begin
// if this instance of the setup is not silent which is by running
// setup binary without /SILENT parameter, stop the initialization
Result := WizardSilent;
// if this instance is not silent, then...
if not Result then
begin
// re-run the setup with /SILENT parameter; because executing of
// the setup loader is not possible with ShellExec function, we
// need to use a WinAPI workaround
if ShellExecute(0, '', ExpandConstant('{srcexe}'), '/SILENT', '',
SW_SHOW) <= 32
then
// if re-running this setup to silent mode failed, let's allow
// this non-silent setup to be run
Result := True;
end;
end;



procedure InitializeWizard();
begin
WizardForm.ProgressGauge.Visible := True;
WizardForm.PageNameLabel.Height := 0;
WizardForm.PageDescriptionLabel.Height := 0;
WizardForm.StatusLabel.Visible := True;
WizardForm.Bevel.Visible := False;
WizardForm.CancelButton.Height := 0;
WizardForm.Bevel1.Visible := False;
WizardForm.WizardSmallBitmapImage.Visible := False;
//WizardForm.Color := clWhite;
//WizardForm.Color := $2B2E33;
WizardForm.MainPanel.Color := WizardForm.Color;
WizardForm.InnerPage.Color := WizardForm.Color;
WizardForm.TasksList.Color := WizardForm.Color;
WizardForm.InstallingPage.Color := WizardForm.Color;
WizardForm.FilenameLabel.Visible := False;
WizardForm.Width:=640;
WizardForm.Height:=270;
idpAddFileSize('https://api.bla.com/download/bla-portable.zip', ExpandConstant('{tmp}\bla-portable.zip'), 71188480);
idpDownloadAfter(wpReady);

end;

procedure CurInstallProgressChanged(CurProgress, MaxProgress: Integer);
begin
WizardForm.StatusLabel.Caption := 'Installing, please wait...';
//WizardForm.StatusLabel.Top :=-5;
WizardForm.ProgressGauge.Top :=34;
WizardForm.MainPanel.Visible := False;
//WizardForm.StatusLabel.Font.Color := $8D7C72;
//WizardForm.StatusLabel.Font.Color :=clWhite;
end;


procedure CurPageChanged(CurPageID: Integer);
begin
WizardForm.Bevel1.Visible := false ;
WizardForm.MainPanel.Visible := false ;
WizardForm.InnerNotebook.Top:=50;
WizardForm.OuterNotebook.height := 400 ;
end;




Всё отлично работает, но есть пару но

1 Идёт окно Downloading вызываемое IDP, нажимаем на крестик закрытия окна и в появившемся модальном окне подтверждаем на Yes
Вместо того чтобы прервать Загрузку он пытается дальше выполнить установку и создает ярлыки

2 Идёт окно Downloading вызываемое IDP, отключаем wifi, в появившемся модальном окне где говорят "интернет пропал" и спрашивают "Повторить или Отмена?" нажимаем Отмена
Вместо того чтобы прервать загрузку он пытается дальше выполнить установку и создает ярлыки

Я долго гуглил решения и нашел вот это
https://stackoverflow.com/questions/4438506/exit-from-inno-setup-installation-from-code
Пользователь Martin Ba объясняет что вроде бы WizardForm.Close не работает в silentmode
и что можно определить два типа обратных вызовов нажатия кнопки отмены [Code]: глобальная CancelButtonClick процедура, каждая страница мастера также имеет параметр, OnCancelButtonClick: TWizardPageCancelEvent который можно установить.

Но что-то я не разобрался как именно трекать Сancel в кейсе 2 и Yes в кейсе 1

кто-нибудь работал с IDP и Режиме silent?

Т.е. ожидаемый результат в обоих двух кейсах
- Не идёт распаковка архива который не был получен
- Не идёт установка ярлыков
- Нет других ошибок
- Вместо загрузки показывается временный текст "Rollback changes..." или "Canceling installation..." который показывается пока там всё отменяется, по окончанию нужных действий установщик просто закрывается

Barkasun
14-02-2022, 10:43
Может быть, есть какие-то скрытые настройки в Inno Setup?

lmiol
16-02-2022, 13:21
Всем доброго времени суток
Появилась необходимость скачивать архив, распаковывать и устанавливать. Inno Setup версия 6.2.0
Решили заюзать Inno Download Plugin (он вроде самый адекватный)
перевели установщик в silent режим, чтобы избавиться от лишних окон и кнопок
получилось как-то так (idp.iss не прилагаю, он у нас без изменений)

...

Всё отлично работает, но есть пару но
1 Идёт окно Downloading вызываемое IDP, нажимаем на крестик закрытия окна и в появившемся модальном окне подтверждаем на Yes
Вместо того чтобы прервать Загрузку он пытается дальше выполнить установку и создает ярлыки
2 Идёт окно Downloading вызываемое IDP, отключаем wifi, в появившемся модальном окне где говорят "интернет пропал" и спрашивают "Повторить или Отмена?" нажимаем Отмена
Вместо того чтобы прервать загрузку он пытается дальше выполнить установку и создает ярлыки
Я долго гуглил решения и нашел вот это
https://stackoverflow.com/questions/...tion-from-code
Пользователь Martin Ba объясняет что вроде бы WizardForm.Close не работает в silentmode
и что можно определить два типа обратных вызовов нажатия кнопки отмены [code]: глобальная CancelButtonClick процедура, каждая страница мастера также имеет параметр, OnCancelButtonClick: TWizardPageCancelEvent который можно установить.
Но что-то я не разобрался как именно трекать Сancel в кейсе 2 и Yes в кейсе 1
кто-нибудь работал с IDP и Режиме silent? »

плачу 1000₽ за готовое, работоспособное решение
Оплату произведу после тестирования вашего setup.exe, укажите прямую ссылку на ZIP чего угодно размером на 20-30 мегабайт, либо звонок с демонстрацией экрана )
Регресс баги/проблемы должны отсутствовать или вам придется править за свой счет =)




© OSzone.net 2001-2012