Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
YURSHAT, как можно сделать так чтобы установшик не как невозможно было свернуть чтобы он стоял по центру »
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
[code_]
const
SC_MOVE = $F010;
MF_BYCOMMAND = 0;
function GetSystemMenu(Wnd: HWnd; bRevert: boolean): HWnd;
external 'GetSystemMenu@user32.dll stdcall';
function RemoveMenu(hMenu: HWnd; uPosition: Integer; uFlags: Longint): boolean;
external 'RemoveMenu@user32.dll stdcall';
procedure InitializeWizard;
begin
WizardForm.BorderIcons:=[biSystemMenu]
RemoveMenu(GetSystemMenu(WizardForm.Handle, false), SC_MOVE, MF_BYCOMMAND);
end;
пойдет?
svensoft
28-01-2010, 01:28
YURSHAT, а в скрипте про вчерашние кнопки - там должны они после отведения мышки возвращаться в обычное состояние или нет ?... У меня так получается, навожу на кнопку - вид меняется, отвожу мышку от кнопки - вид не изменяется назад :
а в скрипте про вчерашние кнопки - там должны они после отведения мышки возвращаться в обычное состояние или нет ? »
Конечно должны. Я так понял ты имеешь ввиду кнопку "Обзор". Если в с крипте скрыть InnerNotebook и OuterNotebook - будут работать нормально.
svensoft
28-01-2010, 01:55
Я так понял ты имеешь ввиду кнопку "Обзор" »
Нет, у меня со всеми педальками такая проблема.. :( .. Сто пудово где-то я накосячил, а вот где , это вопрос. Посмотри пожайлуста, если есть свободное время.. Выше текст прикрепил..
Добавил :
А вот то, что ты сказал (InnerNotebook и OuterNotebook) - сделал их невидимыми и правда все заработало, но у меня все кнопки не работали, не только "Обзор". Но после скрытия InnerNotebook и OuterNotebook)у меня фоновая картинка исчезла вместе с кнопкой "Обзор" в форме..
YURSHAT, большое спасибо за помощь
А вот то, что ты сказал (InnerNotebook и OuterNotebook) - сделал их невидимыми и правда все заработало, но у меня все кнопки не работали, не только "Обзор". Но после скрытия InnerNotebook и OuterNotebook)у меня фоновая картинка исчезла вместе с кнопкой "Обзор" в форме.. »
Посмотри как это сделано в Vista Lite Skin (я выкладывал этот скриптик пару страниц назад) Там картинка вставлена при скрытых InnerNotebook и OuterNotebook.
ЗЫ. Вообще если делать по-нормальному (вставлять картинку в окно инсталла) то InnerNotebook и OuterNotebook нужно скрывать полюбому.
YURSHAT, в windows 7 в низу когда установшик работает есть иконка если нажать установшик сворачивается что можно сделать чтобы там тоже нельзя было сверуть
YURSHAT, ты немог бы поправить скрипт Call of Duty(R) - World at War + 2 DiskPromts 1.0 http://upwap.ru/727988
Этот скипт работает FreeArc+Precomp+2DiskPromts проблема в том после FreeArc как распаковал перед precomp вылетает 2-3секунды 4 процессбара а потом вроде все нормально
YURSHAT, в windows 7 в низу когда установшик работает есть иконка если нажать установшик сворачивается что можно сделать чтобы там тоже нельзя было сверуть »
очень странное желание - сделать невозможность свернуть установщик. ты случайно не ту дрянь пыташься написать, которая денег просит за смс? если нет, то все равно не понятно. заставлять пользователя пялится на твой инсталл все то время пока идет установка это знаешь ли перебор
ЗЫ еще есть кнопка "свернуть все окна", еще есть Alt+Tab, еще есть Ctrl+Alt+Del и т.д., вобщем много способов убрать твой инсталл с экрана. все их можно обойти, но я тебе в этом не помощник, т.к. это не правильно
South, нет я не пытаюсь написать ту дрянь для смс потому что я не могу решить проблему с процесс баром когда сворачиваеш установшик и разворачиваеш проблема с процесс баром он белый решить не как потом что идет распаковка precomp потому что precomp потребляет много оперативной памяти вот почему я хочу сделать чтобы его нельзя было свернуть
South, нет я не пытаюсь написать ту дрянь для смс потому что я не могу решить проблему с процесс баром когда сворачиваеш установшик и разворачиваеш проблема с процесс баром он белый решить не как потом что идет распаковка precomp потому что precomp потребляет много оперативной памяти вот почему я хочу сделать чтобы его нельзя было свернуть »
тогда вопрос нужно ставить по другому - как обновить прогрессбар?
при такой постановке задачи нужно естественно смотреть скрипт. я не буду обещать что помогу, т.к. не работал с прекомпом (могу только предположить, что это распаковщик). все зависит от того как он работает. если у распаковщика есть callback-функция, то в ней нужно обновлять прогрессбар, если нету или она редко вызывается, то правильнее будет обратиться к разработчику прекомпа, чтобы он это дело исправил
svensoft
28-01-2010, 15:02
Посмотри как это сделано в Vista Lite Skin (я выкладывал этот скриптик пару страниц назад) Там картинка вставлена при скрытых InnerNotebook и OuterNotebook.
ЗЫ. Вообще если делать по-нормальному (вставлять картинку в окно инсталла) то InnerNotebook и OuterNotebook нужно скрывать полюбому. »
YURSHAT, посмотрел, но там одна картинка для всех страниц. А можно сделать так, чтобы для каждой страницы своя фоновая картинка, и кнопки чтобы в трех положениях нормально работали (включая и "Обзор") ?..
Добавил :
Все, вопрос снят с повестки дня, разобрался ... Правда весь скрипт придется переделывать практически с нуля ...
YURSHAT, спасибо !!!
svensoft, вот
#define MyAppName "My Program"
[Setup]
AppId={{1D0BAE20-BB22-4540-BBC7-E7531009F9BF}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.example.com/
AppSupportURL=http://www.example.com/
AppUpdatesURL=http://www.example.com/
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
DisableReadyPage=True
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[CustomMessages]
russian.Welcome1=Вас приветствует Мастер установки игры
russian.Welcome2=Программа установит игру {#MyAppName} на Ваш компьютер.%n%nРекомендуется закрыть антивирусные пакеты, а также все прочие приложения перед тем, как продолжить.%n%nНажмите «Далее», чтобы продолжить, или «Отмена», чтобы выйти из программы установки.
russian.Space=Доступно места на диске:
russian.Space1=Требуется места на диске:
russian.Status=Пожалуйста, подождите, пока игра установится на Ваш компьютер.
russian.DescrLbl1=В какую папку Вы хотите установить {#MyAppName}?
russian.Language=Выберите язык игры
russian.StartMenuLbl=Нажмите «Установить», чтобы продолжить. Если Вы хотите выбрать другую папку, нажмите «Обзор».
russian.Finished1=Установка игры {#MyAppName} успешно завершена.
russian.Finished2=Игра {#MyAppName} была успешно установлена на Ваш компьютер. Для ее запуска выберите соответствующий ярлык в меню «Пуск» или ярлык на Рабочем столе.
russian.Finished3=Нажмите «Завершить», чтобы выйти из программы установки.
russian.DirectX=Обновить DirectX
russian.DirectXInstall=Идет обновление DirectX...
russian.Icons=Добавить ярлык на Рабочий стол
russian.Uninstall=Удалить {#MyAppName}
[Files]
Source: 1.bmp; DestDir: {tmp}
[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
[Code]
var
IconsLabel, NoIconsLabel, DirectXLabel, GroupLabel,
SelectDirLabel, SelectDirBrowseLabel,
PageNameLabel1, PageNameLabel2, PageNameLabel3,
PageDescriptionLabel1, PageDescriptionLabel2, PageDescriptionLabel3,
StatusLabel, FilenameLabel, NeedSpaceLabel,FreeSpaceLabel,
WelcomeLabel1, WelcomeLabel2,FinishedLabel, FinishedHeadingLabel,
SelectStartMenuFolderLabel, SelectStartMenuFolderBrowseLabel, ReadyLabel, NoIconsLabel: TLabel;
DirectX, Icons, NoIconsCheck, Group: TCheckBox;
NeedSize:Integer;
FreeMB, TotalMB: Cardinal;
BmpFile: TBitmapImage;
function InstallDirectX: Boolean;
begin
Result:= DirectX.Checked;
end;
function CreateIcons: Boolean;
begin
Result:=Icons.Checked;
end;
function GroupIcons: Boolean;
begin
Result:=Group.Checked;
end;
procedure DirectXLabelOnClick(Sender: TObject);
begin
if DirectX.Checked = False then
DirectX.Checked:= True else
DirectX.Checked:= False;
end;
procedure IconsOnClick(Sender: TObject);
begin
if Icons.Checked = False then
Icons.Checked:= True else
Icons.Checked:= False;
end;
procedure CheckStartMenuOnClick(Sender: TObject);
begin
if WizardForm.NoIconsCheck.Checked then
begin
WizardForm.GroupEdit.Enabled := not (WizardForm.GroupEdit.Enabled);
WizardForm.GroupBrowseButton.Enabled := False;
end else
begin
WizardForm.GroupEdit.Enabled := True;
WizardForm.GroupEdit.Enabled := WizardForm.GroupEdit.Enabled;
WizardForm.GroupBrowseButton.Enabled := True;
end;
end;
procedure CheckNoIconsCheck(Sender: TObject);
begin
if (WizardForm.NoIconsCheck.Checked = False) then
WizardForm.NoIconsCheck.Checked := True
else
WizardForm.NoIconsCheck.Checked := False;
end;
procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp');
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790);
BmpFile.Height:= ScaleY(533);
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.WelcomePage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790);
BmpFile.Height:= ScaleY(533);
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.SelectDirPage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790);
BmpFile.Height:= ScaleY(533);
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.SelectProgramGroupPage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790);
BmpFile.Height:= ScaleY(533);
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.InstallingPage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790);
BmpFile.Height:= ScaleY(533);
BmpFile.Stretch:= true
BmpFile.Parent:= WizardForm.FinishedPage;
WizardForm.ClientWidth:=ScaleX(790);
WizardForm.ClientHeight:=ScaleY(533);
WizardForm.Font.Color:=$ffffff;
WizardForm.Center;
with WizardForm do
begin
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
DiskSpaceLabel.Hide;
SelectDirBitmapImage.Hide;
SelectDirBrowseLabel.Hide;
SelectDirLabel.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
MainPanel.Hide;
FilenameLabel.Hide;
StatusLabel.Hide;
SelectStartMenuFolderLabel.Hide;
SelectStartMenuFolderBrowseLabel.Hide;
ReadyLabel.Hide;
end;
with WizardForm do
begin
InnerNotebook.Left := ScaleX(0);
InnerNotebook.Top := ScaleY(0);
InnerNotebook.Width := ScaleX(790);
InnerNotebook.Height := ScaleY(533);
OuterNotebook.Left := ScaleX(0);
OuterNotebook.Top := ScaleY(0);
OuterNotebook.Width := ScaleX(790);
OuterNotebook.Height := ScaleY(533);
end;
//Скрывем стандартные надписи, значки и чекбоксы=
with WizardForm do
begin
DirBrowseButton.Left:=DirBrowseButton.Left + ScaleX(40); //Местоположение кнопки "Обзор" от левого края, на странице выбора пути установки
DirBrowseButton.Top:=DirBrowseButton.Top + ScaleY(72); //Местоположение кнопки "Обзор" сверху, на странице выбора пути установки
DirEdit.Left:=DirEdit.Left + ScaleX(40); //Местоположение панели, где отображается путь от левого края, на странице выбора пути установки
DirEdit.Top:=DirEdit.Top + ScaleY(72); //Местоположение панели, где отображается путь сверху, на странице выбора пути установки
GroupBrowseButton.Left:=GroupBrowseButton.Left + ScaleX(40); //Местоположение кнопки "Обзор" от левого края, на странице создания ярлыков в Главном Меню
GroupBrowseButton.Top:=GroupBrowseButton.Top + ScaleY(72); //Местоположение кнопки "Обзор" сверху, на странице создания ярлыков в Главном Меню
GroupEdit.Left:=GroupEdit.Left + ScaleX(40); //Местоположение панели, где отображается путь от левого края, на странице создания ярлыков в Главном Меню
GroupEdit.Top:=GroupEdit.Top + ScaleX(72); //Местоположение панели, где отображается путь сверху, на странице создания ярлыков в Главном Меню
GroupEdit.Color:=ClBlack //Цвет панели, где отображается путь, на странице создания ярлыков в Главном Меню
NextButton.BringToFront; //Выносим на передний план кнопки=
BackButton.BringToFront; //Выносим на передний план кнопки=
CancelButton.BringToFront; //Выносим на передний план кнопки=
Font.Style:=[]; //Стиль шрифта, используемого в инсталляторе
Font.Name:='MS Sans Serif'; //Имя шрифта, используемого в инсталляторе
DirEdit.Color:=clBlack; //Цвет панели, где отображается путь, на странице выбора пути установки
Font.Color:=clWhite; //Цвет шрифта, используемого в инсталляторе
ProgressGauge.Top:=ScaleY(120); //Местоположение Прогресс-бара сверху
ProgressGauge.Left:=ScaleX(20); //Местоположение Прогресс-бара от левого края
ProgressGauge.Width:=ScaleX(457); //Ширина Прогресс-бара
ReadyMemo.Left:=ScaleX(40); //Местоположение сверху панели где отображаются данные выбранных компонентов, на странице готовности установки
ReadyMemo.Top:=WizardForm.ReadyMemo.Top + ScaleY(72) //Цвет шрифта в панели где отображаются данные выбранных компонентов, на странице готовности установки
ReadyMemo.Font.Color:=clBlack; //Стиль панели где отображаются данные выбранных компонентов, на странице готовности установки. Без скроллов - ssNone, с вертикальным скроллом - ssVertial, с горизонтальным скроллом - ssHorizontal, и со всеми скроллами - просто уберите эту строчку или ssBoth
ReadyMemo.ScrollBars:=ssVertical; //ssNone
NextButton.Left:=NextButton.Left + ScaleX(255);
NextButton.top:=NextButton.top + ScaleX(160);
BackButton.Left:=BackButton.Left + ScaleX(250);
BackButton.top:=BackButton.top + ScaleX(160);
CancelButton.Left:=CancelButton.Left + ScaleX(250);
CancelButton.top:=CancelButton.top + ScaleX(160);
DirBrowseButton.BringToFront;
DirBrowseButton.Left:=DirBrowseButton.Left + ScaleX(280);
GroupBrowseButton.Left:=GroupBrowseButton.Left + ScaleX(280);
GroupBrowseButton.BringToFront;
end;
////////////////////// WelcomePage //////////////////////
WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do
begin
Left:= ScaleX(70);
Top:= ScaleY(180);
Width:= ScaleX(650);
Height:= ScaleY(65);
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 16;
Font.Color:=ClWhite;
Font.Style := [fsBold];
Parent:= WizardForm.WelcomePage;
Caption:= ExpandConstant('{cm:Welcome1}')+#13+('{#MyAppName}');
end;
WelcomeLabel2:=TLabel.Create(WizardForm);
with WelcomeLabel2 do
begin
Top:= ScaleY(270);
Left:= ScaleX(70);
Width:= ScaleX(650);
Height:= ScaleY(200);
AutoSize:= false;
WordWrap:= true;
Font.Name:= 'Georgia';
Font.Size:= 11
Font.Style := [fsBold, fsItalic];
Font.Color:=ClWhite;
Transparent:= true;
Parent:= WizardForm.WelcomePage;
Caption:= ExpandConstant('{cm:Welcome2}');
end;
////////////////////// WelcomePage //////////////////////
////////////////////// SelectDirPage //////////////////////
PageNameLabel1:= TLabel.Create(WizardForm);
with PageNameLabel1 do
begin
Left:= ScaleX(65);
Top:= ScaleY(185);
Width:= ScaleX(300);
Height:= ScaleY(30);
AutoSize:= False;
Font.Name:= 'Georgia'
Font.Size:= 13;
Font.Style:= [fsBold];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.SelectDirPage;
end;
PageDescriptionLabel1:= TLabel.Create(WizardForm);
with PageDescriptionLabel1 do
begin
Left:=ScaleX(95);
Top:= ScaleY(215);
Width:= ScaleX(600);
Height:= ScaleY(50);
AutoSize:= False;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Wordwrap:= True;
Transparent := True;
Parent:= WizardForm.SelectDirPage;
end;
SelectDirBrowseLabel:= TLabel.Create(WizardForm);
with SelectDirBrowseLabel do
begin
Caption:= WizardForm.SelectDirBrowseLabel.Caption;
Left:= ScaleX(120);
Top:= ScaleY(250);
Width:= ScaleX(600);
Height:= ScaleY(50);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent:= True;
Parent:= WizardForm.SelectDirPage;
end;
with WizardForm do
begin
DirBrowseButton.Top:= ScaleY(305);
DirEdit.Left:= ScaleX(120);
DirEdit.Top:= ScaleY(305);
DirEdit.Width:= ScaleX(460);
DirEdit.Font.Size:= 9;
DirEdit.Font.Style:= [fsBold, fsItalic];
DirEdit.Font.Name:= 'Georgia'
end;
DirectX:= TCheckBox.Create(WizardForm);
with DirectX do
begin
Parent:= WizardForm.SelectDirPage;
Left:= ScaleX(65);
Top:= ScaleY(340);
Width:= ScaleX(14);
Height:= ScaleY(14);
TabOrder:= 0;
Checked:= False;
end;
DirectXLabel:= TLabel.Create(WizardForm);
with DirectXLabel do
begin
Caption:= ExpandConstant('{cm:DirectX}');
Left:= ScaleX(90);
Top:= ScaleY(340);
Width:= ScaleX(150);
Height:= ScaleY(13);
Font.Name:= 'Georgia';
Font.Size:= 8;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.SelectDirPage;
OnClick:= @DirectXLabelOnClick;
end;
Icons:= TCheckBox.Create(WizardForm);
with Icons do
begin
Parent:= WizardForm.SelectDirPage;
Left:= ScaleX(65);
Top:= ScaleY(360);
Width:= ScaleX(14);
Height:= ScaleY(14);
TabOrder:= 2;
Checked:= False;
end;
IconsLabel:= TLabel.Create(WizardForm);
with IconsLabel do
begin
Caption:=ExpandConstant('{cm:Icons}');
Left:= ScaleX(90);
Top:= ScaleY(360);
Width:= ScaleX(150);
Height:= ScaleY(13);
Font.Name:= 'Georgia';
Font.Size:= 8;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.SelectDirPage;
OnClick:= @IconsOnClick;
end;
NeedSpaceLabel:= TLabel.Create(WizardForm);
with NeedSpaceLabel do
begin
Parent:= WizardForm.SelectDirPage;
Left:= ScaleX(65);
Top:= ScaleY(420);
Width:= ScaleX(209);
Height:= ScaleY(13);
Font.Name:= 'Georgia';
Font.Size:= 8;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent:= True;
end;
FreeSpaceLabel:= TLabel.Create(WizardForm);
with FreeSpaceLabel do
begin
Parent:= WizardForm.SelectDirPage;
Left:= ScaleX(65);
Top:= ScaleY(440);
Width:= ScaleX(209);
Height:= ScaleY(13);
Font.Name:= 'Georgia';
Font.Size:= 8;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent:= True;
end;
////////////////////// SelectDirPage //////////////////////
////////////////////// ProgrammGroupPage //////////////////////
PageNameLabel2:= TLabel.Create(WizardForm);
with PageNameLabel2 do
begin
Left:= ScaleX(65);
Top:= ScaleY(185);
Width:= ScaleX(350);
Height:= ScaleY(30);
AutoSize:= False;
Font.Name:= 'Georgia';
Font.Size:= 13;
Font.Style:= [fsBold];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.SelectProgramGroupPage;
end;
PageDescriptionLabel2:= TLabel.Create(WizardForm);
with PageDescriptionLabel2 do
begin
Left:=ScaleX(95);
Top:= ScaleY(215);
Width:= ScaleX(600);
Height:= ScaleY(50);
AutoSize:= False;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Wordwrap:= True;
Transparent := True;
Parent:= WizardForm.SelectProgramGroupPage;
end;
SelectStartMenuFolderBrowseLabel:=TLabel.Create(WizardForm)
with SelectStartMenuFolderBrowseLabel do
begin
Left:= ScaleX(120);
Top:= ScaleY(250);
Width:= ScaleX(600);
Height:= ScaleY(50);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia';
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
WordWrap:=True
Transparent:=True
Caption:=ExpandConstant('{cm:StartMenuLbl}')
Parent:=WizardForm.SelectProgramGroupPage
end;
WizardForm.NoIconsCheck.Show;
WizardForm.NoIconsCheck.Left := ScaleX(65);
WizardForm.NoIconsCheck.Top := ScaleY(440);
WizardForm.NoIconsCheck.Width := ScaleX(13);
WizardForm.NoIconsCheck.Height := ScaleY(13);
WizardForm.NoIconsCheck.OnClick := @CheckStartMenuOnClick;
WizardForm.NoIconsCheck.Parent := WizardForm.SelectProgramGroupPage;
NoIconsLabel:= TLabel.Create(WizardForm);
with NoIconsLabel do
begin
Caption:=WizardForm.NoIconsCheck.Caption
Left:= ScaleX(90);
Top:= ScaleY(440);
Width:= ScaleX(150);
Height:= ScaleY(13);
Font.Name:= 'Georgia';
Font.Size:= 8;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.SelectProgramGroupPage
OnClick := @CheckNoIconsCheck;
end;
with WizardForm do
begin
GroupEdit.Left:= ScaleX(120);
GroupEdit.Top:= ScaleY(305);
GroupEdit.Width:= ScaleX(460);
GroupEdit.Font.Size:=9
GroupEdit.Font.Style:= [fsBold, fsItalic];
GroupEdit.Font.Name:= 'Georgia'
GroupBrowseButton.Top:= ScaleY(305);
end;
////////////////////// ProgrammGroupPage //////////////////////
////////////////////// InstallingPage //////////////////////
PageNameLabel3:= TLabel.Create(WizardForm);
with PageNameLabel3 do
begin
Left:= ScaleX(65);
Top:= ScaleY(185);
Width:= ScaleX(150);
Height:= ScaleY(20);
AutoSize:= False;
Font.Name:= 'Georgia';
Font.Size:= 13;
Font.Style:= [fsBold];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;
StatusLabel:= TLabel.Create(WizardForm);
with StatusLabel do
begin
Left:=ScaleX(95);
Top:= ScaleY(215);
Width:= ScaleX(600);
Height:= ScaleY(50);
AutoSize:= False;
Font.Name:= 'Georgia';
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.InstallingPage;
Caption:= ExpandConstant('{cm:Status}')
end;
FilenameLabel:= TLabel.Create(WizardForm);
with FilenameLabel do
begin
Left:= ScaleX(65);
Top:= ScaleY(275);
Width:= ScaleX(625);
Height:= ScaleY(20);
AutoSize:= False;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;
with WizardForm do
begin
ProgressGauge.Top:=ScaleY(310);
ProgressGauge.Left:=ScaleX(100);
ProgressGauge.Width:=ScaleX(590);
end;
////////////////////// InstallingPage //////////////////////
////////////////////// FinishedPage //////////////////////
FinishedHeadingLabel:=TLabel.Create(WizardForm);
with FinishedHeadingLabel do
begin
Left:= ScaleX(70);
Top:= ScaleY(180);
Width:= ScaleX(650);
Height:= ScaleY(65)
AutoSize:= false;
Alignment := taCenter;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 16;
Font.Color:=ClWhite;
Font.Style := [fsBold];
Transparent:= true;
Parent:= WizardForm.FinishedPage;
Caption:= ExpandConstant('{cm:Finished1}');
end;
FinishedLabel:= TLabel.Create(WizardForm);
with FinishedLabel do
begin
Top:= ScaleY(270);
Left:= ScaleX(70);
Width:= ScaleX(650);
Height:= ScaleY(200);
AutoSize:= false;
WordWrap:= true;
Font.Name:= 'Georgia'
Font.Size:= 11;
Font.Style := [fsBold, fsItalic];
Font.Color:=ClWhite;
Transparent:= true;
Parent:= WizardForm.FinishedPage;
Caption:= ExpandConstant('{cm:Finished2}')+#13#13+ExpandConstant('{cm:Finished3}');
end;
end;
////////////////////// FinishedPage //////////////////////
procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel1.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel1.Caption:= WizardForm.PageDescriptionLabel.Caption;
PageNameLabel2.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel2.Caption:= WizardForm.PageDescriptionLabel.Caption;
PageNameLabel3.Caption:= WizardForm.PageNameLabel.Caption;
if CurPageID=wpSelectProgramGroup then
begin
If WizardForm.FindComponent('NextButton') is TButton
then
TButton(WizardForm.FindComponent('NextButton')).Caption:='Установить';
end;
end;
Правда весь скрипт придется переделывать практически с нуля ... »
Придется, но так будет намного лучше...
svensoft
28-01-2010, 16:11
vint56, спасибо за инфу !!!
YURSHAT, в windows 7 в низу когда установшик работает есть иконка если нажать установшик сворачивается что можно сделать чтобы там тоже нельзя было сверуть »
очень странное желание - сделать невозможность свернуть установщик. ты случайно не ту дрянь пыташься написать, которая денег просит за смс? если нет, то все равно не понятно. заставлять пользователя пялится на твой инсталл все то время пока идет установка это знаешь ли перебор »
vint56, я полностью согласен с учителем :wink: (South, ). Ты выбрал заведомо неправильный подход к решению проблемы. Тебе нужно пытатся довести прогресс-бар до ума, а не пытатся как-то скрыть этот баг ибо это неправильно!.
ЗЫ. windows 7 видел только на скринах :).
YURSHAT, вот в чем проблема вот скрины если можеш помоги это проблема возникает только когда сворачиваеш и разворачиваеш если не трогать установшик то нормально
1 скрин http://s002.radikal.ru/i197/1001/5f/bad31567c5dd.jpg
2 скрин http://i059.radikal.ru/1001/fd/50007799f5c2.jpg
Два вопросика:
Команда для того чтобы создался ярлык после установки и он появился с иконкой.
Команда для для того чтобы во время установки из архива он установил допустим directx
Sotonisto
28-01-2010, 18:21
Команда для того чтобы создался ярлык после установки и он появился с иконкой. »
Чет не понял вопрос. Если тебе нужен ярлык на рабочий стол то вот (ну это если я правильно понял):
[Icons]
Name: "{commondesktop}\Имя файла (например Resident Evil)"; Filename: "{app}\файл запуска.exe"; Tasks: desktopicon
Команда для для того чтобы во время установки из архива он установил допустим directx »
Директ можно установить и без всякого копиpования. Просто нужно что бы он находился в одной директории с инсталлятором (например в одном образе).
[Run]
Filename: {src}\путь к файлу\файл запуска DirectX.exe; WorkingDir: {src}\название папки DirectX; Parameters: /silent; StatusMsg: "Обновление DirectX..."; Flags: waituntilterminated
Например:
[Run]
Filename: {src}\redist\dxsetup.exe; WorkingDir: {src}\redist; Parameters: /silent; StatusMsg: "Обновление DirectX..."; Flags: waituntilterminated
----
vint56, я использую почти такой же инсталл и у меня все нормально. Возможно ты слишком нагрузил инсталл?
Попробуй использовать прогресс бар и кнопки от скина, а не свои.
А как мне сделать чтобы создался ярлык если у меня при установке идёт распаковка файлов freearc
И файл запуска внутри
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC