как правильно редактировать скрипты?

Eisemann

Новичок
если скрипт-голяк, то все нормально, а если строки вставляю, то ничего не происходит, ктоме того что установка не отвечает
Код:
Source: "C:\Games\Totally Accurate Battle Simulator v0.3.6174.523\TotallyAccurateBattleSimulator.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Games\Totally Accurate Battle Simulator v0.3.6174.523\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
 

vint56

Ветеран
Проверенный
Eisemann, вообще скрипт заточен под isdone а не внутренне сжатие inno setup
а чтобы работало надо
потому и виснет установщик что он проверяет файлы игры а потом временные файлы потому поменяй местами чтобы было временные с начало а потом все остальное
[Files]
Source: img\*; Flags: dontcopy
Source: dll\*; Flags: dontcopy
Source: Include\English.ini; DestDir: {tmp}; Flags: dontcopy
Source: Include\unarc.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef records
Source: Include\records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef PrecompInside
Source: Include\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef SrepInside
Source: Include\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef facompress
Source: Include\facompress.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp
#if precomp == "0.38"
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.4"
Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.41"
Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.42"
Source: Include\precomp042.exe; DestDir: {tmp}; Flags: dontcopy
#else
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp042.exe; DestDir: {tmp}; Flags: dontcopy
#endif
#endif
#endif
#endif
#endif
#ifdef unrar
Source: Include\Unrar.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef XDelta
Source: Include\XDelta3.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef PackZIP
Source: Include\7z.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packZIP.exe; DestDir: {tmp}; Flags: dontcopy
#endif
Source: "C:\Games\Totally Accurate Battle Simulator v0.3.6174.523\TotallyAccurateBattleSimulator.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Games\Totally Accurate Battle Simulator v0.3.6174.523\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
 

ZVSRus

Участник
Eisemann, Свои файлы игры вы наверное вставляете в самые верх секции [Files], нужно в самый низ после всех временных файлов у которых директория установки такая DestDir: {tmp}; Flags: dontcopy
 

Eisemann

Новичок
Eisemann, вообще скрипт заточен под isdone а не внутренне сжатие inno setup
а чтобы работало надо
потому и виснет установщик что он проверяет файлы игры а потом временные файлы потому поменяй местами чтобы было временные с начало а потом все остальное
[Files]
Source: img\*; Flags: dontcopy
Source: dll\*; Flags: dontcopy
Source: Include\English.ini; DestDir: {tmp}; Flags: dontcopy
Source: Include\unarc.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef records
Source: Include\records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef PrecompInside
Source: Include\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef SrepInside
Source: Include\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef facompress
Source: Include\facompress.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp
#if precomp == "0.38"
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.4"
Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.41"
Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy
#else
#if precomp == "0.42"
Source: Include\precomp042.exe; DestDir: {tmp}; Flags: dontcopy
#else
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp040.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp041.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp042.exe; DestDir: {tmp}; Flags: dontcopy
#endif
#endif
#endif
#endif
#endif
#ifdef unrar
Source: Include\Unrar.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef XDelta
Source: Include\XDelta3.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef PackZIP
Source: Include\7z.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\packZIP.exe; DestDir: {tmp}; Flags: dontcopy
#endif
Source: "C:\Games\Totally Accurate Battle Simulator v0.3.6174.523\TotallyAccurateBattleSimulator.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Games\Totally Accurate Battle Simulator v0.3.6174.523\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Спасибо вам, что объяснили мне как и что
 

Eisemann

Новичок
Eisemann, Свои файлы игры вы наверное вставляете в самые верх секции [Files], нужно в самый низ после всех временных файлов у которых директория установки такая DestDir: {tmp}; Flags: dontcopy
СПАСИБО, я с сообщения vint56 понял как и что сделать
 

vint56

Ветеран
Проверенный
Eisemann,
[Setup]: DiskSpanning
Возможные значения:
yes или no
Значение по умолчанию:
no
Опмсание:
При значении yes будет производиться разбиение на диски. Определяет, создавать ли компилятору один файл SETUP.EXE, или делить его на файлы (SETUP-*.BIN), которые помещаются на дискету, CD-ROM, DVD-ROM или другой носитель. Каждый файл в своем имени будет содержать номер, по которому можно будет определить на какой диск его следует скопировать. Скопируйте SETUP.EXE и SETUP-1.BIN на первый диск, SETUP-2.BIN на второй и т. д.

В этом случае размер каждого файла и число файлов, создаваемых для каждого диска, диктуется директивой DiskSliceSize и SlicesPerDisk секции [Setup]. Другие директивы, отвечающие за разбиение на диски, которые вы захотите внедрить, должны включать директивы DiskClusterSize и ReserveBytes.

Обратите внимание, что нужно обязательно задать этим директивам значение yes, если размер сжатого файла инсталлятора превышает 2,100,000,000 байт, даже если вы не планируете разбивать инсталлятор на диски. (Инсталлятор будет работать правильно, даже если все SETUP-*.BIN файлы будут размещены на одном диске).

[Setup]: DiskSliceSize
Возможные значения:

262144 до 2100000000, или max
Значение по умолчанию:

max (2100000000)
Описание:
Определяет максимальное количество байтов на дисковую часть (SETUP-*.BIN файл). Обычно, оно должно быть установлено в общее количество байтов, доступных на дисковых носителях, разделенных на значение директивы SlicesPerDisk секции [Setup], значение которого по умолчанию 1.

Директива игнорируется, если разбиение на диски не включено (директива DiskSpanning секции [Setup]).

Чтобы оптимально заполнить DVD диск размером 4.7 Гбайт, используйте:

SlicesPerDisk=3
DiskSliceSize=1566000000

Чтобы оптимально заполнить DVD диск размером 8.5 Гбайт, используйте:

SlicesPerDisk=5
DiskSliceSize=1708200000

Чтобы оптимально заполнить CD (80-минутные) диск размером 700 Мбайт, используйте:

SlicesPerDisk=1
DiskSliceSize=736000000

Чтобы оптимально заполнить 1.44MБ гибкие диски, используйте:

SlicesPerDisk=1
DiskSliceSize=1457664
 

Eisemann

Новичок
Eisemann,
[Setup]: DiskSpanning
Возможные значения:
yes или no
Значение по умолчанию:
no
Опмсание:
При значении yes будет производиться разбиение на диски. Определяет, создавать ли компилятору один файл SETUP.EXE, или делить его на файлы (SETUP-*.BIN), которые помещаются на дискету, CD-ROM, DVD-ROM или другой носитель. Каждый файл в своем имени будет содержать номер, по которому можно будет определить на какой диск его следует скопировать. Скопируйте SETUP.EXE и SETUP-1.BIN на первый диск, SETUP-2.BIN на второй и т. д.

В этом случае размер каждого файла и число файлов, создаваемых для каждого диска, диктуется директивой DiskSliceSize и SlicesPerDisk секции [Setup]. Другие директивы, отвечающие за разбиение на диски, которые вы захотите внедрить, должны включать директивы DiskClusterSize и ReserveBytes.

Обратите внимание, что нужно обязательно задать этим директивам значение yes, если размер сжатого файла инсталлятора превышает 2,100,000,000 байт, даже если вы не планируете разбивать инсталлятор на диски. (Инсталлятор будет работать правильно, даже если все SETUP-*.BIN файлы будут размещены на одном диске).

[Setup]: DiskSliceSize
Возможные значения:

262144 до 2100000000, или max
Значение по умолчанию:

max (2100000000)
Описание:
Определяет максимальное количество байтов на дисковую часть (SETUP-*.BIN файл). Обычно, оно должно быть установлено в общее количество байтов, доступных на дисковых носителях, разделенных на значение директивы SlicesPerDisk секции [Setup], значение которого по умолчанию 1.

Директива игнорируется, если разбиение на диски не включено (директива DiskSpanning секции [Setup]).

Чтобы оптимально заполнить DVD диск размером 4.7 Гбайт, используйте:

SlicesPerDisk=3
DiskSliceSize=1566000000

Чтобы оптимально заполнить DVD диск размером 8.5 Гбайт, используйте:

SlicesPerDisk=5
DiskSliceSize=1708200000

Чтобы оптимально заполнить CD (80-минутные) диск размером 700 Мбайт, используйте:

SlicesPerDisk=1
DiskSliceSize=736000000

Чтобы оптимально заполнить 1.44MБ гибкие диски, используйте:

SlicesPerDisk=1
DiskSliceSize=1457664
Спасибо. простите, если напрягаю...
 

Eisemann

Новичок
Eisemann, Свои файлы игры вы наверное вставляете в самые верх секции [Files], нужно в самый низ после всех временных файлов у которых директория установки такая DestDir: {tmp}; Flags: dontcopy
можно еще вопрос?
как бороться с этим?
 

Вложения

Eisemann

Новичок
Eisemann,
[Setup]: DiskSpanning
Возможные значения:
yes или no
Значение по умолчанию:
no
Опмсание:
При значении yes будет производиться разбиение на диски. Определяет, создавать ли компилятору один файл SETUP.EXE, или делить его на файлы (SETUP-*.BIN), которые помещаются на дискету, CD-ROM, DVD-ROM или другой носитель. Каждый файл в своем имени будет содержать номер, по которому можно будет определить на какой диск его следует скопировать. Скопируйте SETUP.EXE и SETUP-1.BIN на первый диск, SETUP-2.BIN на второй и т. д.

В этом случае размер каждого файла и число файлов, создаваемых для каждого диска, диктуется директивой DiskSliceSize и SlicesPerDisk секции [Setup]. Другие директивы, отвечающие за разбиение на диски, которые вы захотите внедрить, должны включать директивы DiskClusterSize и ReserveBytes.

Обратите внимание, что нужно обязательно задать этим директивам значение yes, если размер сжатого файла инсталлятора превышает 2,100,000,000 байт, даже если вы не планируете разбивать инсталлятор на диски. (Инсталлятор будет работать правильно, даже если все SETUP-*.BIN файлы будут размещены на одном диске).

[Setup]: DiskSliceSize
Возможные значения:

262144 до 2100000000, или max
Значение по умолчанию:

max (2100000000)
Описание:
Определяет максимальное количество байтов на дисковую часть (SETUP-*.BIN файл). Обычно, оно должно быть установлено в общее количество байтов, доступных на дисковых носителях, разделенных на значение директивы SlicesPerDisk секции [Setup], значение которого по умолчанию 1.

Директива игнорируется, если разбиение на диски не включено (директива DiskSpanning секции [Setup]).

Чтобы оптимально заполнить DVD диск размером 4.7 Гбайт, используйте:

SlicesPerDisk=3
DiskSliceSize=1566000000

Чтобы оптимально заполнить DVD диск размером 8.5 Гбайт, используйте:

SlicesPerDisk=5
DiskSliceSize=1708200000

Чтобы оптимально заполнить CD (80-минутные) диск размером 700 Мбайт, используйте:

SlicesPerDisk=1
DiskSliceSize=736000000

Чтобы оптимально заполнить 1.44MБ гибкие диски, используйте:

SlicesPerDisk=1
DiskSliceSize=1457664
не знаете как с этим бороться?
 

Вложения

Nemko

Дилетант
Модератор
Eisemann алгоритм действий такой:
  • Выбираете нужный Вам архиватор. Например это будет FreeArc.
  • Пакуете файлы в архив и называете его Data.arc.
  • Далее перемешаете архив в папку куда компилируется Setup.exe. Проще говоря кладете архив рядом с исполняемым файлом.
  • Далее переходи в скрипт начиная со строки 1537 (почти в самом низу) начинаются закоментируемые примеры подключения архивов к ISDone.
  • Выбираем строчку которая начинается с if not ISArcExtract эта строчка задает тип (условие) подключаемого архива а конкретнее архива типа arc.
  • Копируем её чуть выше если ее там нету (см. скриншот) и заполняем так:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

{src}\Data.arc - {путь к архиву}\Файл.расширение
{app} - директория распаковки, распаковать в папку с программой

Все должно работать...
1.jpg
 
Последнее редактирование:

Eisemann

Новичок
Eisemann алгоритм действий такой:
  • Выбираете нужный Вам архиватор. Например это будет FreeArc.
  • Пакуете файлы в архив и называете его Data.arc.
  • Далее перемешаете архив в папку куда компилируется Setup.exe. Проще говоря кладете архив рядом с исполняемым файлом.
  • Далее переходи в скрипт начиная со строки 1537 (почти в самом низу) начинаются закоментируемые примеры подключения архивов к ISDone.
  • Выбираем строчку которая начинается с if not ISArcExtract эта строчка задает тип (условие) подключаемого архива а конкретнее архива типа arc.
  • Копируем её чуть выше если ее там нету (см. скриншот) и заполняем так
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

{src}\Data.arc - {путь к архиву}\Файл.расширение
{app} - директория распаковки, распаковать в папку с программой

Все должно работать...
Т.Е мне надо раскомментировать еще строку ISArcExtract?
 

Nemko

Дилетант
Модератор
Нет сделайте так как на скриншоте. И да пакуете Вы каким архиватором ?
 

Carlos

Участник
Модератор
Предполагаю, что у него всё правильно в скрипте, но вот на скриншоте я не заметил рядом с Data.arc самого исполняемого файла (Setup.exe)
Если winrar, то так
Код:
if not ISRarExtract    ( 0, 0, ExpandConstant('{src}\Имя архива'), ExpandConstant('{app}'), false, '') then break;
 

Nemko

Дилетант
Модератор
Ну так архивы WinRar подругому подключать надо. Через условие if not ISRarExtract. Плюс надо модуль подрубить ракоментировав строчку ;#define unrar.
 
Сверху