Ru-Board.club
← Вернуться в раздел «Программы»

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

Автор: DeKaNszn
Дата сообщения: 26.04.2009 21:40
Raf_SE

попробуй запустить через командную строку infium.exe /? (не в инсталляторе, а так)

spider91

пример (надеюсь догадаешься по нему, что и как)


Код: [no][CustomMessages]
en.Msg123=FFFFFF
ru.Msg123=АААААА
[Code]
MsgBox(ExpandConstant('{cm:Msg123}'), mbInformation, MB_OK);[/no]
Автор: spider91
Дата сообщения: 26.04.2009 22:10
DeKaNszn

спасибо. выручил (уже не в первый раз). респект тебе
Автор: SotM
Дата сообщения: 26.04.2009 22:22
spider91
Заметка тебе на будущее: в "Коллекция скриптов" можно найти ответ на твой вопрос как минимум в 8 файлах. Поди ты там и не смотрел...
Автор: msatmb
Дата сообщения: 26.04.2009 22:29
SotM

Цитата:
Точно не помню, но посмотри в хелпе, шрифт можно сменить для всей формы. Если не ошибаюсь...

В том-то и дело что я задал цвет шрифта, он везде поменялся кроме того кода

Цитата:
Создавай свой личный Tlabel, и тогда у него и меняй прозрачность.

Хм..не подумал про это. Нада попробовать

Цитата:
И для кого help вообще создают?! Для кого примеры пишутся?!

Для нас Но не всегда приходит мысль заглянуть в хелп
Автор: spider91
Дата сообщения: 26.04.2009 23:02
SotM


я его как раз скачал перед тем как DeKaNszn ответил, очень полезная штука.

P.S.
сборник вопросов в шапке не работает, хотелось бы почитать.
Автор: Victor_Dobrov
Дата сообщения: 27.04.2009 01:54
spider91

Цитата:
сборник вопросов в шапке не работает, хотелось бы почитать.

Не все могут качать с народа, а если так? скачать InnoSetupFAQ_ru-board
Автор: spider91
Дата сообщения: 27.04.2009 02:04
Victor_Dobrov


скачать я скачал но не открывалась. комп блокировал. теперь идет и а что в шапке
Автор: tahirg
Дата сообщения: 27.04.2009 07:51
спецы подскажите в чём дело
использую
Как добиться такого, чтобы кнопка "Далее" становилась неактивна, когда не выбран ни один компонент
Вариант 1:
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result:= True;
if WizardSelectedComponents(False) = '' then
begin
MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK);
Result:= False;
end;
end;

тогда сразу после появления приветствия при нажатии "далее" выходит месседж
'Ни один из компонентов не выбран!', но я ведь ещё не дошёл до выбора компонентов...
если использую
Вариант 2:
procedure ComponentOnClick(Sender: TObject);
begin
if WizardSelectedComponents(False) = '' then
WizardForm.NextButton.Enabled:= False
else WizardForm.NextButton.Enabled:= True;
end;

procedure InitializeWizard();
begin
WizardForm.ComponentsList.OnClick := @ComponentOnClick;
end;
то кнопа "далее" активна и при невыбраных компонентах,но стоит кликнуть на "далее" и уйти на другую страницу, а затем вернуться назад, кнопа становиться неактивна,пока не выберешь компонент
Автор: DeKaNszn
Дата сообщения: 27.04.2009 09:12
tahirg

читай:

Цитата:
Сборник вопросов, собранных из этой и предыдущих частей топика.
Автор: tahirg
Дата сообщения: 27.04.2009 09:26
DeKaNszn
ага умнО
я и использовал инструкцию из того хелпа
[more]Как добиться такого, чтобы кнопка "Далее" становилась неактивна, когда не выбран ни один компонент [Components] во время установки? Ведь нет никакого смысла ставить, если ничего не выбрано! Вариант 1:
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result:= True;
if WizardSelectedComponents(False) = '' then
begin
MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK);
Result:= False;
end;
end;

Вариант 2:
procedure ComponentOnClick(Sender: TObject);
begin
if WizardSelectedComponents(False) = '' then
WizardForm.NextButton.Enabled:= False
else WizardForm.NextButton.Enabled:= True;
end;

procedure InitializeWizard();
begin
WizardForm.ComponentsList.OnClick := @ComponentOnClick; [/more]
Автор: BondDaniil00
Дата сообщения: 27.04.2009 10:02
HELP!
В инсталяторе выполняю скрипты, которые конектятся к оракловому SYS и выполлняются в параметрах выполнения скриптов прописываю пороль SYS.
А как зделать чтобы пользователь при инсталяции вводил пороль своего SYS и этот пароль подставлялся бы в мои скрипты



Автор: Serega0675
Дата сообщения: 27.04.2009 10:44
tahirg
[more=так]
Код: { 1-ый вариант }
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result:= True;
if CurPageID = wpSelectComponents then
if WizardSelectedComponents(False) = '' then begin
MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK);
Result:= False;
end;
end;

{ 2-ой вариант }
//procedure OnClick(Sender: TObject);
//begin
// if WizardForm.ComponentsList.Checked[0] = True then
// WizardForm.NextButton.Enabled:= True else WizardForm.NextButton.Enabled:= False;
//end;

//procedure InitializeWizard;
//begin
// WizardForm.ComponentsList.OnClickCheck:= @OnClick;
//end;
Автор: chelobey
Дата сообщения: 27.04.2009 11:07
подскажите, как организовать закрытие без подтверждения для CloseBtn из [more=этого примера]
Код: [Setup]
AppName=components
AppVerName=components
DefaultDirName=C:\AppName

[no][Code][/no]

var
CaptionPanel:Tpanel;
MinimizeBtn,CloseBtn:TButton;

const
d=6;

procedure MinimizeBtnClick(Sender:TObject);
begin
SendMessage(WizardForm.Handle,$0112,61472,0);
end;

procedure CloseBtnClick(Sender:TObject);
begin
SendMessage(WizardForm.Handle,$0112,61536,0);
end;

procedure InitializeWizard;
begin
CaptionPanel:=TPanel.Create(WizardForm);
with CaptionPanel do begin
Parent:=WizardForm;
Height:=30;
Align:=alTop;
ParentColor:=False;
Color:=$800000;
BevelInner:=bvNone;
BevelOuter:=bvNone;
end;
with TLabel.Create(CaptionPanel) do begin
Parent:=CaptionPanel;
Top:=CaptionPanel.Height div 2-Height div 2;
Left:=d;
Font.Color:=clWhite;
Font.Style:=[fsBold];
Caption:=WizardForm.Caption;
end;
CloseBtn:=TButton.Create(CaptionPanel);
with CloseBtn do begin
Parent:=CaptionPanel;
Height:=22;
Width:=23;
Top:=CaptionPanel.Height div 2-Height div 2;
Left:=CaptionPanel.Width-Width div 2-d;
Caption:='X';
OnClick:=@CloseBtnClick;
end;
MinimizeBtn:=TButton.Create(CaptionPanel);
with MinimizeBtn do begin
Parent:=CaptionPanel;
Height:=22;
Width:=23;
Top:=CaptionPanel.Height div 2-Height div 2;
Left:=CaptionPanel.Width-Width div 2-CloseBtn.Width-2-d;
Caption:='_';
OnClick:=@MinimizeBtnClick;
end;
with WizardForm do begin
BorderStyle:=bsNone;
Width:=Width+d;
OuterNotebook.Left:=OuterNotebook.Left+d;
Bevel.Visible:=False;
Color:=$404040;
OuterNotebook.Top:=OuterNotebook.Top+CaptionPanel.Height;
CancelButton.Top:=CancelButton.Top+CaptionPanel.Height;
NextButton.Top:=NextButton.Top+CaptionPanel.Height;
BackButton.Top:=BackButton.Top+CaptionPanel.Height;
end;
end;
Автор: tahirg
Дата сообщения: 27.04.2009 11:15
Serega0675
снова выручил, спасибо!
А инструкцию надо поправить в части касаемой именно первого варианта скрипта
Автор: Serega0675
Дата сообщения: 27.04.2009 11:47
doombuster
[more=так]
Код:
Код:
function TasksSelected: string;
begin
if IsTaskSelected('English') then Result:= '51' else
if IsTaskSelected('French') then Result:= '52' else Result:= '53';
end;

procedure ReplaceLine;
var
S: TArrayOfString;
F: String;
i:integer;
begin
F := ExpandConstant('{app}\config.cfg');
if not FileExists(F) then
Exit;
LoadStringsFromFile(F, S);
for i:=0 to GetArrayLength(S)-1 do begin
if Pos('Param =', S[i]) > 0 then
S[i]:= 'Param =' + TasksSelected; // при английском таске - 51, при французском - 52, и т.д.
end;
SaveStringsToFile(F, S, False);
end;
Автор: chelobey
Дата сообщения: 27.04.2009 12:09
Serega0675, сори, ступил)))... глупо... спасибо
Автор: doombuster
Дата сообщения: 27.04.2009 16:22
Serega0675
Гениально! (лично для меня, т.к. секцию код только начал осваивать))
Спасибо, что ответили, всё работает превосходно.
Автор: spider91
Дата сообщения: 27.04.2009 18:59
как сделать кнопку отмены с текстурой (наложеной способом который есть в руководстве от Kindly) нажатой (нерабочей) во время распаковки?


P.S.
пробовал просто отменить кнопку отмены, но ничего не меняеется
Автор: DeKaNszn
Дата сообщения: 27.04.2009 19:41
spider91

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

Код: [no]WizardForm.CancelButton.Enabled:=false;[/no]
Автор: spider91
Дата сообщения: 27.04.2009 19:57
DeKaNszn


ето уже пробовал. текстура на "Oтмена" не меняется, а нужно чтоб она становилась нажатой.
вот весь скрипт [more][Setup]
AppName=Command & Conquer 3 Kane's Wrath (RePack by spider91)
AppVerName=Command & Conquer 3 Kane's Wrath
DefaultDirName={pf}\Electronic Arts\Command & Conquer 3 Kane's Wrath
DefaultGroupName=Command & Conquer 3 Kane's Wrath
AllowNoIcons=yes
OutputBaseFilename=setup
Compression=lzma/ultra64
SolidCompression=yes
WizardSmallImageFile=C:\Users\Dmitri\Desktop\small.bmp
WizardImageFile=C:\Users\Dmitri\Desktop\big.bmp
SetupIconFile=C:\Users\Dmitri\Desktop\icon.ico
ExtraDiskSpaceRequired=4765687732
UninstallFilesDir={app}\Uninstall

[Languages]
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "en"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "icon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
Name: "dx"; Description: "Обновить DirectX"; GroupDescription: "Дополнительное программное обеспечение:"; Languages: ru;
Name: "vc"; Description: "Установить Microsoft Visual C++ 2005 SP1 Redist"; GroupDescription: "Дополнительное программное обеспечение:"; Languages: ru;
Name: "dx"; Description: "Update DirectX"; GroupDescription: "Additional software:"; Languages: en;
Name: "vc"; Description: "Install Microsoft Visual C++ 2005 SP1 Redist"; GroupDescription: "Additional software:"; Languages: en;


[Registry]
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3"; ValueName: "InstallPath"; ValueType: String; ValueData: "{app}\cc3";
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "DisplayName"; ValueType: String; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Locale"; ValueType: String; ValueData: "ru"; Languages: ru; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Language"; ValueType: String; ValueData: "english"; Languages: en; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "UseLocalUserMaps"; ValueType: Dword; ValueData: "0"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "MapPackVersion"; ValueType: Dword; ValueData: "65536"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Package"; ValueType: String; ValueData: "{{CC2422C9-F7B5-4175-B295-5EC2283AA674}"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Language"; ValueType: String; ValueData: "russian"; Languages: ru; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "ReplayFolderName"; ValueType: String; ValueData: "Replays"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "ScreenshotsFolderName"; ValueType: String; ValueData: "Screenshots"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "UserDataLeafName"; ValueType: String; ValueData: "Command & Conquer 3 Kane's Wrath"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "SaveFolderName"; ValueType: String; ValueData: "SaveGames"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "ProfileFolderName"; ValueType: String; ValueData: "Profiles"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "InstallPath"; ValueType: String; ValueData: "{app}\"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Readme"; ValueType: String; ValueData: "{app}\Support\ru\readme.txt"; Languages: ru; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Readme"; ValueType: String; ValueData: "{app}\readme.txt"; Languages: en; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Version"; ValueType: Dword; ValueData: "65536"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\Electronic Arts\Command and Conquer 3 Kanes Wrath"; ValueName: "Hash"; ValueType: Dword; ValueData: "382823914"; Flags: uninsdeletekey

[LangOptions]
WelcomeFontName=Tahoma
WelcomeFontSize=11


[UninstallDelete]
Type: filesandordirs ; Name: "{app}";

[Files]
Source: C:\Program Files (x86)\Inno Setup Scripting v5.1\Scripts\Buttons\button3.bmp; DestDir: {tmp}; Flags: dontcopy
Source: C:\Users\Dmitri\Desktop\cckw\Arc.exe; DestDir: {tmp}; Flags: dontcopy
Source: C:\Users\Dmitri\Desktop\cckw\Movies\*; DestDir: "{app}\Movies"; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs
Source: C:\Users\Dmitri\Desktop\Command & Conquer 3 Kane's Wrath\#readme#\CC3-dummy\*; DestDir: "{app}\cc3"; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs



[Icons]
Name: "{group}\Играть Command & Conquer 3 Kane's Wrath "; Filename: "{app}\cnc3ep1.exe"; Parameters: "-ui"; WorkingDir: {app}; Languages: ru;
Name: "{group}\Удалить Command & Conquer 3 Kane's Wrath"; Filename: "{uninstallexe}"; Languages: ru;
Name: "{userdesktop}\Command & Conquer 3 Kane's Wrath "; Filename: "{app}\cnc3ep1.exe"; Parameters: "-ui"; WorkingDir: {app}; Tasks: icon
Name: "{group}\Play Command & Conquer 3 Kane's Wrath "; Filename: "{app}\cnc3ep1.exe"; Parameters: "-ui"; WorkingDir: {app}; Languages: en;
Name: "{group}\Uninstall Command & Conquer 3 Kane's Wrath"; Filename: "{uninstallexe}"; Languages: en;



[Run]
Filename: {app}\cnc3ep1.exe; Parameters: "-ui"; WorkingDir: {app}; Description: "Начать игру"; Languages: ru; Flags: postinstall nowait
Filename: {app}\cnc3ep1.exe; Parameters: "-ui"; WorkingDir: {app}; Description: "Play game"; Languages: en; Flags: postinstall nowait
Filename: "{src}\Redist\DirectX\DXSETUP.exe"; Parameters: "/silent"; StatusMsg: "Обновление DirectX..."; Languages: ru; Tasks: "dx"; Flags: waituntilterminated
Filename: "{src}\Redist\vcredist_x86.exe"; Parameters: "/q"; StatusMsg: "Установка Microsoft Visual C++ 2005 SP1 Redist..."; Languages: ru; Tasks: "vc"; Flags: runhidden waituntilterminated
Filename: "{src}\Redist\DirectX\DXSETUP.exe"; Parameters: "/silent"; StatusMsg: "Updating DirectX..."; Languages: en; Tasks: "dx"; Flags: waituntilterminated
Filename: "{src}\Redist\vcredist_x86.exe"; Parameters: "/q"; StatusMsg: "Installing Microsoft Visual C++ 2005 SP1 Redist..."; Languages: en; Tasks: "vc"; Flags: runhidden waituntilterminated


[CustomMessages]
en.Msg1=Extracting files...
ru.Msg1=Распаковка файлов...



[Code]
const
ButtonWidth = 80; //Указываем размер кнопок
ButtonHeight = 23;
bidBack = 0;
bidNext = 1;
bidCancel = 2;
bidDirBrowse = 3;
bidGroupBrowse = 4;


var
ProgressBar1: TNewProgressBar;
PageNameLabel, PageDescriptionLabel: TLabel;
ButtonPanel: array [0..4] of TPanel;
ButtonImage: array [0..4] of TBitmapImage;
ButtonLabel: array [0..4] of TLabel;





procedure ButtonLabelClick(Sender: TObject);
var
Button: TButton;
begin
ButtonImage[TLabel(Sender).Tag].Left:=0
case TLabel(Sender).Tag of
bidBack: Button:=WizardForm.BackButton
bidNext: Button:=WizardForm.NextButton
bidCancel: Button:=WizardForm.CancelButton
bidDirBrowse: Button:=WizardForm.DirBrowseButton
bidGroupBrowse: Button:=WizardForm.GroupBrowseButton
else
Exit
end
Button.OnClick(Button)
end;

procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ButtonLabel[TLabel(Sender).Tag].Enabled then
ButtonImage[TLabel(Sender).Tag].Left:=-ButtonWidth
end;

procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ButtonImage[TLabel(Sender).Tag].Left:=0
end;

procedure LoadButtonImage(AButton: TButton; AButtonIndex: integer);
var
Image: TBitmapImage;
Panel: TPanel;
Labl: TLabel;

begin
Panel:=TPanel.Create(WizardForm)
Panel.Left:=AButton.Left
Panel.Top:=AButton.Top
Panel.Width:=AButton.Width
Panel.Height:=AButton.Height
Panel.Tag:=AButtonIndex
Panel.Parent:=AButton.Parent
ButtonPanel[AButtonIndex]:=Panel

Image:=TBitmapImage.Create(WizardForm) //Рисунок который ложится на кнопку
Image.Width:=160 //Обязательно прописать оригинальный размер рисунка
Image.Height:=23
Image.Enabled:=False
Image.Bitmap.LoadFromFile(ExpandConstant('{tmp}\button3.bmp'))
Image.Parent:=Panel
ButtonImage[AButtonIndex]:=Image

with TLabel.Create(WizardForm) do begin
Tag:=AButtonIndex
Parent:=Panel
Width:=Panel.Width
Height:=Panel.Height
Transparent:=True
OnClick:=@ButtonLabelClick
OnDblClick:=@ButtonLabelClick
OnMouseDown:=@ButtonLabelMouseDown
OnMouseUp:=@ButtonLabelMouseUp
end

Labl:=TLabel.Create(WizardForm) //Текст кнопок
Labl.Left:=15 //Указываем положение текста
Labl.Top:=5
Labl.Autosize:=True
Labl.Alignment:=taCenter
Labl.Tag:=AButtonIndex
Labl.Transparent:=True
Labl.Font.Color:=clWhite //Цвет текста
Labl.Caption:=AButton.Caption
Labl.OnClick:=@ButtonLabelClick
Labl.OnDblClick:=@ButtonLabelClick
Labl.OnMouseDown:=@ButtonLabelMouseDown
Labl.OnMouseUp:=@ButtonLabelMouseUp
Labl.Parent:=Panel
ButtonLabel[AButtonIndex]:=Labl
end;

procedure UpdateButton(AButton: TButton;AButtonIndex: integer);
begin
ButtonLabel[AButtonIndex].Caption:=AButton.Caption
ButtonPanel[AButtonIndex].Visible:=AButton.Visible
ButtonLabel[AButtonIndex].Enabled:=Abutton.Enabled
end;

procedure LicenceAcceptedRadioOnClick(Sender: TObject);
begin
ButtonLabel[bidNext].Enabled:=True
end;

procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
begin
ButtonLabel[bidNext].Enabled:=False
end;

procedure CurPageChanged(CurPageID: Integer);
begin
UpdateButton(WizardForm.BackButton,bidBack)
UpdateButton(WizardForm.NextButton,bidNext)
UpdateButton(WizardForm.CancelButton,bidCancel)
PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;

end;


procedure InitializeWizard();
begin
WizardForm.Position:=poScreenCenter;
WizardForm.BackButton.Width:=ButtonWidth
WizardForm.BackButton.Height:=ButtonHeight
WizardForm.NextButton.Width:=ButtonWidth
WizardForm.NextButton.Height:=ButtonHeight
WizardForm.CancelButton.Width:=ButtonWidth
WizardForm.CancelButton.Height:=ButtonHeight
WizardForm.DirBrowseButton.Left:=337
WizardForm.DirBrowseButton.Width:=ButtonWidth
WizardForm.DirBrowseButton.Height:=ButtonHeight
WizardForm.GroupBrowseButton.Left:=337
WizardForm.GroupBrowseButton.Width:=ButtonWidth
WizardForm.GroupBrowseButton.Height:=ButtonHeight
WizardForm.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick
WizardForm.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick
ExtractTemporaryFile('button3.bmp')
LoadButtonImage(WizardForm.BackButton,bidBack)
LoadButtonImage(WizardForm.NextButton,bidNext)
LoadButtonImage(WizardForm.CancelButton,bidCancel)
LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
WizardForm.PageNameLabel.Hide;
WizardForm.PageDescriptionLabel.Hide;
PageNameLabel:= TLabel.Create( WizardForm );
PageNameLabel.Left:= WizardForm.PageNameLabel.Left;
PageNameLabel.Top:= WizardForm.PageNameLabel.Top;
PageNameLabel.Transparent:= True;
PageNameLabel.Font.Style:= [fsBold];
PageNameLabel.Font.Color:= clWhite;
PageNameLabel.Parent:= WizardForm.MainPanel;
PageDescriptionLabel:= TLabel.Create( WizardForm );
PageDescriptionLabel.Left:= WizardForm.PageDescriptionLabel.Left;
PageDescriptionLabel.Top:= WizardForm.PageDescriptionLabel.Top;
PageDescriptionLabel.Transparent:= True;
PageDescriptionLabel.Font.Color:= clWhite;
PageDescriptionLabel.Parent:= WizardForm.MainPanel;
WizardForm.WizardSmallBitmapImage.Left:= ScaleX(0);
WizardForm.WizardSmallBitmapImage.Width:=WizardForm.ClientWidth;
WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:msg1}');
WizardForm.FileNameLabel.Visible:=False;
WizardForm.ProgressGauge.Top:=ScaleY(65);
WizardForm.ProgressGauge.Width:=280;
WizardForm.ProgressGauge.Left:=120;
WizardForm.StatusLabel.Top:=ScaleY(29);
WizardForm.WelcomeLabel2.Top:=ScaleY(90);
ProgressBar1 := TNewProgressBar.Create(wizardform);
with ProgressBar1 do
begin
Parent := wizardform.installingpage;
Top := 65;
Width := 110;
Height := wizardform.progressgauge.height;
Max :=11;
end;
end;




