PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 4]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

LinkOFF
23-12-2011, 16:23
Здраствуйте!У меня такая проблема: есть игра 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] и начать установку, то сразу ничево нераспаковывая вылетает ошибка типо нет архива для распаковки.

Serega
23-12-2011, 19:57
Здравствуйте
У меня такая проблема: есть игра 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
читай пм »

ARS_23
23-12-2011, 21:22
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??? я просто нерулю по этой проге. Дайте плиз более понятные примеры или кусок с примером.

Rikill
23-12-2011, 22:42
Spell1999, Xenus 2 от nik1967. Там есть.

Serega
24-12-2011, 12:08
а первый способ не подходит? инно не ругается ;-) »
Всё у вас правильно, т.е. оба способа, но мы же не ищем лёгких путей... ;)

Arsi000
24-12-2011, 12:56
правильно ли я понимаю что если исходный код inno считается открытым то любой кто в этом понимает может перекомпилить программу как ему нужно? то есть грубо говоря собрать свой вариант?

R.i.m.s.k.y.
24-12-2011, 13:09
Arsi000, думаю нет
код инно шифруется на раз, в прошлой теме (часть3) я приводил пример. ищи по моему авторству и Encryption=yes
он склеен из двух примеров в шапке

Arsi000
24-12-2011, 13:38
возможно мы друг друга не поняли я имел ввиду что возможно ли исходя из того что код открыт переписать саму программу inno setup по своему?
просто есть друг программист, и есть большое желание портировать её на 64 бита. а разрабы ничего не делают в этом направлении. реально ли это сделать самим?




© OSzone.net 2001-2012