Перейти к содержимому
Korean Random
EvilAlex

Создание инсталляторов для модпаков на базе Inno Setup

Рекомендуемые сообщения

(редактировалось)

Подскажите как отключить создание файлов удаления и чтоб в установку удаления программ там тоже не чего бы небыло 

post-6639-0-95096100-1388106191_thumb.png

 

и такой ещё вопрос как убрать чтоб она не спрашивала эта папка уже установлена


Такой вопрос сжатие какие ешё есть? и какими можно сильнее сжать

пример

//====={ Сжатие сетапа }=====\\
InternalCompressLevel=ultra64
Compression=lzma2/ultra64
SolidCompression=true

 

этим почти не сжимает то есть если WinRAR сжимает с 30мб до 16 то  эта всего лишь 30мб до 28

Изменено пользователем liked

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите как отключить создание файлов удаления и чтоб в установку удаления программ там тоже не чего бы небыло 

attachicon.gif01adb345.png

 

и такой ещё вопрос как убрать чтоб она не спрашивала эта папка уже установлена

тут пока нечем не могу помочь, я на работу...

 

Такой вопрос сжатие какие ешё есть? и какими можно сильнее сжать

пример

//====={ Сжатие сетапа }=====\\

InternalCompressLevel=ultra64

Compression=lzma2/ultra64

SolidCompression=true

 

этим почти не сжимает то есть если WinRAR сжимает с 30мб до 16 то  эта всего лишь 30мб до 28

Тут топовое сжатие, выше него только фриарк, но это эже внешние упаковщики!

У меняже винрар сжал до 51,862кб(~52мб), а сетапник до 47,595кб(~48мб)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тут пока нечем не могу помочь, я на работу...

 

Тут топовое сжатие, выше него только фриарк, но это эже внешние упаковщики!

У меняже винрар сжал до 51,862кб(~52мб), а сетапник до 47,595кб(~48мб)

понятно спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все относительно. В зависимости от содержимого архиваторы сжимают больше-меньше

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

Какая команда при выборе 1 пункта 2 автоматически выбирается то есть 2 пункт не выберешь без 1 пункта

 

Проще говоря 1 пункт можно выбрать без 2 а вот 2 пункт нельзя выбрать без 1

Изменено пользователем liked

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток.Хотел спросить как можно в танковый swf файл добавить сообщение о доступности новой версии модпака?Либо добавить отдельный скрипт,проверяющий наличие новой версии при запуске.При выходе новой версии XVM сообщение привязано к battle
я так понимаю,но не хочеться ковырять оригинальные файлы,а вопрос про новую версию,с обновленным XVM висит постоянно в личках....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Подскажите как отключить создание файлов удаления и чтоб в установку удаления программ там тоже не чего бы небыло

CreateUninstallRegKey=no – не создавать запись в меню Установка и удаление программ Панели управления
Uninstallable=no – не создавать деинсталлятор

 

 

 

и такой ещё вопрос как убрать чтоб она не спрашивала эта папка уже установлена

DirExistsWarning=no


 

 

Какая команда при выборе 1 пункта 2 автоматически выбирается то есть 2 пункт не выберешь без 1 пункта Проще говоря 1 пункт можно выбрать без 2 а вот 2 пункт нельзя выбрать без 1

 

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

 

[Components]
Name: RB; Description: Моды от Red Baron'а; Types: custom; Flags: fixed
Name: RB\A1; Description: 01-a. Прицел Jimbo + убирает затемнение;
Name: RB\A1\a; Description: 01-b. Прицел Минималистичный_показывают броню противника + убирает затемнение; Flags: dontinheritcheck ;

[Files]
Source: "MODS\01-a. Прицел Jimbo + убирает затемнение\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: RB\A1;
Source: "MODS\01-b. Прицел Минималистичный_показывают броню противника + убирает затемнение\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: RB\A1\a;

 

обратите внимание на флаги и группы.

создается группа - у меня "A1" при выборе которой происходит дейстивие.

в группе создается компонент "a" на него ставится флаг dontinheritcheck который позволяет не выбирать компонент группы если выбрана группа.

а вот при выборе компонента группа выбирается обязательно.

  • Нравится 1
  • Не нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

Нет не много не поняли друг друга вот у тебя 01-а нельзя выбрать без 01-b

при выборе 01-b выбирается 01-а это то что нужно НО!!!!! нужно так чтоб можно было например

 

выбрать 01-а отдельно без 01-b и 01-с

 

а вот выбрать 01-b или 01-с или оба этих компонента автоматически выбирается и 01-а


Всё сам разобрался спасибо....

 

[Components]

Name: KMP\XVM; Description: 1. Комплексный мод XVM v1.0.3039.; Flags: checkablealone ;
Name: KMP\XVM\PG; Description: 1.2 Ping по центру при выборе сервера (1920x1080).; Flags: dontinheritcheck ;
Name: KMP\XVM\CZ; Description: 1.3 Клан значки.; Flags: dontinheritcheck ;

 

[Files]
Source: "MODS\XVM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM;
Source: "MODS\PING\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM\PG;
Source: "MODS\CLANZ\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM\CZ;

 

Вот решил поделится своим инстолятором мож кому то будет проше делать свой на основе данного

'Скрипт'

#define MyAppName "Bigmusic Mod Pack 0.8.10" ;Название инстоллятора
#define MyInfoVer "1.0" ;Версия инсталлятора
#define MyAppVer "1.0" ;Версия игры
#define MyAppPublisher "Bigmusic" ;Имя компании или человека кто делал


[setup]
AppName={#MyAppName}
AppVersion={#MyAppVer}
AppPublisher={#MyAppPublisher}

//====={ Папка устанвки }=====\\
;DefaultDirName={pf}\{#MyAppName}
DefaultDirName=D:\Games\World_of_Tanks
DirExistsWarning=no
CreateUninstallRegKey=no
Uninstallable=yes

//====={ Картинки }=====\\
SetupIconFile=Files\wot_ico.ico
WizardImageFile=Files\img1.bmp

//====={ Отключение строниц }=====\\
DisableProgramGroupPage=yes

//====={ Лицензия и Фак }=====\\
LicenseFile=licensia.txt
InfoBeforeFile=faq.rtf

//====={ Сжатие сетапа }=====\\
InternalCompressLevel=ultra64
Compression=lzma2/ultra64
SolidCompression=true

//====={ Сюда прописываешь те файлы и папки которые закинул в Mods }=====\\
[Types]
Name: custom; Description: Full installation; Flags: iscustom

[Components]
Name: KMP; Description: Bigmusic Mod Pack; Flags: disablenouninstallwarning
Name: KMP\XVM; Description: 1. Комплексный мод XVM v1.0.3039.; Flags: checkablealone ;
Name: KMP\XVM\PG; Description: 1.2 Ping по центру при выборе сервера (1920x1080).; Flags: dontinheritcheck ;
Name: KMP\XVM\CZ; Description: 1.3 Клан значки.; Flags: dontinheritcheck ;
Name: KMP\A; Description: 2. Ангар.;
Name: KMP\AC; Description: 3. ЯсенКрасен - цветные сообщения после боя.;
Name: KMP\AF; Description: 4. Дополнительный фильтр техники в ангаре.;
Name: KMP\A2R; Description: 5. Иконки танков в ангаре в 2 ряда.;
Name: KMP\AIN; Description: 6. Подробное описание перков экипажа.;
Name: KMP\P; Description: 7. Прицел.;
Name: KMP\ZX4; Description: 8. 4-х позиционный снайперский прицел (2,4,8,16);
Name: KMP\PB; Description: 9. Удаление черноты в сайперском прицеле.;
Name: KMP\DZ; Description: 10. Отключение дрожания динамической камеры + ZooM.;
Name: KMP\ZN; Description: 11. Зоны расположения оборудования и экипажа (0.8.10);
Name: KMP\AU; Description: 12. Озвучка лампочки (Танк обнаружен);
Name: KMP\DP; Description: 13. Дамаг панель.;
Name: KMP\I; Description: 14. Информация своей перезарядке в чат.;
Name: KMP\Y; Description: 15. Удаляет туман. (улучшает обзор);
Name: KMP\M; Description: 16. MODs для мини карты.;
Name: KMP\M\M1; Description: 16.1 Направление орудий противников на мини карте(Садит FPS); Flags: exclusive;
Name: KMP\M\M2; Description: 16.2 Отображение перезарядки противников на мини карте (Садит FPS) ; Flags: exclusive;

[Files]
Source: "MODS\XVM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM;
Source: "MODS\PING\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM\PG;
Source: "MODS\CLANZ\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM\CZ;
Source: "MODS\ANGAR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\A;
Source: "MODS\COLOR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\AC;
Source: "MODS\FILTER\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\AF;
Source: "MODS\2RYDA\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\A2R;
Source: "MODS\INFO2\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\AIN;
Source: "MODS\PRICEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\P;
Source: "MODS\ZOOM4X\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\ZX4;
Source: "MODS\PRICEL-BLACK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\PB;
Source: "MODS\DMZOOM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\DZ;
Source: "MODS\ZONI\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\ZN;
Source: "MODS\AUDIO\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\AU;
Source: "MODS\DAMAGEPANEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\DP;
Source: "MODS\INFO\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\I;
Source: "MODS\OBZOR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Y;
Source: "MODS\MAP1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\M\M1;
Source: "MODS\MAP2\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\M\M2;

 

Вот только почему то при Flags: disablenouninstallwarning он не хочет выбирать всё, какой флаг на выбрать всё?

Изменено пользователем liked

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@EvilAlex, помоги плиз. Можно-ли, чтобы в процессе установки, сам установщик запустил посторонний файл? (например, *.cmd, в котором заранее прописана установка нужных шрифтов?)

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@EvilAlex, помоги плиз. Можно-ли, чтобы в процессе установки, сам установщик запустил посторонний файл? (например, *.cmd, в котором заранее прописана установка нужных шрифтов?)

В секции [Run] перечисляются файлы, которые инсталлятор должен выполнить после удачной установки приложения (перед появлением страницы Установка завершена).

пример

[Run]

FileName: "Program.exe"; WorkingDir: "{app}"; Flags: nowait

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

Какой флаг на установку всего?

 

и как сделать чтоб при выборе пути к папки она не дописывала папку из 1 пути установщика

Изменено пользователем liked

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Red Baron, благодарю :)

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какой флаг на установку всего?

 

и как сделать чтоб при выборе пути к папки она не дописывала папку из 1 пути установщика

[Setup]
AppendDefaultDirName=no
  • Нравится 2
  • Не нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Какой флаг на установку всего?

на счет флага не знаю но обычно делают так - в типах описывают типы установки, например - Все или рекомендуемое или еще как

а потом в компанентах прописывают флаги принадлежности к типу установки.

пользователь потом над компанентами сможет выбрать допустим ВСЕ и у него будет установлено все.

вот для примера

[Types]
Name: "polnaya"; Description: "Полная установка"
Name: "viborochnaya"; Description: "Выборочная установка"; Flags: iscustom
[Components]
Name: "Component1"; Description: "Описание: программа первая"; Types: polnaya viborochnaya
Name: " Component 2"; Description: "Описание: программа вторая"; Types: polnaya viborochnaya
Name: " Component 3"; Description: "Описание: программа третья"; Types: polnaya viborochnaya

 

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

  • Нравится 1
  • Не нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на счет флага не знаю но обычно делают так - в типах описывают типы установки, например - Все или рекомендуемое или еще как

а потом в компанентах прописывают флаги принадлежности к типу установки.

пользователь потом над компанентами сможет выбрать допустим ВСЕ и у него будет установлено все.

вот для примера

[Types]

Name: "polnaya"; Description: "Полная установка"

Name: "viborochnaya"; Description: "Выборочная установка"; Flags: iscustom

[Components]

Name: "Component1"; Description: "Описание: программа первая"; Types: polnaya viborochnaya

Name: " Component 2"; Description: "Описание: программа вторая"; Types: polnaya viborochnaya

Name: " Component 3"; Description: "Описание: программа третья"; Types: polnaya viborochnaya

 

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

понятно спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот возник такой вопрос как сделать чтоб отображалась картинка при наведение на мод при выборе мода

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот возник такой вопрос как сделать чтоб отображалась картинка при наведение на мод при выборе мода

смотри выше, гдето на второй странице есть...
  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если Вам @EvilAlex, несложно объясните мне на пальцах как добавить ваш скрипт иерархию папок:

 

audio ( в ней 4 файла xvm.fev,xvm.fsb,gui,gui_notifications_fx_howitzer_load.fsb)

res_mods\xvm

                \0.8.10\content( яркие платформы,с возможностью отключить) 

                           \gui

                            \scripts

                             \vehicles( белы трупы , с возможностью отключить)

                              Шрифты , можно их внести что бы они тоже устанавливались по умолчанию но если есть то пропускали?

 

И все)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уважаемый @EvilAlex,   не подскажите как добавить установку шрифтов , их поодельности вносить или можно пачкой .

Пример шрифтов :  CUPRUM.TTF, ASROCK7SEGMENT.TTF

Заранние благодарен  ! ! !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

Уважаемый @EvilAlex,   не подскажите как добавить установку шрифтов , их поодельности вносить или можно пачкой .

Пример шрифтов :  CUPRUM.TTF, ASROCK7SEGMENT.TTF

Заранние благодарен  ! ! !

#define Font "Zombie.ttf"
#define FontName "DS Zombie Cyr"
 
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
OutputDir=.
 
[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
 
[Files]
Source: {#Font}; Flags: dontcopy;
 
[ code] ///убрать пробел
var
  IsCustomFontInstalled: boolean;
  FontName: string;
 
function AddFontResource(FileName: PAnsiChar): Integer; external 'AddFontResourceA@gdi32.dll stdcall';
function RemoveFontResource(FileName: PAnsiChar): BOOL; external 'RemoveFontResourceA@gdi32.dll stdcall';
 
function InitializeSetup(): Boolean;
begin
  ExtractTemporaryFile('{#Font}');
  IsCustomFontInstalled:=AddFontResource(ExpandConst  ant('{tmp}')+'\{#Font}')>0;
  if IsCustomFontInstalled then SendMessage(HWND_BROADCAST,$1D,0,0);
  if FontExists('{#FontName}') then FontName:='{#FontName}' else FontName:='Arial';
  Result:= True;
end;
 
Procedure InitializeWizard();
begin
  WizardForm.Font.Name:= FontName;
end;
 
procedure DeInitializeSetup();
begin
  WizardForm.Free;
  if IsCustomFontInstalled then
  if RemoveFontResource(PAnsiChar(ExpandConstant('{tmp}  ')+'\{#Font}')) then SendMessage(HWND_BROADCAST,$1D,0,0);
end;
Изменено пользователем EvilAlex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×