Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: Maks23zr
Дата сообщения: 20.08.2010 15:16
SotM ПОМОЖЕШЬ МНЕ?

проверь, если че не так подскажи что исправить
http://rghost.ru/2391800
Автор: nik1967
Дата сообщения: 21.08.2010 07:13
Maks23zr
Я что то не понял: чем тебя не устраивает???
FlatOut 2
Автор: Shegorat
Дата сообщения: 21.08.2010 07:33
nik1967

Цитата:
Я что то не понял: чем тебя не устраивает???

Да он сам не знает что он хочет.
Maks23zr
Мы тут решаем конкретно поставленные задачи. Скажи где у тебя ошибка и мы попробуем ее решить.
Автор: Avenger13
Дата сообщения: 21.08.2010 08:15
Не могу реализовать страницу компонентов в ботве. Был пример вроде бы от скрипта ГТА только вот его не как не найти.
Автор: Maks23zr
Дата сообщения: 21.08.2010 08:51
вот моя ошибка

Автор: vint56
Дата сообщения: 21.08.2010 08:58
Avenger13 вот
[more][Setup]
AppId={{1DB65FC5-F8C6-4E0B-9F24-C5F474869716}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.example.com/
AppSupportURL=http://www.example.com/
AppUpdatesURL=http://www.example.com/
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Files]

[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}

[Components]
Name: component1; Description: Grand Theft Auto IV (Русская версия 1.0.6.0 от 1С); Types: full compact custom; Flags: disablenouninstallwarning checkablealone
Name: component1\c1; Description: Базовые файлы; Types: full; Flags: exclusive
Name: component1\c1\c2; Description: Русификатор от ENPY Studio (Вместо перевода 1С); Types: full; Flags: dontinheritcheck
Name: component1\c1\c3; Description: Отключить в игре службу Xlive (Увеличивает производительность); Types: full; Flags: dontinheritcheck
Name: component1\c1\c4; Description: Графические мод ENBSeries 0.079 SORA; Types: full; Flags: dontinheritcheck

[Code]
var
Components,ComponentsList: TLabel;

Procedure InitializeWizard();
begin
////////////////////// SelectComponentsPage //////////////////////
ComponentsList := TLabel.Create(WizardForm);
with ComponentsList do begin
WizardForm.ComponentsList.Left:= ScaleX(70)///положение панели
WizardForm.ComponentsList.Top:= ScaleY(140);
WizardForm.ComponentsList.Width:= ScaleX(360)///размер панели
WizardForm.ComponentsList.Height:= ScaleY(110)
WizardForm.ComponentsList.Color:= clBlack;///цвет фона в панели страници компонентов
WizardForm.ComponentsList.Font.Color:= ClWhite;///цвет текста в панели страници компонентов
WizardForm.ComponentsList.Font.Style:= [fsBold];
WizardForm.ComponentsList.Font.Size:= 8;
WizardForm.ComponentsList.Font.Name:= 'Arial'
WizardForm.ComponentsList.Parent:= WizardForm;
WizardForm.SelectComponentsPage;
end;
////////////////////// ComponentsPage //////////////////////
end;

procedure CurPageChanged(CurPageID: Integer);
begin
WizardForm.ComponentsList.Hide;
WizardForm.TypesCombo.Hide;

begin
case CurPageID of
wpSelectComponents:
begin
WizardForm.ComponentsList.Show;
end;
end;
end;
end;[/more]
Автор: Shegorat
Дата сообщения: 21.08.2010 08:59
Maks23zr
Закоментируй эту строчку

Код: WFButtonFont.Free
Автор: Maks23zr
Дата сообщения: 21.08.2010 10:18
Shegorat
а как исправить?
Автор: vint56
Дата сообщения: 21.08.2010 10:49
Maks23zr он же тебе написал закаментировать
//WFButtonFont.Free
вот подправленый http://rghost.ru/2400517
Автор: nik1967
Дата сообщения: 21.08.2010 11:07
Ребята, не подскажете как называется родитель у WizardForm.PageDescriptionLabel и WizardForm.PageNameLabel?
Всё, сам вспомнил: Parent:= WizardForm.MainPanel;
Автор: alex2605
Дата сообщения: 21.08.2010 12:45
сори за оффтоп:
как с помощью isdone сделать распаковку нескольких архивов ARC, чтобы потом извлеченный из них srp-файл преобразовался в pcf, из pcf в 7z, а потом уже в оригинал.
с одним файлом сделать не проблема, а вот можно ли сделать с 2-мя и более и как. например:

Код: if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\playerped.arc'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
//if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\ISDONE.arc'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
if not ISSRepExtract ( 0, OveralPct, 0, ExpandConstant('{app}\playerped.srp'), ExpandConstant('{app}\playerped.pcf'), '', true, CallBack ) then break;
if not ISPrecompExtract( 0, OveralPct, 0, ExpandConstant('{app}\playerped.pcf'), ExpandConstant('{app}\playerped.7z'), true, CallBack ) then break;
if not IS7ZipExtract ( 0, OveralPct, 0, ExpandConstant('{app}\playerped.7z'), ExpandConstant('{app}'), true, CallBack, '' ) then break;
//if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\Data1.bin'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
Автор: snoxius
Дата сообщения: 21.08.2010 13:34
alex2605


Цитата:
и еще, можете дать кто-нибудь скрипт распаковки 7z+isprecomp+freearc??


А что мешает в вышеуказанном скрипте закомментировать или убрать строку со срепом?
Автор: alex2605
Дата сообщения: 21.08.2010 14:28
snoxius
это понятно, тогда :
Цитата:
ак с помощью isdone сделать распаковку нескольких архивов ARC, чтобы потом извлеченный из них srp-файл преобразовался в pcf, из pcf в 7z, а потом уже в оригинал.
с одним файлом сделать не проблема, а вот можно ли сделать с 2-мя и более и как.

???
Автор: snoxius
Дата сообщения: 21.08.2010 14:29

Цитата:
как с помощью isdone сделать распаковку нескольких архивов ARC, чтобы потом извлеченный из них srp-файл


Фриарк не поддерживает многотомные архивы. Как можно из нескольких архивов извлечь один srp файл?
Автор: MuIIIaLORD
Дата сообщения: 21.08.2010 15:10
А все
Автор: nik1967
Дата сообщения: 21.08.2010 18:13
Всем привет! Кто нибудь знает, как реализовать проверку хэша файла (hash)?
Автор: snoxius
Дата сообщения: 21.08.2010 18:34
nik1967

Хэша файла в смысле MD5? Если да то можно библиотеку на Дельфях с ваять которая будет MD5 возвращать.
Автор: John_White
Дата сообщения: 21.08.2010 19:29
nik1967

Цитата:
Всем привет! Кто нибудь знает, как реализовать проверку хэша файла (hash)?

Есть встроенные функции:
function GetMD5OfFile(const Filename: String): String;
function GetSHA1OfFile(const Filename: String): String;
Автор: nik1967
Дата сообщения: 21.08.2010 20:15
snoxius

Цитата:
Хэша файла в смысле MD5?

Ну да. MD5, SHA-1, CRC32.
John_White

Цитата:
Есть встроенные функции

Спасибо. Это тоже знаю, но туплю, как организовать проверку.
Сам себе отвечаю: что то похожее.

Код: MD5 := GetMD5OfFile(ExpandConstant('{src}\WwW.ALL-SofT.NeT.RU - TeaM.nfo'));
If not (MD5 = '945156034d291926915ad4d872f538a5') then
begin
MessageBox(hWnd, 'Ошибка суммы MD5 в файле "WwW.ALL-SofT.NeT.RU - TeaM.nfo".'#13#13'Установка будет прервана!', 'Внимание!', MB_OK or $10);
Result:=False;
end;
Автор: MiniMan
Дата сообщения: 21.08.2010 20:20
Подскажите как в скрипте Need for Speed™ Undercover.iss v 2.2 [Final] + ISDone реалезованна установка выбора языка ну или озвучки. В каком формате должны быть файлы озвучки или в чем запакованны и с каким названием.
Автор: nik1967
Дата сообщения: 21.08.2010 21:39
MiniMan
В скрипте есть функция function Lang: Boolean;, которая возвращает значение, если выбрана кнопка rus.
Пример:

Код: [Files]
Source: rus\*; DestDir: {app}; Flags: ignoreversion; Check: Lang;
Source: eng\*; DestDir: {app}; Flags: ignoreversion; Check: not Lang;
Автор: molot76
Дата сообщения: 22.08.2010 06:10
Уух давненько я сюда не захаживал..
Привет всем!
Есть вопрос мож где уже по теме был почему у некоторых (единицы) при установке игры потом самоудаляется, а у других всё нормально??
счем связано такое??
Автор: MiniMan
Дата сообщения: 22.08.2010 06:47

Цитата:
nik1967


Спс. Получается что файлы сжать не получится, они должны быть в оригинале?
Автор: Sarcastic_94
Дата сообщения: 22.08.2010 09:08
привет! подскажите пожалуйста что и где нужно прописать в скрипте для создания в моих документах папки с файлами?

на примере Сталкер Чистое Небо..где есть папка stalker - stkcs и файл user.ltx
Автор: nik1967
Дата сообщения: 22.08.2010 10:17
MiniMan

Цитата:
Получается что файлы сжать не получится

Ну вообще то Inno сам неплохо жмёт.
Автор: John_White
Дата сообщения: 22.08.2010 10:57
Sarcastic_94

Цитата:
привет! подскажите пожалуйста что и где нужно прописать в скрипте для создания в моих документах папки с файлами?

на примере Сталкер Чистое Небо..где есть папка stalker - stkcs и файл user.ltx

[more]Всем известная игра S.T.A.L.K.E.R. при установке использует некоторые хитрости. Дело не в проверке системных требований или свободного места на диске. Самый важный момент при инсталляции перепакованной игры - создать правильный файл "fsgame.ltx". Данный файл представляет собой некоторый загрузчик данных. Любое неправильное его построение чревато глюками и неправильной работе игры. Чтобы создать абсолютно точную копию оригинала нужно выполнить следующий код (не забываем при сборке, чтобы файл "fsgame.ltx" был абсолютно пустой):
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
S: String;
begin
If CurStep=ssPostInstall then
begin
S := ExpandConstant('{commondocs}\STALKER-SHOC\')
StringChangeEx(S, ':\', ':\|', True);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$app_data_root$=true|false|' + S + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_data$         = false|    true|    $fs_root$|        gamedata\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_ai$         = true|        false|    $game_data$|        ai\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_spawn$     = true|        false|    $game_data$|        spawns\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_anims$         = true|        true|    $game_data$|        anims\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_levels$     = true|        false|    $game_data$|        levels\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_meshes$     = true|        true|    $game_data$|        meshes\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_dm$         = true|        true|    $game_data$|        meshes\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_shaders$     = true|        true|    $game_data$|        shaders\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_sounds$     = true|        true|    $game_data$|        sounds\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_textures$     = true|        true|    $game_data$|        textures\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_scripts$     = true|        false|    $game_data$|        scripts\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_config$     = true|        false|    $game_data$|        config\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$level$         = false|    false|    $game_levels$' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_saves$     = true|        false|    $app_data_root$|    savedgames\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$logs$         = true|        false|    $app_data_root$|    logs\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$screenshots$     = true|        false|    $app_data_root$|    screenshots\' + #13, true);
end;
end;[/more]
ЗЫ
Это пример. У себя сделаешь аналогично...
Автор: Sarcastic_94
Дата сообщения: 22.08.2010 11:05
John_White
посмотри пожалуйста в ЛС

Добавлено:
и еще кто подскаежет почему когда запускаешь один инстал...затем другой..путь к игре остается от старого инстала?
Автор: nik1967
Дата сообщения: 22.08.2010 12:31
Sarcastic_94

Цитата:
и еще кто подскаежет почему когда запускаешь один инстал...затем другой..путь к игре остается от старого инстала?

Из справки:
[Setup]: UsePreviousSetupType
Возможные значения:yes или no
Значение по умолчанию:yes
Описание:
При значении директивы yes, в начале установки инсталлятор поищет в реестре, не была ли установлена данная программа на данном компьютере, и если так, будет использовать тип и компоненты предыдущей установки, которые выбрал пользователь в прошлый раз при установке, как по умолчанию.
Если Uninstallable=no, эта директива имеет значение no.


Автор: zxcvvcxz1
Дата сообщения: 22.08.2010 14:16
Скажите, как правильно объединять скрипты Без <<IssJoiner>>
Автор: JustQ
Дата сообщения: 22.08.2010 16:39
Всем привет!
Видел сообщения где пользователи использую скрипт от Механиков, где его скачать-то? )
Или где взять скрипт, например как здесь.

Страницы: 1234567891011121314151617181920212223

Предыдущая тема: Skype (Часть 3)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.