Проблема Помогите доделать установщик Рандомные ключи

Andreo Fadio

Старожил
CustomMessages] это разве не выбор просто языка или одного файла, туда можно прописать размещение и установку нужных файлов при выборе из компонентов
При выборе из компонентов работает секция Files в которой вы прописываете параметр компонент. Чтобы не ставить определеный компонент в секции компонентов используете параметр languages и язык прописываете к которому приписываете этот компонент. Например: languages: rus;
 

AlexZetCrow

Новичок
При выборе из компонентов работает секция Files в которой вы прописываете параметр компонент. Чтобы не ставить определеный компонент в секции компонентов используете параметр languages и язык прописываете к которому приписываете этот компонент. Например: languages: rus;
Немного вас не понял
Покажите пожалуйста пример

[Languages]
Name: "eng"; MessagesFile: "Languages\Default.isl"
[Files]
Source: "Readme.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0;
[Components]
Name: textRu\rus; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full;



Я немного вас не понимаю..
Можете привести пример этих двух методов, сложного и простого который завязан на Languages
Просто если смогу понять как это сделать, то в принципе я могу и доп файлы для моддинга внести таким же образомоблегченным либо усложненным способом.
Сейчас осталось лишь 3 вопроса
- проверка системы, в частности свободного пространства (и если есть такая функция - удаление ранее установленной сборки перед установкой)
- смена языка, перенос файлов от выбранного в нужную директиву
- выбор дополнительного компонента и установка его с последующим удалением
 

Andreo Fadio

Старожил
Я немного вас не понимаю..
Код:
[CustomMessages]
eng.Loc_TextRus_VoiceRus=Russian
rus.Loc_TextRus_VoiceRus=Русский
pol.Loc_TextRus_VoiceRus=Russian ёпт

[Languages]
Name: "eng"; MessagesFile: "Languages\Default.isl"
Name: "rus"; MessagesFile: "Languages\Russian.isl"
Name: "pol"; MessagesFile: "Languages\Polish.isl"

[Files]
Source: "ReadmeENG.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: eng;
Source: "ReadmeRUS.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: rus;
Source: "ReadmePOL.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: pol;

[Components]
Name: textRu\rus; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: textRu\pol; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: pol;

А так читайте справку по Inno Setup там много интересного можно найти. Тем более здесь ее можно и на русском скачать с примерами в комплекте.
 

AlexZetCrow

Новичок
Код:
[CustomMessages]
eng.Loc_TextRus_VoiceRus=Russian
rus.Loc_TextRus_VoiceRus=Русский
pol.Loc_TextRus_VoiceRus=Russian ёпт

[Languages]
Name: "eng"; MessagesFile: "Languages\Default.isl"
Name: "rus"; MessagesFile: "Languages\Russian.isl"
Name: "pol"; MessagesFile: "Languages\Polish.isl"

[Files]
Source: "ReadmeENG.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: eng;
Source: "ReadmeRUS.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: rus;
Source: "ReadmePOL.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: pol;

[Components]
Name: textRu\rus; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: textRu\pol; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: pol;

А так читайте справку по Inno Setup там много интересного можно найти. Тем более здесь ее можно и на русском скачать с примерами в комплекте.
Премного благодарен, так я читаю
Правда англ версию с этого сайта и не во всем там разбираюсь, ибо краткое содержание не со всеми примерами.
Извините
 

AlexZetCrow

Новичок
Код:
[CustomMessages]
eng.Loc_TextRus_VoiceRus=Russian
rus.Loc_TextRus_VoiceRus=Русский
pol.Loc_TextRus_VoiceRus=Russian ёпт

[Languages]
Name: "eng"; MessagesFile: "Languages\Default.isl"
Name: "rus"; MessagesFile: "Languages\Russian.isl"
Name: "pol"; MessagesFile: "Languages\Polish.isl"

[Files]
Source: "ReadmeENG.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: eng;
Source: "ReadmeRUS.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: rus;
Source: "ReadmePOL.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: pol;

[Components]
Name: textRu\rus; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: textRu\pol; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: pol;

А так читайте справку по Inno Setup там много интересного можно найти. Тем более здесь ее можно и на русском скачать с примерами в комплекте.
Ошибку выбило если подправил под выбор, нет выбора получается доп материала

И вторая ошибка уже при компиляции когда, если подставлять вашу для проверки
 

Вложения

Andreo Fadio

Старожил
Ошибку выбило если подправил под выбор, нет выбора получается доп материала
Вот же поправил - ошибка, правьте правильно и ошибок не будет.
Код:
[Setup]
AppName=Example Extreme
AppVerName=Example Extreme
DefaultDirName={pf}\Example Extreme
DirExistsWarning=no
ShowLanguageDialog=yes
OutputBaseFilename=Example
OutputDir=.
VersionInfoCopyright=

[CustomMessages]
eng.Loc_TextRus_VoiceRus=Russian
rus.Loc_TextRus_VoiceRus=Русский
pol.Loc_TextRus_VoiceRus=Russian ёпт
eng.Loc_TextRus_VoiceRus2=Text and Voice Choose
rus.Loc_TextRus_VoiceRus2=Выбор языка и озвучки
pol.Loc_TextRus_VoiceRus2=Че то там Choose


[Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl"
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "pol"; MessagesFile: "compiler:Languages\Polish.isl"


[Files]
;Source: "ReadmeENG.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: eng;
;Source: "ReadmeRUS.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: rus;
;Source: "ReadmePOL.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: pol;
Source: "compiler:Default.isl"; DestDir: "{app}"; MinVersion: 0.0,1.0; Components: textRu\eng;
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; MinVersion: 0.0,1.0; Components: textRu\rus;
Source: "compiler:Languages\Polish.isl"; DestDir: "{app}"; MinVersion: 0.0,1.0; Components: textRu\pol;


[Components]
Name: textRu; Description: "{cm:Loc_TextRus_VoiceRus2}"; Flags: exclusive; Types: full; Languages: eng rus pol;
Name: textRu\eng; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: textRu\rus; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: rus;
Name: textRu\pol; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: pol;
И никаких ошибок нет в компиляторе и прочего.
 

AlexZetCrow

Новичок
Вот же поправил - ошибка, правьте правильно и ошибок не будет.
Код:
[Setup]
AppName=Example Extreme
AppVerName=Example Extreme
DefaultDirName={pf}\Example Extreme
DirExistsWarning=no
ShowLanguageDialog=yes
OutputBaseFilename=Example
OutputDir=.
VersionInfoCopyright=

[CustomMessages]
eng.Loc_TextRus_VoiceRus=Russian
rus.Loc_TextRus_VoiceRus=Русский
pol.Loc_TextRus_VoiceRus=Russian ёпт
eng.Loc_TextRus_VoiceRus2=Text and Voice Choose
rus.Loc_TextRus_VoiceRus2=Выбор языка и озвучки
pol.Loc_TextRus_VoiceRus2=Че то там Choose


[Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl"
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "pol"; MessagesFile: "compiler:Languages\Polish.isl"


[Files]
;Source: "ReadmeENG.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: eng;
;Source: "ReadmeRUS.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: rus;
;Source: "ReadmePOL.txt"; DestDir: "{app}"; MinVersion: 0.0,1.0; Languages: pol;
Source: "compiler:Default.isl"; DestDir: "{app}"; MinVersion: 0.0,1.0; Components: textRu\eng;
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; MinVersion: 0.0,1.0; Components: textRu\rus;
Source: "compiler:Languages\Polish.isl"; DestDir: "{app}"; MinVersion: 0.0,1.0; Components: textRu\pol;


[Components]
Name: textRu; Description: "{cm:Loc_TextRus_VoiceRus2}"; Flags: exclusive; Types: full; Languages: eng rus pol;
Name: textRu\eng; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: textRu\rus; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: rus;
Name: textRu\pol; Description: "{cm:Loc_TextRus_VoiceRus}"; Flags: exclusive; Types: full; Languages: pol;
И никаких ошибок нет в компиляторе и прочего.
Да моя ошибка, сейчас разбираюсь с файлами.
Спасибо , теперь всё верно )
 

AlexZetCrow

Новичок
А как убрать выбор языка у инсталлятора в начале ?
И какой программой либо скриптом вы пользуетесь для перечня всех файлов, которые будут архивироваться\ставиться

Мало хочется в ручную переносить сотни файлов )
скрипты смотрел, не срабатывали, один скрипт предлагал составить список отдельно в папку, но он не работал.
 

AlexZetCrow

Новичок
С добавлением разобрался
Хорошо иметь расширенный Inno Setup Studio
Осталось избавиться от начального окна с выбором языка самого инсталлера.

Спасибо за ваше терпение ))
 

AlexZetCrow

Новичок
Ваше то работает ))
Благодарен
но вот я решил вместить выбор своих компонентов, как тут же вышла такая вот несуразица

Доп вопросы как изменить unins000 на своё имя Деинсталятора
Как включить кнопку "Не создавать группу" - выключил галочку теперь не могу её вернуть

Код:
[Languages]
Name: "rus"; MessagesFile: "Languages\Russian.isl"
Name: "eng"; MessagesFile: "Languages\Default.isl"

[CustomMessages]
eng.Loc_TextRus_TextEng=Text Choose
eng.Loc_VoiceRus_VoiceEng=Voice Choose
rus.Loc_TextRus_TextEng=Выбор языка
rus.Loc_VoiceRus_VoiceEng=Выбор озвучки
Loc_TextRu=Русский текст
Loc_TextEn=Английский текст
Loc_VoiceRu=Русская озвучка
Loc_VoiceEn=Английская озвучка
Loc_Comp=Доп Материалы

[Components]
Name: textRu; Description: "{cm:Loc_TextRus_TextEng}"; Flags: Fixed; Types: full; Languages: eng rus ;
Name: textEn\eng; Description: "{cm:Loc_TextEn}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: textRu\rus; Description: "{cm:Loc_TextRu}"; Flags: exclusive; Types: full; Languages: rus;

Name: VoiceRu; Description: "{cm:Loc_VoiceRus_VoiceEng}"; Flags: Fixed; Types: full; Languages: eng rus ;
Name: VoiceEn\eng; Description: "{cm:Loc_VoiceEn}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: VoiceRu\rus; Description: "{cm:Loc_VoiceRu}"; Flags: exclusive; Types: full; Languages: rus;

Name: Comp; Description: "{cm:Loc_Comp}";  Types: full;

[Files]
Source: "Languages\En\The Rise of the Witch-king\lang\Audio.big"; DestDir: "{app}\Electronic Arts\The Rise of the Witch-king\lang"; MinVersion: 0.0,1.0; Components: VoiceEn\eng
Source: "Languages\En\The Rise of the Witch-king\lang\English.big"; DestDir: "{app}\Electronic Arts\The Rise of the Witch-king\lang"; MinVersion: 0.0,1.0; Components: textEn\eng
Source: "Languages\En\The Rise of the Witch-king\lang\englishpatch201.big"; DestDir: "{app}\Electronic Arts\The Rise of the Witch-king\lang"; MinVersion: 0.0,1.0; Components: textEn\eng

Source: "Languages\Ru\The Rise of the Witch-king\lang\Audio.big"; DestDir: "{app}\Electronic Arts\The Rise of the Witch-king\lang"; MinVersion: 0.0,1.0; Components: VoiceRu\rus
Source: "Languages\Ru\The Rise of the Witch-king\lang\Russian.big"; DestDir: "{app}\Electronic Arts\The Rise of the Witch-king\lang"; MinVersion: 0.0,1.0; Components: textRu\rus
Source: "Languages\Ru\The Rise of the Witch-king\lang\russianpatch201.big"; DestDir: "{app}\Electronic Arts\The Rise of the Witch-king\lang"; MinVersion: 0.0,1.0; Components: textRu\rus

Source: "Files\Tools Modding\ОБЯЗАТЕЛЬНО К ПРОЧТЕНИЮ ВАЖНО !!!.txt"; DestDir: "{app}\Tools Modding"; MinVersion: 0.0,1.0; Components: Comp
 

Вложения

Последнее редактирование:

Andreo Fadio

Старожил
@AlexZetCrow,
[Components]
Name: text; Description: "{cm:Loc_TextRus_TextEng}"; Flags: Fixed; Types: full; Languages: eng rus ;
Name: text\eng; Description: "{cm:Loc_TextEn}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: text\rus; Description: "{cm:Loc_TextRu}"; Flags: exclusive; Types: full; Languages: rus;

Name: Voice; Description: "{cm:Loc_VoiceRus_VoiceEng}"; Flags: Fixed; Types: full; Languages: eng rus ;
Name: Voice\eng; Description: "{cm:Loc_VoiceEn}"; Flags: exclusive; Types: full; Languages: eng rus;
Name: Voice\rus; Description: "{cm:Loc_VoiceRu}"; Flags: exclusive; Types: full; Languages: rus;

И везде далее по скрипту переименуйте название компонентов на то как указано
 

AlexZetCrow

Новичок
Нашлась ошибка, я не знал, что в данной программе есть отслеживание багов
Вдруг кому пригодится. А вам большое спасибо за терпение
вот только - как изменить unins000 на своё имя деинсталятор ?

Удалил в коде лишнее, всё заработало как часики.
 

Вложения

AlexZetCrow

Новичок
Нашел действенный способ создания деинсталятора со своим именем.
[Run]
Filename: {cmd}; Parameters: "/C Mkdir ""{app}"""; Flags: RunHidden WaitUntilTerminated
Filename: {cmd}; Parameters: "/C Move ""{app}\unins000.exe"" ""{app}\{#MyAppName} - uninstall.exe"""; StatusMsg: Installing {#MyAppName}...; Flags: RunHidden WaitUntilTerminated
Filename: {cmd}; Parameters: "/C Move ""{app}\unins000.dat"" ""{app}\{#MyAppName} - uninstall.dat"""; StatusMsg: Installing {#MyAppName}...; Flags: RunHidden WaitUntilTerminated
Filename: {cmd}; Parameters: "/C Move ""{app}\unins000.msg"" ""{app}\{#MyAppName} - uninstall.msg"""; StatusMsg: Installing {#MyAppName}...; Flags: RunHidden WaitUntilTerminated
Filename: REG.exe; Parameters: "ADD ""HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Windows 8 ContextMenu - {#MyAppName}_is1"" /V ""UninstallString"" /T ""REG_SZ"" /D ""\""{app}\{#MyAppName} - uninstall.exe\"""" /F"; StatusMsg: Installing {#MyAppName}...; Flags: RunHidden WaitUntilTerminated
Filename: REG.exe; Parameters: "ADD ""HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Windows 8 ContextMenu - {#MyAppName}_is1"" /V ""QuietUninstallString"" /T ""REG_SZ"" /D ""\""{app}\{#MyAppName} - uninstall.exe\"" /SILENT"" /F"; StatusMsg: Installing {#MyAppName}...; Flags: RunHidden WaitUntilTerminated
 

AlexZetCrow

Новичок
Чего его искать то... Его тут пару десятка(ов) тем рассматривали: здесь
Дойдя уже до самого репака, возник вопрос, где я могу найти полный код сжатия и разжатия файлов. Не могу сжать в Inno Setup сборку до удовлетворительного размера, сейчас он сжал с 20 гб до 10 гб, мне б хотелось сделать максимальную выкладку до 5-6 гб, что вполне реально ибо большой объем уходит на текстуры и видео. Помогите пожалуйста.
Благодаря вашей помощи у меня на руках действующий вариант Репака, хотелось бы разобраться со сжатием.
Сложно найти внятное объяснение работы со сторонними программами сжатия и их обработки.

//====={ Сжатие сетапа }=====\\
InternalCompressLevel=ultra64
Compression=lzma2/ultra64
SolidCompression=true
//====={ создание бинов сетапа и размер их деления }=====\\
DiskSpanning = Yes
DiskSliceSize = 2100000000


Нагуглил новые настройки с этого форума

//====={ Сжатие сетапа }=====\\
Compression=lzma2/ultra64
InternalCompressLevel=ultra64
LZMAAlgorithm=1
;нормальный алгоритм сжимает медленней но лучше но вроде тоже стоит по умолчанию (ставлю на всякий случай)
LZMABlockSize=262144
;размер блока = размер всех файлов разделенный на число потоков
LZMADictionarySize=312000
;размер словаря 256МБ нагуглил что это самый оптимальный размер (по умолчанию в ultra64 - 64МБ) или может быть все таки пробовать макс 1048576 ?
LZMAMatchFinder=BT
;метод Binary Tree обеспечивает лучшие сжатие за счет скорости сжатия но вроде как стоит по умолчанию (ставлю на всякий случай)
LZMANumBlockThreads=4
;число потоков равное числу процессоров
LZMANumFastBytes=273
;максимальный размер слова (быстрых байтов) с описания ясно что улучшает сжатие
LZMAUseSeparateProcess=yes
;отделяет процесс сжатия от основного компилятора что дает ему возможность использовать больше ресурсов
SolidCompression=yes


//====={ создание бинов сетапа и размер их деления }=====\\
DiskSpanning = Yes
DiskSliceSize = 2100000000


Можно ли вас указать в качестве автора сборки? Вы уже помогли во многих ключевых решениях.
 

Вложения

Последнее редактирование:

Andreo Fadio

Старожил
Не могу сжать в Inno Setup сборку до удовлетворительного размера, сейчас он сжал с 20 гб до 10 гб, мне б хотелось сделать максимальную выкладку до 5-6 гб
Хотите или нет, но это надо обращаться к сторонним архиваторам и препроцессорам, через оригинальные средства IS это сделать тяжело.
Сложно найти внятное объяснение работы со сторонними программами сжатия и их обработки.
Сложно? Довольствуйтесь тем что есть.
Можно ли вас указать в качестве автора сборки?
Я ее не собирал и код вашей установки не писал. Можете поблагодарить в описание, если так хотите, но это не принципиально.
 

AlexZetCrow

Новичок
Хотите или нет, но это надо обращаться к сторонним архиваторам и препроцессорам, через оригинальные средства IS это сделать тяжело.

Сложно? Довольствуйтесь тем что есть.

Я ее не собирал и код вашей установки не писал. Можете поблагодарить в описание, если так хотите, но это не принципиально.
А где я могу узнать на данном форуме о всех необходимых процедурах связанных со сторонним архиваторам и препроцессорам?
Мне бы попробовать это сделать. А то мои настройки меня уже сейчас подвели..
 

AlexZetCrow

Новичок
В соответствующем разделе конечно.
Сжатие данных
Мне требуется понимание,
Мне не надо будет прописывать в Inno Setup расположения файлов, если всё будет вписано в раздел не [Files] а в CODE где и прописано какой архив за каким следует и распаковывается куда.
Верно понимаю ?
Или в [Files] я тоже вписываю ?

Сжать повторно нашел прогу, она работает только с архивами. мне бы не помешала помощь, чтоб потом сделать гайд для таких же тупых новичков, как я и познакомившихся с кодом только работая с Inno Setup ))

Ищу скрипт по добавлению внешнего архиватора либо же добавления и распаковки уже имеющихся архивов в формате BIN
Посоветуйте где разобраться в порядке установки программ для компрессии и какие скрипты надо искать для применения данных архивов.
 
Сверху