Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 4]
Здраствуйте!У меня такая проблема: есть игра Dead Space 2 и мне нужно чтоб при выборе языка игры распаковывался файл по пути AppData\Local\Electronic Arts\.Я не знаю как мне это сделать
R.i.m.s.k.y.
23-12-2011, 16:32
LinkOFF, не знаешь потому что справку не читаешь
два способа
1. [Files]
Languages: english; Source: english.file; DestDir: {app}\
2.
[Files]
Check: IsEng; Source: english.file; DestDir: {app}\
[*C*ODE]
function IsRus(): Boolean;
begin
if ( Lowercase(ActiveLanguage) = Lowercase('russian') ) then Result := True else Result := False;
end;
function IsEng(): Boolean;
begin
if ( Lowercase(ActiveLanguage) = Lowercase('english') ) then Result := True else Result := False;
end;
VASYAKRN
23-12-2011, 19:24
дайте пожалста пример для использувания ISSideshow 1.02 на всех страницах инсталятора
valyok666
23-12-2011, 19:33
VASYAKRN,
Типо такого?
[Files]
//Папка со слайдами.
Source: Files\*; Flags: dontcopy noencryption nocompression
[Code]
var
SlideImage: TBitmapImage; // Упоминаем картинку для кода
SlideTimer: TTimer; // Упоминаем таймер для кода
CloseButton: TButton; // Упоминаем кнопку WizardForm
procedure SlideTimerTimer(Sender: TObject); forward; // Задаем форвард процедуры таймера
procedure CloseButtonClick(Sender: TObject); forward; // Задаем форвард процедуры клика кнопки закрытия
procedure CloseButtonClick(Sender: TObject);
begin
WizardForm.Close;
end;
procedure SlideTimerTimer(Sender: TObject);// Начинаем процедуру таймера
var a:integer; // Задаем целочисленную переменную
begin // слайд-шоу
a:=random(10); // Задаем рандомное значения для переменной 'а' от 1 до 10
begin
if a=1 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide1.bmp')); // Если а=1, то SlideImage загружает слайд 1
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=2 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide2.bmp')); // Если а=2, то SlideImage загружает слайд 2
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=3 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide3.bmp')); // Если а=3, то SlideImage загружает слайд 3
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=4 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide4.bmp')); // Если а=4, то SlideImage загружает слайд 4
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=5 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide5.bmp')); // Если а=5, то SlideImage загружает слайд 5
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=6 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide6.bmp')); // Если а=6, то SlideImage загружает слайд 6
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=7 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide7.bmp')); // Если а=7, то SlideImage загружает слайд 7
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=8 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide8.bmp')); // Если а=8, то SlideImage загружает слайд 8
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=9 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide9.bmp')); // Если а=9, то SlideImage загружает слайд 9
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
if a=10 then
begin
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Slide10.bmp')); // Если а=10, то SlideImage загружает слайд 10
WizardForm.StatusLabel.Refresh; // Обновляем label статуса установки(Иначе остаются следы предыдущего слайда)
WizardForm.FileNameLabel.Refresh; // Обновляем label файлов(Иначе остаются следы предыдущего слайда)
WizardForm.NextButton.Refresh; // Обновляем кнопку "Далее"(Иначе остаются следы предыдущего слайда по краям кнопки)
CloseButton.Refresh; // Обновляем кнопку закрытия(Иначе остаются следы предыдущего слайда по краям кнопки)
end;
end
end; // слайд-шоу
procedure InitializeWizard(); // Процедура инициализации
begin
DeleteFile('{tmp}\Slide1.bmp') // Удаляем слайд 1, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide2.bmp') // Удаляем слайд 2, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide3.bmp') // Удаляем слайд 3, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide4.bmp') // Удаляем слайд 4, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide5.bmp') // Удаляем слайд 5, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide6.bmp') // Удаляем слайд 6, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide7.bmp') // Удаляем слайд 7, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide8.bmp') // Удаляем слайд 8, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide9.bmp') // Удаляем слайд 9, во избежание ошибки Runtime
DeleteFile('{tmp}\Slide10.bmp') // Удаляем слайд 10, во избежание ошибки Runtime
DeleteFile('{tmp}\BackWelcome.bmp') // Удаляем картинку приветсвия, во избежание ошибки Runtime
DeleteFile('{tmp}\BackFinish.bmp') // Удаляем картинку финиша, во избежание ошибки Runtime
ExtractTemporaryFile('Slide1.bmp'); // Загружаем слайд 1
ExtractTemporaryFile('Slide2.bmp'); // Загружаем слайд 2
ExtractTemporaryFile('Slide3.bmp'); // Загружаем слайд 3
ExtractTemporaryFile('Slide4.bmp'); // Загружаем слайд 4
ExtractTemporaryFile('Slide5.bmp'); // Загружаем слайд 5
ExtractTemporaryFile('Slide6.bmp'); // Загружаем слайд 6
ExtractTemporaryFile('Slide7.bmp'); // Загружаем слайд 7
ExtractTemporaryFile('Slide8.bmp'); // Загружаем слайд 8
ExtractTemporaryFile('Slide9.bmp'); // Загружаем слайд 9
ExtractTemporaryFile('Slide10.bmp'); // Загружаем слайд 10
ExtractTemporaryFile('BackWelcome.bmp'); // Загружаем картинку приветстви
ExtractTemporaryFile('BackFinish.bmp'); // Загружаем картинку финиша
WizardForm.MainPanel.Hide; // Прячем главную панель, в которой содержится информация PageNameLabel(Лицензионное соглашение, Директория установки и т.д.) и WizardSmaillImage(Маленькая картинка)
WizardForm.BeveledLabel.Hide; // Прячем текст BeveledLabel
WizardForm.Bevel.Hide; // Прячем полоску Bevel
WizardForm.AutoScroll:=False; // Запрещаем изменение размера окна
WizardForm.ClientHeight:=450; // Изменяем высоту окна
WizardForm.ClientWidth:=797; // Изменяем ширину окна
WizardForm.BorderStyle:=bsNone; // Убираем границы окна, а так же системные кнопки [_] и [Х]
WizardForm.Center; // Центрируем окно инсталлятора
CloseButton := TButton.Create(WizardForm); // Создаем label закрытия формы вместо стандартной кнопки закрытия, т.к. убираем границы
with CloseButton do // С кнопкой делаем следующее:
begin
Name:='CloseButton'; // Задаем имя для кода
Parent:=WizardForm; // Делаем дочерним элементом WizardForm'ы
Caption:='х'; // Меняем текст на "Икс"
Font.Color:=clBlack; // Меняем цвет текста на чёрный
Font.Height:=-20; // Меняем ширину шрифта
Font.Name:='Tahoma'; // Меняем шрифт со стандартного 'Tahoma' на красивый 'Verdana'
// Font.Style:=[fsBold]; // Меняем стиль шрифта на "жирный". Стандартное значение: Font.Style:=[]
ParentFont:=False; // Делаем стиль шрифта индивидуальным, а не стандартным
Left:=771; // Задаем расстояние от левого края
Top:=2; // Задаем расстояние от верхнего края
Width:=24; // Задаем ширину
Height:=24; // Задаем высоту
OnClick:=@CloseButtonClick; // Задаем действие для клика
end;
WizardForm.CancelButton.Top:=798; // Прячем кнопку отмены, сдвигая ее за нижний край, т.к. WizardForm.CancelButton.Hide не работает
WizardForm.BackButton.Top:=798; // Прячем кнопку отмены, сдвигая ее за нижний край, т.к. WizardForm.BackButton.Hide не работает
WizardForm.NextButton.Left:=1; // Изменяем расстояние кнопки "Далее" от левого края, оставив расстояние в 1 пкс от границы
WizardForm.NextButton.Top:=399; // Изменяем расстояние кнопки "Далее" от верхнего края, оставив расстояние в 1 пкс от границы
WizardForm.NextButton.Width:=795; // Изменяем ширину кнопки "Далее", оставив расстояние в 2 пкс от границы
WizardForm.NextButton.Height:=50; // Изменяем высоты кнопки "Далее", оставив расстояние в 2 пкс от границы
WizardForm.OuterNotebook.Hide; // Прячем OuterNotebook. Можно,конечно, и не прятать. Но придется поколдовать с родительским элементом для изображения
WizardForm.InnerNotebook.Hide; // Прячем InnerNotebook. Обязательно при WizardForm.OuterNotebook.Hide
WizardForm.ProgressGauge.Parent:=WizardForm; // Делаем прогрессбар дочерним элементом не страницы InstallingPage, а WizardForm'ы
WizardForm.ProgressGauge.Left:=128; // Задаем расстояение от левого края для прогрессбара
WizardForm.ProgressGauge.Top:=310; // Задаем расстояние от верхнего края для прогрессбара
WizardForm.ProgressGauge.Height:=42; // Удваиваем высоту прогрессбара(Стандартное значение: 42)
WizardForm.StatusLabel.Parent:=WizardForm; // Делаем label статуса установки(Распаковка файлов... и т.д.) дочерним элементом не страницы InstallingPage, а WizardForm'ы
////WizardForm.StatusLabel.Transparent:=True; // Делаем label статуса установки без фона
WizardForm.StatusLabel.Left:=128; // Задаем расстояние от левого края для label'а статуса установки
WizardForm.StatusLabel.Top:=270; // Задаем расстояние от верхнего края для label'а статуса установки
WizardForm.StatusLabel.Font.Name:='Verdana'; // Меняем шрифт со стандартного 'Tahoma' на красивый 'Verdana' для label'а статуса установки
WizardForm.StatusLabel.Font.Style:=[fsBold]; // Меняем стиль шрифта на 'Жирный' для label'а статуса установки. Стандартное значение: ...Font.Style:=[]
WizardForm.FilenameLabel.Parent:=WizardForm; // Делаем label файлов(под label'ом статуса установки) дочерним элементом не страницы InstallingPage, а WizardForm'ы
///// WizardForm.FilenameLabel.Transparent:=True; // Делаем label файлов(под label'ом статуса установки) без фона
WizardForm.FileNameLabel.Left:=128; // Задаем расстояние от левого края для label'а файлов(под label'ом статуса установки)
WizardForm.FileNameLabel.Top:=290; // Задаем расстояние от верхнего края для label'а файлов(под label'ом статуса установки)
WizardForm.FileNameLabel.Font.Name:='Verdana'; // Меняем шрифт со стандартного 'Tahoma' на красивый 'Verdana' для label'а файлов(под label'ом статуса установки)
WizardForm.FileNameLabel.Font.Style:=[fsBold]; // Меняем стиль шрифта на 'Жирный' для label'а файлов(под label'ом статуса установки). Стандартное значение: ...Font.Style:=[]
SlideTimer:=TTimer.Create(WizardForm); // Создаем таймер
SlideTimer.Name:='SlideTimer'; // Задаем имя таймера для кода
SlideTimer.Interval:=2000; // Задаем интервал в миллисекундах (2000мсек=2сек)
SlideTimer.OnTimer:=@SlideTimerTimer; // Задаем процедуру для таймера
// SlideTimer.Enabled:=False; // Блокируем таймер, если хотим задать слайд-шоу для определенной страницы (см. конец кода: CurPageChanged)
SlideImage:=TBitmapImage.Create(WizardForm); // Создаем картинку
SlideImage.Name:='SlideImage'; // Задаем имя картинки для кода
SlideImage.Parent:=WizardForm; // Делаем картинку дочерним элементом WizardForm'ы
SlideImage.Left:=0; // Задаем расстояние от левого края для картинки
SlideImage.Top:=0; // Задаем расстояение от верхнего края для картинки
SlideImage.Width:=797; // Задаем ширину картинки, соответствующую самой картинке
SlideImage.Height:=450; // Задаем высоту картинки, соответствующую самой картинке
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\BackWelcome.bmp')); // Задаем начальное изображение
SlideImage.Stretch:=True; // Сжимаем/растягиваем картинку по размерам Width и Height. Нежелательно так делать, т.к. качество картинки ухудшается. Лучше нарисовать сразу по нужным размерам.
end;
procedure CurPageChanged(CurPageID: Integer); // Процедура контроля страниц
begin
if CurPageID=1 then
begin
WizardForm.StatusLabel.Hide; // Если ID страницы равен 1, то прячем label статуса установки (Иначе остается след на картинках)
WizardForm.FileNameLabel.Hide; // Если ID страницы равен 1, то прячем label файлов (под label'ом статуса установки)
WizardForm.ProgressGauge.Hide; // Если ID страницы равен 1, то прячем прогрессбар
end;
if CurPageID=12 then
begin
WizardForm.StatusLabel.Show; // Если ID страницы равен 12, то показываем label статуса установки
WizardForm.FileNameLabel.Show; // Если ID страницы равен 12, то показываем label файлов (под label'ом статуса установки)
WizardForm.ProgressGauge.Show; // Если ID страницы равен 12, то показываем прогрессбар
// SlideTimer.Enabled:=True; // Если ID страницы равен 12, то таймер включается (см. InitializeWizard: SlideTimerEnabled:=False)
end;
if CurPageID=14 then
begin
SlideTimer.Enabled:=False; // Если ID страницы равен 14, то выключаем таймер слайд-шоу
WizardForm.StatusLabel.Hide; // Если ID страницы равен 14, то прячем label статуса установки (Иначе остается след на картинках)
WizardForm.FileNameLabel.Hide; // Если ID страницы равен 14, то прячем label файлов (под label'ом статуса установки)
WizardForm.ProgressGauge.Hide; // Если ID страницы равен 14, то прячем прогрессбар
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\BackFinish.bmp')); // Если ID страницы равен 14, то задаем картинку финиша
WizardForm.NextButton.Show; // Если ID страницы равен 14, то показываем кнопку "Далее"
end;
end;
{-----------------------------------------------------------}
// ID'ы страниц:
// Страница приветствия - CurPageID=1
// Страница лицензионного соглашения - CurPageID=2
// Страница пароля инсталлятора - CurPageID=3
// Страница информации InfoBefore - CurPageID=4
// Страница регистрации(Пользователь, Организация, Серийный номер) - CurPageID=5
// Страница директории установки - CurPageID=6
// Страница компонентов установки - CurPageID=7
// Страница меню "Пуск" - CurPageID=8
// Страница дополнительных задач - CurPageID=9
// Страница готовности к установке - CurPageID=10
// Страница приготовления(Перезапуск перед установкой) - CurPageID=11
// Страница установки - CurPageID=12
// Страница информации InfoAfter - CurPageID=13
// Страница конца установки - CurPageID=14
{-----------------------------------------------------------}
кстати есть пример exempele2 это пример только на странице прогрессбара)если немного подумать можно понять как сделать на всех))
Spell1999
23-12-2011, 19:38
Здравствуйте. Мне нужна ваша помощь.
У меня есть скрипт установщика и меня интересует 1 вопрос.
как сделать чтобы во время установки сначала распаковывались файлы записанные в [Files], а потом следом архивы фриарк??? а щя всё наоборот сначала архивы а потом файлы и иззаетова у меня постоянно идёт тестовый прогон и создаётся новый файл record.ini. библиотека ISdone.
Скрипт состоит из отдельных файлов через подключения модулей, поэтому так много скриптов. Всё облазил и незнаю что? где? потправить.
ПОМОГИТЕ ПЛИЗ 2 день МОЗГ парю, облазил много FAQ непомогло.
вот сам скрипт: тыкай сюда (http://filmis.at.ua/skripty.rar)
valyok666
23-12-2011, 19:41
Spell1999, не проще тогда сделать архив с "файлами записанные в [Files]" в исдоне прописать их на первое место потом всё остальное)
PS Файлы скрипта тоже надо кидать)
Spell1999
23-12-2011, 19:44
а если архивы прописать в [Files] и начать установку, то сразу ничево нераспаковывая вылетает ошибка типо нет архива для распаковки.
Здравствуйте
У меня такая проблема: есть игра Dead Space 2 и мне нужно чтоб при выборе языка игры распаковывался файл по пути AppData\Local\Electronic Arts\ »
Как уже сказал R.i.m.s.k.y., используйте для проверки выбора языка Check
два способа»
R.i.m.s.k.y., функци можно писать немного проще, т.е.:
function IsRus: Boolean;
begin
Result := Lowercase(ActiveLanguage) = 'russian';
end;
function IsEng: Boolean;
begin
Result := Lowercase(ActiveLanguage) = 'english';
end;
P.S.
DestDir: {app}\ »
Скажу так сказать для вашего саморазвития, т.е. бэксеш здесь лишний, хотя это не является ошибкой и inno на это не ругается, но он здесь не нужен...
valyok666
23-12-2011, 20:00
Spell1999, чёт вы путаетесь)создайте архив с файлами(если конечно файл не один) вроде проще всего потом всё равно идёт распаковки игровых)Архивы прописываются в скрипте исдоне зачем в [Files]??или тогда уж чекбокс создать)
Насколько я понял эти файлы?
Source: D:\Games\Ex Machina\dbghelp.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\del.bat; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\dxrender9.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\ExMachina.exe; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\exmachina.log; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\fmod.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\game.pdb; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\input_di8.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\License.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\manual.pdf; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\memlog.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\mfc71.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\mfc71u.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\msvcp71.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\msvcr71.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\protect.xml; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\readme.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\readme_1_02_full.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\sound.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\sound.pdb; DestDir: {app}; Flags: ignoreversion
Так за что они отвечают кряк или что?
Spell1999
23-12-2011, 20:13
игра состоит из этих файлов и 1 папки дата которая много весит. вот я мелкие файлы приписал в истановщик а архив фриарк с папкой дата в ISdone и получается так. сначала он распаковывает архив с папкой дата а следом вот эти файлы с библиотеками в {tmp} и постоянно тестовый прогон.
Source: D:\Games\Ex Machina\dbghelp.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\del.bat; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\dxrender9.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\ExMachina.exe; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\exmachina.log; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\fmod.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\game.pdb; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\input_di8.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\License.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\manual.pdf; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\memlog.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\mfc71.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\mfc71u.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\msvcp71.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\msvcr71.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\protect.xml; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\readme.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\readme_1_02_full.txt; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\sound.dll; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Ex Machina\sound.pdb; DestDir: {app}; Flags: ignoreversion
а мне нада наоборот чтобы сначала файлы распаковывал а потом архив.
помоги подправить плиз.
Spell1999
23-12-2011, 20:39
читай пм »
Spell1999,
задачку конечно интересную вы поставили :)
но к чему такой головняк себе придумывать?
Spell1999
23-12-2011, 22:13
задачку конечно интересную вы поставили
но к чему такой головняк себе придумывать? »
для того чтобы как можно сильнее сжать игру под самые нехочу.
R.i.m.s.k.y.
23-12-2011, 22:16
Как уже сказал R.i.m.s.k.y., используйте для проверки выбора языка Check »
а первый способ не подходит? инно не ругается ;-)
Spell1999
23-12-2011, 22:25
а первый способ не подходит? инно не ругается ;-) »
как использовать Check??? я просто нерулю по этой проге. Дайте плиз более понятные примеры или кусок с примером.
Spell1999, Xenus 2 от nik1967. Там есть.
а первый способ не подходит? инно не ругается ;-) »
Всё у вас правильно, т.е. оба способа, но мы же не ищем лёгких путей... ;)
правильно ли я понимаю что если исходный код inno считается открытым то любой кто в этом понимает может перекомпилить программу как ему нужно? то есть грубо говоря собрать свой вариант?
R.i.m.s.k.y.
24-12-2011, 13:09
Arsi000, думаю нет
код инно шифруется на раз, в прошлой теме (часть3) я приводил пример. ищи по моему авторству и Encryption=yes
он склеен из двух примеров в шапке
возможно мы друг друга не поняли я имел ввиду что возможно ли исходя из того что код открыт переписать саму программу inno setup по своему?
просто есть друг программист, и есть большое желание портировать её на 64 бита. а разрабы ничего не делают в этом направлении. реально ли это сделать самим?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.