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

Статус
В этой теме нельзя размещать новые ответы.

aLLeXUs

Участник
обрати внимание на количество процессов инсталлятора. в общем, не советую развивать это вариант.
имелось введу какой вариант?
Мой модуль примерно по такому принципу и сделан.
Но свой модуль я пока распространять не хочу .
вот и придется делать еще один модуль... вдруг получится;)
 
Последнее редактирование:

Devils Night

Ветеран
Там используется TRichEdit, если я не ошибаюсь, он поддерживает форматированный вывод текста.
Неа, там используются всего 2 страницы HTML, вверху и внизу а в них
Код:
<HTML>
<HEAD>
<TITLE>Dead Island {v.1.3.0} [Ru/En] 2011</TITLE>
<META content="MSHTML 6.00.2900.6169" name=GENERATOR></HEAD>
<BODY>
<b><font face="Verdana"><span style="font-size:16px"><font color="Crimson">Вас</font> <font color="LimeGreen">приветствует</font> <font color="SandyBrown">Мастер</font> <font color="Green">установки</font> <font color="RoyalBlue">Моя программа</font></span></font></b>
</BODY></HTML>

Код:
<HTML>
<HEAD>
<TITLE>Dead Island {v.1.3.0} [Ru/En] 2011</TITLE>
<META content="MSHTML 6.00.2900.6169" name=GENERATOR></HEAD>
<BODY>
<span style="font-size:11px"><font face="Verdana">Программа установит Моя программа версии 1.5 на Ваш компьютер.<br><br>

Рекомендуется закрыть все прочие приложения перед тем, как продолжить.<br><br>

Нажмите <font color="Orange">«Далее»</font>, чтобы продолжить, или <font color="LimeGreen">«Отмена»</font>, чтобы выйти из программы установки.</font></span>
</BODY></HTML>
а как так сделать?
Ну если подойдёт, то смотри в сторону webctrl.
 

Asphyxia

Мимокрокодил
Привет друзья. Столкнулся с небольшой проблемой, которую сам решить никак не могу. При компиляции скрипта выдает ошибку:
Line: 329
Column 5:
Unknow identifer 'Transparent'
Сам код тут
Все-бы ничего, можно и закомментировать эту "прозрачность", но тогда в исталляторе аномалия.

Пользуюсь InnoSetup 5.5, а так-же дизайн делаю в InnoSetup 5.4.3 (расширенная от Китайцев).
 

PUNISHER

Участник
Asphyxia, WizardForm.FinishedLabel имеет тип TNewStaticText так как у него нет такого параметра поэтому тебе выдает ошибку.
выход скрыть WizardForm.FinishedLabel и к примеру FinishedLabel типа TLabel.
 

Asphyxia

Мимокрокодил
Asphyxia, WizardForm.FinishedLabel имеет тип TNewStaticText так как у него нет такого параметра поэтому тебе выдает ошибку.
выход скрыть WizardForm.FinishedLabel и к примеру FinishedLabel типа TLabel.
Понимаю, что это мои проблемы, но не могли бы вы ткнуть носок или хотя-бы пример привести.
Суть вроде понял, даже попытался переделать, но в итоге: Could not call proc. :(
 

Snoopak96

Старожил
Asphyxia,
Варианта 2:
1. (Это по сути как надо бы сделать) Скрывать все стандартные статики и создавать Tlabel, у которых есть свойство прозрачности.

2. (Самый простой) Прицепить к своему скрипту модуль TNewStaticText (В архиве пример есть): http://krinkels.org/downloads.php?do=file&id=83
 
Последнее редактирование:

Asphyxia

Мимокрокодил
Ребят, помогите пожалуйста. Почему при компиляции в InnoSetup 5.4.3 (расширеная Китайская версия) на выходе не отображает скин. Использую код с сайта ISSkin.
В обычной версии 5.5 все нормально.
 

LexBell

Борода
Супер модератор
Потому, что длл-ка, которую используешь, должна соответствовать кодировке. Если компилишь на юникоде, то юникодная, если на анси, то ансишная. они обе входят в комплект на приведенном тобой сайте.
 

aLLeXUs

Участник
Почему на SelectDirPage не отображается NextButton, и если продолжать жать Enter то будет ошибка

Код:
[_Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[_Code]

procedure PageComponents(CurPageID: integer);
begin
    case CurPageID of
        wpWelcome:
        begin
            WizardForm.NextButton.Parent:=WizardForm.WelcomePage;
        end;
        wpInfoBefore:
        begin
            WizardForm.NextButton.Parent:=WizardForm.InfoBeforePage;
        end;
        wpSelectDir:
        begin
            WizardForm.NextButton.Parent:=WizardForm.SelectDirPage;
        end;
        wpReady:
        begin
            WizardForm.NextButton.Parent:=WizardForm.ReadyPage;
        end;
    end;
end;

procedure CurPageChanged(CurPageID: integer);
begin
    PageComponents(CurPageID);
end;

procedure InitializeWizard();
begin
    WizardForm.InnerNotebook.Width:=WizardForm.ClientWidth;
    WizardForm.InnerNotebook.Height:=WizardForm.ClientHeight;
    WizardForm.OuterNotebook.Width:=WizardForm.ClientWidth;
    WizardForm.OuterNotebook.Height:=WizardForm.ClientHeight;
end;
 

LexBell

Борода
Супер модератор
alex0413, сделай проще. Вот это все:
case CurPageID of
wpWelcome:
begin
WizardForm.NextButton.Parent:=WizardForm.WelcomePage;
end;
wpInfoBefore:
begin
WizardForm.NextButton.Parent:=WizardForm.InfoBeforePage;
end;
wpSelectDir:
begin
WizardForm.NextButton.Parent:=WizardForm.SelectDirPage;
end;
wpReady:
begin
WizardForm.NextButton.Parent:=WizardForm.ReadyPage;
end;
end;
легко заменяется одной строчкой:
WizardForm.NextButton.BringToFront;

а вот это:
WizardForm.InnerNotebook.Width:=WizardForm.ClientWidth;
WizardForm.InnerNotebook.Height:=WizardForm.ClientHeight;
WizardForm.OuterNotebook.Width:=WizardForm.ClientWidth;
WizardForm.OuterNotebook.Height:=WizardForm.ClientHeight;

меняется на

WizardForm.OuterNotebook.Align := alClient;
WizardForm.InnerNotebook.Align := alClient;

тоесть, весь твой код меняешь на
[SOURCE="iss"]procedure InitializeWizard();
begin
WizardForm.NextButton.BringToFront;
WizardForm.OuterNotebook.Align := alClient;
WizardForm.InnerNotebook.Align := alClient;
end;[/SOURCE]
и все будет работать без ошибок
 
Последнее редактирование:

Asphyxia

Мимокрокодил
Как реализовать обновление доп. ПО, в конце установки.
На данный момент обновление доп. ПО идет через Tasks, но так-же используются архивы FreeArc и распаковка через ISFreeArcExtract v.4.1 (от Shegorat). В результате получаю, что сначала идет обновление доп. ПО, а потом уже извлечение архивов. Не критично, но все-же ... Возможно как-то реализовать: извлечение архивов > обновление доп. ПО?
 

nik1967

Old Men
Проверенный
Asphyxia, в процедуре [SOURCE="inno"]procedure CurStepChanged(CurStep: TSetupStep);[/SOURCE]измени [SOURCE="inno"]if CurStep = ssPostInstall then[/SOURCE]на [SOURCE="inno"]if CurStep = ssInstall then[/SOURCE]думаю, должно помочь :)
 

Asphyxia

Мимокрокодил
Т.е. распаковка идет непосредственно во время установи, а не после? (это я так.. умчинаю)
Спасибо помогло :)
[ADMIN="YURSHAT"]Если вам оказали помощь, не полинитесь и нажмите кнопочку "Спасибо".[/ADMIN]
 

Adil

Старожил
Всем салам)
Что надо сделать чтобы при нажатии на кнопку "Создать ярлык в меню пуск", которая находится в компонентах
1.jpg
Wizardform.Groupedit и Wizardform.GroupBrowseButton были visible false
2.jpg
пробывал через
[Icon]
Name: {group}\{cm:Run}; Filename: {app}\{#ExeFile}; Check: NoIcons and CheckError; {code:NoIcons}
но не получилось)
 
Последнее редактирование:

nik1967

Old Men
Проверенный
nazbek010, у меня :)
2.jpg
сделано так:
[SOURCE="inno"]function BackButtonClick(CurPageID: Integer): Boolean;
begin
Result:= True;
wizardform.GroupEdit.enabled:= IsComponentSelected('Icon\StartMenuIcon');
wizardform.GroupBrowseButton.enabled:= IsComponentSelected('Icon\StartMenuIcon');
WizardForm.SelectStartMenuFolderLabel.enabled:= IsComponentSelected('Icon\StartMenuIcon');
end;[/SOURCE]
 
  • Like
Реакции: Adil

Adil

Старожил
nik1967, извиняюсь за занудство :)
все работает спс
но в итогах он в любом случаи пишет что папка создастся
4.jpg
 

Snoopak96

Старожил
nazbek010,
в условии логические скобки if then begin end else ... тд нужно расставить правильно.
 
  • Like
Реакции: Adil

nik1967

Old Men
Проверенный
nazbek010, отображение информации на редипэйдж как бы ноу-хау Shegorat'а, могу лишь посоветовать присмотреться к функции
[SOURCE="inno"]function UpdateReadyMemo(Space,NewLine,MemoUserInfoInfo,MemoDirInfo,MemoTypeInfo,MemoComponentsInfo,MemoGroupInfo,MemoTasksInfo: String): String;[/SOURCE]
 
  • Like
Реакции: Adil

aLLeXUs

Участник
как пользоваться проседурой procedure [SOURCE="inno"]ImgGetPosition(img:Longint; var Left, Top, Width, Height:integer);[/SOURCE] в botva2 + b2p?
когда пишу [SOURCE="inno"]ImgGetPosition(DirLbl,WizardForm.DirEdit.Left,WizardForm.DirEdit.Top,WizardForm.DirEdit.Width,WizardForm.DirEdit.Height);[/SOURCE] то выкидывает с ошибкой "Variable Expected", тогда я создаю переменные [SOURCE="inno"]var tLeft,tTop,tWidth,tHeight: integer;[/SOURCE] и пишу [SOURCE="inno"]ImgGetPosition(DirLbl,tLeft,tTop,tWidth,tHeight);[/SOURCE] пишет "Type Mismatch" после скобок. Как такое может быть если тип везде integer, a DirLbl longint. В чем проблема?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху