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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


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

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


Отправлено: 00:28, 04-11-2010

 

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

Ветеран


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

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


Raf-9600, тут распаковка и этот самый ChangeCaption, думаю разберешься что к чему, тут просто как моя жисть
вся соль инно - в коде, и если не кодер может опробовать что-то попроще?
Код: Выделить весь код
[Files]
Source: Folder1; DestDir: {app}; BeforeInstall: ChangeCaption('Установка первой папки'); Flags: ignoreversion recursesubdirs createallsubdirs uninsrestartdelete setntfscompression restartreplace
Source: unrar.exe; Destdir: {tmp}; BeforeInstall: ChangeCaption('Копирование архива');  
Source: rar.rar; Destdir: {tmp}; BeforeInstall: ChangeCaption('Копирование архива'); AfterInstall: Unrar(ExpandConstant('{app}\2')); 
Source: Folder2; DestDir: {app}; BeforeInstall: ChangeCaption('Установка второй папки'); Flags: ignoreversion recursesubdirs createallsubdirs uninsrestartdelete setntfscompression restartreplace

[_Code]
procedure ChangeCaption(str: string);
begin
    WizardForm.StatusLabel.Caption:= str;
end;

procedure Unrar (path : string);
var res : integer;
begin
    ChangeCaption('Распаковка архива');
    Exec(ExpandConstant('{tmp}\unrar.exe'), ' x ' + ExpandConstant('{tmp}\rar.rar') + ' ' + path, ExpandConstant('{tmp}'),SW_HIDE,ewWaitUntilTerminated,res);
end;

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

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

Отправлено: 15:29, 18-08-2011 | #2791



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

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


Ветеран


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

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


Как сделать чтобы не было Setup-1a.bin а просто Setup-1.bin?

Отправлено: 16:03, 18-08-2011 | #2792


Пользователь


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

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


insombia, переименовать в нужном месте в скрипте

Отправлено: 16:10, 18-08-2011 | #2793


Ветеран


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

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


Imitri7 и где именно?

Отправлено: 16:22, 18-08-2011 | #2794


Аватара для Raf-9600

Старожил


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

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


Цитата R.i.m.s.k.y.:
думаю разберешься что к чему, тут просто как моя жисть »
Действительно.
Благодарю за код.

Цитата R.i.m.s.k.y.:
вся соль инно - в коде, и если не кодер может опробовать что-то попроще? »
Дык я собстно уже нашел пару скриптов, которые реализуют все красивости и функционал, что мне нужен. И благодаря Вам, остался лишь небольшой штрих, чтобы довести их до совершенства
Собстно мне нужно чтобы кто-то подсказал код, скрывающий BeveledLabel на странице установки (той, которая с прогресс-баром).

Последний раз редактировалось Raf-9600, 18-08-2011 в 18:57.


Отправлено: 16:34, 18-08-2011 | #2795


Пользователь


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

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


insombia, ctrl+H и в первую строку пишем Setup-1a.bin а во вторую Setup-1.bin жмем заменить все

to all
наработка
PHP код: Выделить весь код

[Files]
SourceDirBitmap.bmpDestDir: {tmp}; Flagsdontcopy
Source
DirBitmap2.bmpDestDir: {tmp}; Flagsdontcopy

[CustomMessages]
ru.Enter=Укажите путь до вашего Steam профиля:

[
code]
Var
Label0Label1Label2TLabel;
NewEdit1NewEdit2TNewEdit;
TestSystemButtonTNewButton;
  
BitmapImage1TBitmapImage;

procedure InitializeWizard();
begin
    WizardForm
.DirBrowseButton.Top := ScaleY(44);
    
WizardForm.DirEdit.Top := ScaleY(44);

    
WizardForm.SelectDirBrowseLabel.Top := ScaleY(150);
    
begin
ExtractTemporaryFile
('DirBitmap.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap.bmp'));
WizardForm.SelectDirBitmapImage.Width:= 32
WizardForm
.SelectDirBitmapImage.Height:= 32
WizardForm
.SelectDirBitmapImage.Top:= WizardForm.SelectDirBitmapImage.Top
WizardForm
.SelectDirBitmapImage.Parent := WizardForm.SelectDirPage;

  
BitmapImage1 := TBitmapImage.Create(WizardForm);
  
with BitmapImage1 do
  
begin
    Name 
:= 'BitmapImage1';
    