procedure CurStepChanged(CurStep: TSetupStep);
var ResultCode:integer;
begin
If CurStep=ssInstall
then
begin

WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:msg1}');
ProgressBar1.Position := ProgressBar1.Position+1

ExtractTemporaryFile('Arc.exe')

Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\data1.bin'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);

WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:msg1}');
ProgressBar1.Position := ProgressBar1.Position+2

Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\data2.bin'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);

WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:msg1}');
ProgressBar1.Position := ProgressBar1.Position+3

Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\data3.bin'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);

WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:msg1}');
ProgressBar1.Position := ProgressBar1.Position+3

Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\data4.bin'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);

WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:msg1}');
ProgressBar1.Position := ProgressBar1.Position+2

end;
end;









[/more]

Добавлено:


Цитата:
добавь в код перед началом распаковки загрузку текстуры


хотя не так не пробовал. щас попробую

Добавлено:
попробовал. идет но не совсем так как я хотел. текст становится темнее но я хотел чтоб и текстура становилась как у нажатой кнопки
Автор: STALKER_HIGHLANDER
Дата сообщения: 27.04.2009 20:28
Товарищи, ниид хелп!

Вот на этом скрине названия компонентов сделаны жирными (часть подчеркнуты). Как этого добится?
http://keep4u.ru/full/2009/04/08/5022961465e28312d7/jpg
Автор: doombuster
Дата сообщения: 27.04.2009 21:43
Грамотен ли такой [more=код]procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpReady then
begin
WizardForm.ReadyMemo.Lines.Add('');
if DesktopIcon.Checked or
Dop.Checked
then
WizardForm.ReadyMemo.Lines.Add('Дополнительные задачи:');
if DesktopIcon.Checked then
WizardForm.ReadyMemo.Lines.Add(#9 + 'Добавить ярлык на Рабочий стол');
if Dop.Checked then
WizardForm.ReadyMemo.Lines.Add(#9 + 'Обновить DirectX');
end;
end;
[/more]
Интересует связка if + or . Вроде работает, но может так не правильно делать?
Автор: DeKaNszn
Дата сообщения: 27.04.2009 23:18
spider91

попробуй:


Код: [no] ButtonLabel[bidCancel].Enabled:=False;
ButtonImage[bidCancel].Left:=-ButtonWidth
UpdateButton(WizardForm.CancelButton,bidCancel);[/no]
Автор: spider91
Дата сообщения: 28.04.2009 00:05
DeKaNszn


спасибо. то что надо.
Автор: SotM
Дата сообщения: 28.04.2009 07:26
doombuster
Да вроде правильно написано, но следующую строчку лучше написать так, а то слегка сбивает с толку:

Код:
if DesktopIcon.Checked or Dop.Checked then
Автор: astashov
Дата сообщения: 28.04.2009 13:31
День добрый Вам.
Вот такой вопрос и полное непонимание что вообще происходит. А ситуация вот такая,
Source: ..\Utils\istask.dll; DestDir: embedded; Flags: dontcopy noencryption;
Source: ..\Utils\istask1.dll; DestDir: embedded; Flags: dontcopy noencryption;

Есть два файла, которые необходимо чтобы распаковывались в папку темп для этого пользователя. При запуске инсталлятора первый файл совершенно спокойно копируется в папку Темп, а второй не хочет. Хотя он по логам компилятора добовляется в инсталлятор.

Объясните как такое может быть. А то я только два дня как за Inno взялся.
Спасибо.
Автор: DeKaNszn
Дата сообщения: 28.04.2009 15:33
astashov

покажи код (можно в лс)
Автор: Linco
Дата сообщения: 28.04.2009 15:44
Здравствуйте.
Есть ли возможность доступа к файлу внутри инсталляции из секции кода.
Задача: записать файл в поток NTFS. Сейчас делаю так


Код:
procedure AfterInstall();
begin
ExtractTemporaryFile('xxx.dat');
filecopy(expandconstant('{tmp}\xxx.dat'),expandconstant('{app}\fn.ini:1'),false);
end;
Автор: joparoobit
Дата сообщения: 29.04.2009 09:18
Добрый день!

Подскажите как в MainForm, которая видна при WindowVisible=true, сделать разбивку выводимого текста на две и более строк?

По умолчанияю строка содержит значение AppName. При инициализации количество компонент MainForm.ControlCount равно 0. У какого поменять значение? Где содержится эта строка в MainForm?
Автор: htuos
Дата сообщения: 29.04.2009 12:12
joparoobit

Цитата:
Добрый день!

Подскажите как в MainForm, которая видна при WindowVisible=true, сделать разбивку выводимого текста на две и более строк?

По умолчанияю строка содержит значение AppName. При инициализации количество компонент MainForm.ControlCount равно 0. У какого поменять значение? Где содержится эта строка в MainForm?

надпись на MainForm скорее всего просто рисунок, поэтому здесь 2 выхода:
1 - перехватить у формы WM_PAINT и рисовать что тебе вздумается (хоть вертикально текст выводи)
2 - сделать свою фоновую форму (см. Corona Skin, там вроде самодельная) и точно так же рисуй что хочешь

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: в очередной раз босудим антивиры?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.