Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]
R.i.m.s.k.y.
01-04-2011, 13:49
Можно, используйте конвертирование strArray[i] := DosToAnsi(strArray[i]), чуть поправил ваш пример:
читать дальше » »
Этот скрипт на семерке и хр правильно отрабатывает? ведь в семере слегка по другому вывод ipconfig сделан
Я для этого использую библиотеку IPUtils.dll
Поделись пожалуйста dll'кой, сколько не искал примеры есть, а самой dll нет.
STRAYKER
01-04-2011, 20:45
Как создать такой инсталятор, но чтобы вверху в том хитроумном значке на нажатие на него переходило на сайт ???
http://firepic.org/images/2011-04/p12587902921258.jpg
Gnom_aka_Lexander
01-04-2011, 22:33
STRAYKER, лого-ссылка (http://forum.ru-board.com/topic.cgi?forum=5&topic=35146&start=1299&limit=1&m=3#1)
Habetdin
01-04-2011, 23:41
GetHtmlSource('http://2ip.ru/'); »
Лучше использовать адрес http://www.whatismyip.com/automation/n09230945.asp - по нему только IP, парсить не надо :)
Как исправить? http://i18.fastpic.ru/big/2011/0328/33/17c5c7371458ac8f9b451cf8ec3f4033.png
Вот секция код
[_Code]
////// Кнопки \\\\\\
const
ButtonWidth = 80;
ButtonHeight = 23;
var
WizardLabel: TLabel;
ButtonPanel: array of TPanel;
ButtonImage: array of TBitmapImage;
ButtonLabel: array of TLabel;
UsedButtons: array of TButton;
ButtonsCount: Integer;
procedure ButtonLabelClick(Sender: TObject);
var Button: TButton; n, i: Integer;
begin
i:= TLabel(Sender).Tag; ButtonImage[i].Left:= 0
for n:=0 to (ButtonsCount-1) do begin
if i = n then Button:= UsedButtons[n];
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*2
end;
procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ButtonLabel[TLabel(Sender).Tag].Enabled then ButtonImage[TLabel(Sender).Tag].Left:=0
end;
procedure ButtonLabelMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var n, I: Integer;
begin
I:=TLabel(Sender).Tag;
//Сначала восстанавливаем картинку у всех кнопок, так надо иначе могут быть глюки
for n:=0 to (ButtonsCount-1) do begin if (ButtonLabel[n].Enabled)and(ButtonImage[n].Left <> -ButtonWidth*2)and(I<>N) then ButtonImage[n].Left:= 0; end;
//Теперь собственно ставим нужную картинку
if (ButtonLabel[i].Enabled)and(ButtonImage[i].Left <> -ButtonWidth*2) then begin ButtonImage[i].Left:= -ButtonWidth; end;
end;
procedure WizardLabelMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var n: Integer;
begin
//Т.к Sender'ом выступает WizardLabel то не получится испльзовать индекс кнопки
for n:=0 to (ButtonsCount-1) do if (ButtonLabel[n].Enabled)and(ButtonImage[n].Left <> -ButtonWidth*2) then begin ButtonImage[n].Left:= 0; end;
end;
procedure LoadButtonImage(AButton: TButton);
var n: Integer;
begin
n:=ButtonsCount; SetArrayLength(ButtonPanel, n+1);
SetArrayLength(ButtonImage, n+1); SetArrayLength(ButtonLabel, n+1);
SetArrayLength(UsedButtons, n+1); UsedButtons[n]:= AButton;
ButtonPanel[n]:=TPanel.Create(WizardForm)
ButtonPanel[n].SetBounds(AButton.Left, AButton.Top, AButton.Width, AButton.Height)
ButtonPanel[n].Tag:= n
ButtonPanel[n].Enabled:= AButton.Enabled
ButtonPanel[n].Parent:=AButton.Parent
ButtonImage[n]:=TBitmapImage.Create(WizardForm)
ButtonImage[n].SetBounds(ScaleX(0), ScaleY(0), ScaleX(320), ScaleY(23))
ButtonImage[n].Enabled:=False
ButtonImage[n].Bitmap.LoadFromFile(ExpandConstant('{tmp}\Button.bmp'))
ButtonImage[n].Parent:=ButtonPanel[n]
with TLabel.Create(WizardForm) do begin
Tag:=n
Parent:=ButtonPanel[n]
Width:=AButton.Width
Height:=AButton.Height
Transparent:=True
OnClick:=@ButtonLabelClick
OnDblClick:=@ButtonLabelClick
OnMouseMove:=@ButtonLabelMove
OnMouseDown:=@ButtonLabelMouseDown
OnMouseUp:=@ButtonLabelMouseUp
end
ButtonLabel[n]:=TLabel.Create(WizardForm)
ButtonLabel[n].Autosize:=True
ButtonLabel[n].Alignment:=taCenter
ButtonLabel[n].Tag:=n
ButtonLabel[n].Enabled:= AButton.Enabled
ButtonLabel[n].Transparent:=True
ButtonLabel[n].Font.Color:=clWhite
ButtonLabel[n].Caption:=AButton.Caption
ButtonLabel[n].OnClick:=@ButtonLabelClick
ButtonLabel[n].OnDblClick:=@ButtonLabelClick
ButtonLabel[n].OnMouseMove:=@ButtonLabelMove
ButtonLabel[n].OnMouseDown:=@ButtonLabelMouseDown
ButtonLabel[n].OnMouseUp:=@ButtonLabelMouseUp
ButtonLabel[n].Parent:=ButtonPanel[n]
ButtonsCount:= ButtonsCount+1
end;
procedure UpdateButtons();
var n: Integer;
begin
for n:=0 to ButtonsCount-1 do begin
ButtonLabel[n].Caption:=UsedButtons[n].Caption
ButtonPanel[n].Visible:=UsedButtons[n].Visible
if (UsedButtons[n].Enabled = False) then ButtonImage[n].Left:= -ButtonWidth*3 else ButtonImage[n].Left:= 0;
ButtonLabel[n].Enabled:= UsedButtons[n].Enabled;
ButtonPanel[n].Enabled:= UsedButtons[n].Enabled;
//Ставим Left и Top лейбла соразмерно размеру лейбла
ButtonLabel[n].Left:= ButtonPanel[n].Width div 2 - ButtonLabel[n].Width div 2;
ButtonLabel[n].Top:= ButtonPanel[n].Height div 2 - ButtonLabel[n].Height div 2;
end;
end;
procedure LicenceAcceptedRadioOnClick(Sender: TObject);
begin
//Делаем кнопку активной
WizardForm.NextButton.Enabled:= True;
//Обновляем текстурированную кнопку (обновляем активность и текстуру)
UpdateButtons();
end;
procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
begin
//Делаем кнопку неактивной
WizardForm.NextButton.Enabled:= False;
//Обновляем текстурированную кнопку (обновляем активность и текстуру)
UpdateButtons()
end;
procedure InitializeWizard2();
begin
WizardLabel:= TLabel.Create(WizardForm)
WizardLabel.SetBounds(ScaleX(0), ScaleY(0), ScaleX(WizardForm.Width), ScaleY(WizardForm.Height))
WizardLabel.Transparent:= True;
WizardLabel.AutoSize:=false;
WizardLabel.OnMouseMove:=@WizardLabelMove
WizardLabel.Parent:= WizardForm;
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:=ScaleX(337)
WizardForm.DirBrowseButton.Width:= ButtonWidth
WizardForm.DirBrowseButton.Height:=ButtonHeight
WizardForm.GroupBrowseButton.Left:=ScaleX(337)
WizardForm.GroupBrowseButton.Width:= ButtonWidth
WizardForm.GroupBrowseButton.Height:=ButtonHeight
WizardForm.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick
WizardForm.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick
ExtractTemporaryFile('button.bmp')
LoadButtonImage(WizardForm.BackButton)
LoadButtonImage(WizardForm.NextButton)
LoadButtonImage(WizardForm.CancelButton)
LoadButtonImage(WizardForm.DirBrowseButton)
LoadButtonImage(WizardForm.GroupBrowseButton)
end;
procedure CurPageChanged(CurPageID: Integer);
begin
UpdateButtons()
end;
const
////// Инстал черный \\\\\\
Color = $000000; // Общий цвет инсталлятора $000000 - чёрный
procedure InitializeWizard1();
begin
WizardForm.Font.Color:=clWhite; // общий цвет шрифта
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=Color;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=$100800;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.GroupEdit.Color:=$100800;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.WelcomeLabel1.Font.Color:=Color;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=clWhite;
WizardForm.FinishedHeadingLabel.Font.Color:=clWhite;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
WizardForm.PageNameLabel.Font.Color:=clWhite;
//Избавиться от разделительных полос сверху и снизу
WizardForm.Bevel.visible:=true; // Если не надо, то закомментировать
WizardForm.BeveledLabel.visible:=true; // Если не надо, то закомментировать
WizardForm.Bevel1.visible:=true; // Если не надо, то закомментировать
//Избавляемся от полосы прокрутки в меню Всё готово к установке
WizardForm.ReadyMemo.ScrollBars:= ssNone // Если не надо, то закомментировать
end;
////// Картинка в левый нижний угол \\\\\\
var
LogoImage:TBitmapImage;
LogoLabel: TLabel;
LogoPanel: TPanel;
procedure LogoOnClick(Sender: TObject);
var ReturnCode: Integer;
begin
ShellExec('open', 'http://shidow.com', '', '', SW_SHOWNORMAL, ewNoWait, ReturnCode)
end;
procedure InitializeWizard3();
begin
ExtractTemporaryFile('logo.bmp');
LogoPanel := TPanel.Create(WizardForm);
with LogoPanel do
begin
Parent := WizardForm;
Left := ScaleX(5);
Top := ScaleY(320);
Width := ScaleX(165);
Height := ScaleY(35);
BevelOuter := bvNone;
end;
LogoImage := TBitmapImage.Create(WizardForm);
with LogoImage do
begin
Parent := LogoPanel;
Left := ScaleX(0);
Top := ScaleY(0);
AutoSize:=true;
ReplaceColor:=clFuchsia;
ReplaceWithColor:=clBtnFace;
Bitmap.LoadFromFile(ExpandConstant('{tmp}\logo.bmp'));
end;
LogoLabel := TLabel.Create(WizardForm);
with LogoLabel do
begin
Parent := LogoPanel;
Width := LogoPanel.Width;
Height := LogoPanel.Height;
Transparent:=True;
Cursor := crHand;
OnClick:=@LogoOnClick;
end;
end;
////// Папка \\\\\\
procedure InitializeWizard4();
begin
ExtractTemporaryFile('papka.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectDirBitmapImage.AutoSize:=true;
WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectGroupBitmapImage.AutoSize:=true;
end;
////// Верхняя картинка \\\\\\
procedure InitializeWizard5();
begin
with WizardForm do begin
with MainPanel do
Height := Height - 1;
with WizardSmallBitmapImage do begin
Left := 0;
Top := 0;
Height := 58; //Размер рисунка
Width := 497; //
end;
with PageNameLabel do begin
Font.Name := 'Tahoma'
Width := Width - 497; //Поставьте здесь значения на 0, если хотите вернуть текст
Left := Left + 497; //
end;
with PageDescriptionLabel do begin
Font.Name := 'Tahoma'
Width := Width - 497; //Поставьте здесь значения на 0, если хотите вернуть текст
Left := Left + 497; //
end;
end;
end;
var
WelcomeLabel1, WelcomeLabel2: TLabel;
BmpFile: TBitmapImage;
////// Cтраница приветствия \\\\\\
procedure InitializeWizard6();
begin
ExtractTemporaryFile('fon.bmp');
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\fon.bmp'));
BmpFile.SetBounds(0, 0, 497, 320);
BmpFile.Stretch:= true
BmpFile.Parent:= WizardForm.WelcomePage;
with WizardForm do
begin
WelcomeLabel1.Hide;
WelcomeLabel2.hide;
end;
WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do
begin
WelcomeLabel1.Alignment:=taCenter;
Left:= ScaleX(176);
Top:= ScaleY(66);
Width:= ScaleX(301);
Height:= ScaleY(71);
AutoSize:= false;
Transparent:= true;
WordWrap:= true;
Font.Name:='Tahoma'
Font.Size:= 12;
Font.Color:=ClWhite
Parent:= WizardForm.WelcomePage;
Caption:= WizardForm.WelcomeLabel1.Caption;
end;
WelcomeLabel2:=TLabel.Create(WizardForm);
with WelcomeLabel2 do
begin
WelcomeLabel2.Alignment:=taCenter;
Top:= ScaleY(136);
Left:= ScaleX(176);
Width:= ScaleX(301);
Height:= ScaleY(300);
AutoSize:= false;
WordWrap:= true;
Font.Color:=ClWhite
Font.Name:='Segoe UI'
Transparent:= true;
Parent:= WizardForm.WelcomePage;
Caption:= WizardForm.WelcomeLabel2.Caption;
end;
end;
procedure InitializeWizard();
begin
InitializeWizard1();
InitializeWizard2();
InitializeWizard3();
InitializeWizard4();
InitializeWizard5();
InitializeWizard6();
end
подскажите плз.
Как в скрипт айфона от Shepards, вставить ISDone?
vovka1021
02-04-2011, 17:38
http://i057.radikal.ru/1104/68/6ce392e06c19t.jpg (http://radikal.ru/F/i057.radikal.ru/1104/68/6ce392e06c19.jpg.html) помогите. как это изменить в скрипте Need for Speed Undercover.
Black666angel
03-04-2011, 04:58
vovka1021,
Ты хочешь удалить?
найди эти строки (закаментируи или удали)
//rus.Language=Выберите язык игры:
//rus.LanguageRus=Русский
//rus.LanguageUS=English
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LanguageButtonCount = 2;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LanguageButton: array [1..LanguageButtonCount] of HWND;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//procedure SelectLanguage(hBtn:HWND);
//begin
// sndPlaySound(ExpandConstant('{tmp}\Click.wav'),$0001);
// BtnSetChecked(hBtn,True);
// if hBtn=LanguageButton[1] then begin
// BtnSetChecked(LanguageButton[2],False);
// LngNameLbl.Caption:=ExpandConstant('{cm:LanguageRus}');
// Rus:= True;
// end else begin
// BtnSetChecked(LanguageButton[1],False);
// LngNameLbl.Caption:=ExpandConstant('{cm:LanguageUS}');
// Rus:= False;
// end;
//end;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LanguageLabel := TLabel.Create(WizardForm);
// with LanguageLabel do begin
// AutoSize:=False;
// SetBounds(ScaleX(115), ScaleY(410), ScaleX(400), ScaleY(17));
// Transparent:=True;
// Font.Name:= 'Georgia'
// Font.Size:= 10;
// Font.Color:=clLime;
// Font.Style:=[fsBold, fsItalic];
// Caption:= ExpandConstant('{cm:Language}');
// Parent := WizardForm;
// end;
//
// LngNameLbl := TLabel.Create(WizardForm);
// with LngNameLbl do begin
// AutoSize:=False;
// SetBounds(ScaleX(300), ScaleY(410), ScaleX(100), ScaleY(17));
// Transparent:=True;
// Font.Name:= 'Georgia'
// Font.Size:= 10;
// Font.Color:=clLime;
// Font.Style:=[fsBold, fsItalic];
// Caption:= ExpandConstant('{cm:LanguageRus}');
// Parent := WizardForm;
// end;
//
// LanguageButton[1]:=BtnCreate(WizardForm.Handle,ScaleX(395),ScaleY(403),ScaleX(48),ScaleY(36),ExpandConstant('{tmp}\ru .png'),0,True);
// BtnSetEvent(LanguageButton[1],BtnClickEventID,WrapBtnCallback(@SelectLanguage,1));
// BtnSetEvent(LanguageButton[1],BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
// BtnSetCursor(LanguageButton[1],GetSysCursorHandle(32649));
//
// LanguageButton[2]:=BtnCreate(WizardForm.Handle,ScaleX(460),ScaleY(403),ScaleX(48),ScaleY(36),ExpandConstant('{tmp}\us .png'),0,True);
// BtnSetEvent(LanguageButton[2],BtnClickEventID,WrapBtnCallback(@SelectLanguage,1));
// BtnSetEvent(LanguageButton[2],BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
// BtnSetCursor(LanguageButton[2],GetSysCursorHandle(32649));
//
// BtnSetChecked(LanguageButton[1],True);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LanguageLabel.Hide;
// LngNameLbl.Hide;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BtnSetVisibility(LanguageButton[1],True);
// BtnSetVisibility(LanguageButton[2],True);
// LanguageLabel.Show;
// LngNameLbl.Show;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BtnSetVisibility(LanguageButton[1],False);
// BtnSetVisibility(LanguageButton[2],False);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Gnom_aka_Lexander
03-04-2011, 12:45
vovka1021, неправильный параметр запуска установки ДиректИкс.
vovka1021
03-04-2011, 13:06
как правильно прописать???
народ, а че никто не знает как мне помочь?
сам никак не могу придумать
пробовал через #include добавить ISDone.iss, но не получается
Gnom_aka_Lexander
03-04-2011, 13:26
vovka1021,
[Run]
Filename: "{src}\DXSETUP.exe"; WorkingDir: "{src}\"; Parameters: "/silent"; только DXSETUP должен рядом с инсталлом находится, либо убирай его в папку со всеми файлами, и добавляй эту папку в путь к исполняемому файлу.
0.07, пробовал через #include добавить ISDone.iss, но не получается » - не прокатит, нужно объединять функции. выложи скрипт с файлами. А насчет ISJoiner - там-же пример идет, как правильно объединять скрипты :)
да я пробовал ISJoiner-не получается
а так я пока только учусь, и сам объединить не смогу
R.i.m.s.k.y.
03-04-2011, 14:55
Наверное опять на свой код засмотрелся...
имеется два проекта инно, в них делается одна вещь - извлекается nircmd для прибития ненужных процессов
[Files]
Source: nircmd.exe; DestDir: {app}\Utilities\; Flags: ignoreversion
...
ExtractTemporaryFile(ExpandConstant('nircmd.exe'));
if FileExists(ExpandConstant('{tmp}\nircmd.exe')) then begin
KillEmAlltmp; //убить всех!!!
end;
Этот кусок кода из работающего скрипта вставил во второй скрипт и получил ошибку
http://rghost.ru/5054767/image.png (http://rghost.ru/5054767.view)
WTF???
Habetdin
03-04-2011, 15:07
R.i.m.s.k.y., Flags: ignoreversion »
Может еще dontcopy?
я конечно не шарю, но в ошибке написанно, что не найден файл "nircmd.exe", может второй скрипт лежит в другой папке
R.i.m.s.k.y.
03-04-2011, 15:12
Может еще dontcopy? »
не помогает, к тому же этот файл долден быть в папке программы для деинсталляции
я конечно не шарю, но в ошибке написанно, что не найден файл "nircmd.exe", может второй скрипт лежит в другой папке »
в том то и да что лежит! без этого ExtractTemporaryFile(ExpandConstant('nircmd.exe')); все компилится.
и получил ошибку »
если используете компрессию, не забываем указывать флаги nocompression и solidbreak
R.i.m.s.k.y.
03-04-2011, 15:28
если используете компрессию, не забываем указывать флаги nocompression и solidbreak »
борода, те же фаберже только в профиль
добавлю что ExtractTemporaryFile(ExpandConstant('nircmd.exe')) вызывается в InitializeWizard
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.