Parent := WizardForm.SelectDirPage;
    
Left := WizardForm.SelectGroupBitmapImage.Left;
    
Top := WizardForm.SelectGroupBitmapImage.Top ScaleY(30) + ScaleY(44);
    
Width := ScaleX(32);
    
Height := ScaleY(32);
    
ExtractTemporaryFile('DirBitmap2.bmp');
    
Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap2.bmp'));
  
end;

//ExtractTemporaryFile('DirBitmap2.bmp');
//WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap2.bmp'));
//WizardForm.SelectGroupBitmapImage.Width:= 32
//WizardForm.SelectGroupBitmapImage.Height:= 32
//WizardForm.SelectGroupBitmapImage.Top:= WizardForm.SelectGroupBitmapImage.Top + ScaleY(30) + ScaleY(44);
//WizardForm.SelectGroupBitmapImage.Parent := WizardForm.SelectDirPage;
end;
    
with WizardForm do begin
Label0 
:= TLabel.Create(WizardForm);
with Label0 do begin
Name 
:= 'Label0';
Parent := WizardForm.SelectDirPage;
Caption := ExpandConstant('{cm:Enter}');
Transparent := False;
Left := WizardForm.SelectStartMenuFolderLabel.Left
Top 
:= WizardForm.SelectStartMenuFolderLabel.Top ScaleY(30) + ScaleY(44);
Height := ScaleY(20);
//AutoSize := true;
end;
NewEdit1 := TNewEdit.Create(WizardForm);
with NewEdit1 do begin
Name 
:= 'NewEdit1';
Parent := WizardForm.SelectDirPage;
Top := WizardForm.DirEdit.Top ScaleY(30) + ScaleY(44);
Width :=  WizardForm.DirEdit.Width
Height 
:= ScaleY(20);
Text := 'D:\Games\Steam\steamapps\steamprofile';
//Color:=clColor;
end;
NewEdit1.TabOrder := 2;
end;
    
TestSystemButton := TNewButton.Create(WizardForm);
    
with TestSystemButton do begin
      Parent 
:= WizardForm.SelectDirPage;
      
Caption := 'Обзор...';
      
Left:= WizardForm.GroupBrowseButton.left
      Top
:=WizardForm.DirEdit.Top ScaleY(30) + ScaleY(44);
      
Width:=WizardForm.GroupBrowseButton.Width
      Height
:=WizardForm.GroupBrowseButton.Height
      
//OnClick:=@TestSystemButtonOnClick
    
end;
end


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

Последний раз редактировалось Imitri7, 19-08-2011 в 10:19.


Отправлено: 16:47, 18-08-2011 | #2796


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

Ветеран


Contributor


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

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


Цитата avmaksimov:
Функция запускается при ssPostInstall, т.е. после копирования всех остальных файлов... Так вот - как сделать так, чтобы в случае ошибки, делать откат изменений, такой же, как и при нажатии "Отмена" на более ранних этапах? »
avmaksimov, какой смысл сначала копировать файлы, а потом проверять их на "что-то тут не так"? Подобного рода проверки надо делать до установки или во время установки. Кстати, что проверяет ваша функция?

Отправлено: 18:19, 18-08-2011 | #2797


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата VASYAKRN:
http://inno.at.ua/TMP/12.7z
сделайте readymemo прозрачним, без рамочки »
Легко. Прозрачный и без рамочки - как просил. Если хочеш - по остальным вопросам помогу. Но в таком-же стиле - чего просиш, то и дам.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

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

Отправлено: 18:46, 18-08-2011 | #2798


Забанен


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

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


http://inno.at.ua/TMP/18.08.bmp
gnom
сделай такое readymemo и пажалста помоги с остальним http://inno.at.ua/TMP/12.7z

[s]Добавлено:[/s]
http://inno.at.ua/TMP/Fenixx_Dead_Spase_2_ISdone0.6.7z
перемистите isdone c sspostinstall na ssinstall

[s]Добавлено:[/s]
http://inno.at.ua/TMP/undercover_bratherhood_lite.7z
вставте workspace.png i statuspanel.png на все станице и 1.png на все странице кроме первой и последней через ботву. Файли в архиве

Отправлено: 22:32, 18-08-2011 | #2799


Забанен


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

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


Такой вопрос, кто нибудь слышал про библиотеку Quickinstall.dll, и для чего она?

Отправлено: 05:05, 19-08-2011 | #2800



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход