Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 4]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1265
Благодарности: 1025


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Старожил


Сообщения: 184
Благодарности: 12

Профиль | Отправить PM | Цитировать


Здраствуйте!У меня такая проблема: есть игра Dead Space 2 и мне нужно чтоб при выборе языка игры распаковывался файл по пути AppData\Local\Electronic Arts\.Я не знаю как мне это сделать

-------
Стремись не к тому, чтобы добиться успеха, а к тому, чтобы твоя жизнь имела смысл.(Альберт Эйнштейн)


Отправлено: 16:23, 23-12-2011 | #441



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


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;

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:32, 23-12-2011 | #442


Забанен


Сообщения: 67
Благодарности: 1

Профиль | Цитировать


дайте пожалста пример для использувания ISSideshow 1.02 на всех страницах инсталятора

Отправлено: 19:24, 23-12-2011 | #443


Аватара для valyok666

Старожил


Сообщения: 241
Благодарности: 79

Профиль | Отправить PM | Цитировать


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 это пример только на странице прогрессбара)если немного подумать можно понять как сделать на всех))

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Отправлено: 19:33, 23-12-2011 | #444


Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте. Мне нужна ваша помощь.
У меня есть скрипт установщика и меня интересует 1 вопрос.
как сделать чтобы во время установки сначала распаковывались файлы записанные в [Files], а потом следом архивы фриарк??? а щя всё наоборот сначала архивы а потом файлы и иззаетова у меня постоянно идёт тестовый прогон и создаётся новый файл record.ini. библиотека ISdone.
Скрипт состоит из отдельных файлов через подключения модулей, поэтому так много скриптов. Всё облазил и незнаю что? где? потправить.
ПОМОГИТЕ ПЛИЗ 2 день МОЗГ парю, облазил много FAQ непомогло.

вот сам скрипт: тыкай сюда

Отправлено: 19:38, 23-12-2011 | #445


Аватара для valyok666

Старожил


Сообщения: 241
Благодарности: 79

Профиль | Отправить PM | Цитировать


Spell1999, не проще тогда сделать архив с "файлами записанные в [Files]" в исдоне прописать их на первое место потом всё остальное)
PS Файлы скрипта тоже надо кидать)

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Отправлено: 19:41, 23-12-2011 | #446


Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


а если архивы прописать в [Files] и начать установку, то сразу ничево нераспаковывая вылетает ошибка типо нет архива для распаковки.

Отправлено: 19:44, 23-12-2011 | #447


Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Здравствуйте
Цитата LinkOFF:
У меня такая проблема: есть игра Dead Space 2 и мне нужно чтоб при выборе языка игры распаковывался файл по пути AppData\Local\Electronic Arts\ »
Как уже сказал R.i.m.s.k.y., используйте для проверки выбора языка Check
Цитата R.i.m.s.k.y.:
два способа»
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.
Цитата R.i.m.s.k.y.:
DestDir: {app}\ »
Скажу так сказать для вашего саморазвития, т.е. бэксеш здесь лишний, хотя это не является ошибкой и inno на это не ругается, но он здесь не нужен...

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:57, 23-12-2011 | #448


Аватара для valyok666

Старожил


Сообщения: 241
Благодарности: 79

Профиль | Отправить PM | Цитировать


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

Так за что они отвечают кряк или что?

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Последний раз редактировалось valyok666, 23-12-2011 в 20:06.


Отправлено: 20:00, 23-12-2011 | #449


Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


игра состоит из этих файлов и 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


а мне нада наоборот чтобы сначала файлы распаковывал а потом архив.
помоги подправить плиз.

Отправлено: 20:13, 23-12-2011 | #450



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход