Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]
Gamattinol
25-02-2016, 13:18
Как это исправить ?
Dodakaedr
25-02-2016, 13:39
Как это исправить ? »
Откуда я знаю что вы там написали, скриншот то даже не с моего примера.
Gamattinol
25-02-2016, 13:45
Откуда я знаю что вы там написали, скриншот то даже не с моего примера. »
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{11852012-EB17-4CF3-A873-BB154995AD34}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Code]
var
NewGroupBox: TNewGroupBox;
procedure InitializeWizard();
begin
NewGroupBox := TNewGroupBox.Create(WizardForm);
with NewGroupBox do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(100);
Width := ScaleX(417);
Height := ScaleY(60);
Caption := 'Папка установки:';
end;
NewGroupBox.TabOrder := 5;
with WizardForm.DirBrowseButton do
begin
Left := ScaleX(334);
Top := ScaleY(23);
Parent := NewGroupBox;
end;
with WizardForm.DirEdit do
begin
Left := ScaleX(8);
Top := ScaleY(24);
Width := ScaleX(320);
Parent := NewGroupBox;
end;
end;
Как исправить ?
В коде ничего не трогал !
Скриншот - это мой,показываю что ничего не происходит от вашего кода!
Dodakaedr
25-02-2016, 13:49
Как исправить ?
В коде ничего не трогал ! »
добавьте procedure InitializeWizard();
begin
RedesignWizardForm;
end;
Как исправить ?»
Там нечего исправлять, пример рабочий. Вероятно, Вы где-то допустили ошибку.
[code]
const
STR_TBOX = #32'Папка установки:'#32;
procedure _CtrlsEdit();
var
_tBox: TNewGroupBox;
begin
with WizardForm do
begin
_tBox := TNewGroupBox.Create( nil );
with _tBox do
begin
Parent := SelectDirPage;
SetBounds( ScaleX( 0 ), ScaleY( 100 ), ScaleX( 417 ), ScaleY( 60 ) );
Caption := STR_TBOX;
end;
with DirBrowseButton do
begin
Left := ScaleX( 334 );
Top := ScaleY( 23 );
Parent := _tBox;
end;
with DirEdit do
begin
Left := ScaleX( 8 );
Top := ScaleY( 24 );
Width := ScaleX( 320 );
Parent := _tBox;
end;
end;
end;
procedure InitializeWizard();
begin
_CtrlsEdit();
end;
Gamattinol
25-02-2016, 15:17
http://pixs.ru/showimage/Snimokekra_8039494_20838132.png
Как подогнать чтобы было как на картинке ?
Больше не получается подогнать компонент и "caption" не знаю как там сделать !
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{11852012-EB17-4CF3-A873-BB154995AD34}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Code]
var
Bevel2: TBevel;
procedure RedesignWizardForm;
begin
{ Bevel2 }
Bevel2 := TBevel.Create(WizardForm);
with Bevel2 do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(135);
Width := ScaleX(418);
Height := ScaleY(50);
Shape := bsFrame;
end;
with WizardForm.DirBrowseButton do
begin
Top := ScaleY(150);
Width := ScaleX(65);
end;
with WizardForm.DirEdit do
begin
Left := ScaleX(15);
Top := ScaleY(150);
Width := ScaleX(315);
end;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
Как подогнать »
Выставляйте нужные значения:
Left := ScaleX( положение контрола от левой границы );
Top := ScaleY( положение контрола от верхней границы );
Width := ScaleX( ширина контрола );
Height := ScaleY( высота контрола );
Тоже самое, только одной строкой:
SetBounds( ScaleX( от левой границы ), ScaleY( от верхней границы ), ScaleX( ширина ), ScaleY( высота ) );
"caption" не знаю как там сделать »
[code]
const
STR_TXT = #32'Папка установки:'#32;
procedure _CtrlsEdit();
begin
with WizardForm do
begin
with TBevel.Create( nil ) do
begin
Parent := SelectDirPage;
SetBounds( ScaleX( 0 ), ScaleY( 115 ), ScaleX( 418 ), ScaleY( 50 ) );
Shape := bsFrame;
end;
with TNewStaticText.Create( nil ) do
begin
Parent := SelectDirPage;
Left := ScaleX( 8 );
Top := ScaleY( 108 );
AutoSize := True;
Caption := STR_TXT;
end;
with DirBrowseButton do
begin
Top := ScaleY( 130 );
Width := ScaleX( 65 );
end;
with DirEdit do
begin
Left := ScaleX( 15 );
Top := ScaleY( 130 );
Width := ScaleX( 315 );
end;
end;
end;
procedure InitializeWizard();
begin
_CtrlsEdit();
end;
Gamattinol
25-02-2016, 18:40
[code]
const
STR_TXT = #32'Папка установки:'#32;
procedure _CtrlsEdit();
begin
with WizardForm do
begin
with TBevel.Create( nil ) do
begin
Parent := SelectDirPage;
SetBounds( ScaleX( 0 ), ScaleY( 115 ), ScaleX( 418 ), ScaleY( 50 ) );
Shape := bsFrame;
end;
with TNewStaticText.Create( nil ) do
begin
Parent := SelectDirPage;
Left := ScaleX( 8 );
Top := ScaleY( 108 );
AutoSize := True;
Caption := STR_TXT;
end;
with DirBrowseButton do
begin
Top := ScaleY( 130 );
Width := ScaleX( 65 );
end;
with DirEdit do
begin
Left := ScaleX( 15 );
Top := ScaleY( 130 );
Width := ScaleX( 315 );
end;
end;
end;
procedure InitializeWizard();
begin
_CtrlsEdit();
end;
Полезное сообщение | Отправлено: 17:41, Сегодня | #1387 »
[Code]
const
STR_TXT = #32'Destination Folder'#32;
procedure _CtrlsEdit();
begin
with WizardForm do
begin
with TBevel.Create( nil ) do
begin
Parent := SelectDirPage;
SetBounds( ScaleX( 0 ), ScaleY( 125 ), ScaleX( 418 ), ScaleY( 50 ) );
Shape := bsFrame;
end;
with TNewStaticText.Create( nil ) do
begin
Parent := SelectDirPage;
Left := ScaleX( 13 );
Top := ScaleY( 118 );
AutoSize := True;
Caption := STR_TXT;
end;
with DirBrowseButton do
begin
Top := ScaleY( 137 );
Width := ScaleX( 85 );
end;
with DirEdit do
begin
Left := ScaleX( 15 );
Top := ScaleY( 139 );
Width := ScaleX( 315 );
end;
end;
end;
procedure InitializeWizard();
begin
_CtrlsEdit();
end;
Как убрать этот баг ?
http://pixs.ru/showimage/Snimokekra_1386538_20840618.png
Не знаю как эту рамку можно сделать шире
Как убрать этот баг ? »
Это не баг, просто вы увеличили размер кнопки.
В моем примере:
Width := ScaleX( 65 );
В Вашем:
Width := ScaleX( 85 );
Gamattinol
25-02-2016, 18:51
Это не баг, просто вы увеличили размер кнопки.
В моем примере: »
Все правильно я сделал больше кнопку!
Если сделать меньше будут кнопки по размеру отличаться,портится визуальный стиль!
Все правильно я сделал больше кнопку! »
Я так и сказал. Раз Вы увеличили кнопку, следовало учитывать, что размеры других контролов придется так же изменять: уменьшить размер DirEdit по ширине, сдвинуть кнопку влево, в частности.
Gamattinol
25-02-2016, 19:03
[Code]
const
STR_TXT = #32'Destination Folder'#32;
procedure _CtrlsEdit();
begin
with WizardForm do
begin
with TBevel.Create( nil ) do
begin
Parent := SelectDirPage;
SetBounds( ScaleX( 0 ), ScaleY( 125 ), ScaleX( 418 ), ScaleY( 50 ) );
Shape := bsFrame;
end;
with TNewStaticText.Create( nil ) do
begin
Parent := SelectDirPage;
Left := ScaleX( 13 );
Top := ScaleY( 118 );
AutoSize := True;
Caption := STR_TXT;
end;
with DirBrowseButton do
begin
Left := ScaleX( 315 );
Top := ScaleY( 137 );
Width := ScaleX( 85 );
end;
with DirEdit do
begin
Left := ScaleX( 15 );
Top := ScaleY( 139 );
Width := ScaleX( 290 );
end;
end;
end;
procedure InitializeWizard();
begin
_CtrlsEdit();
end;
Пока что только так получилось
Gamattinol
25-02-2016, 19:43
http://s014.radikal.ru/i329/1602/38/1b26df7a0245.png
SelectDirBrowseLabel
SelectDirLabel
Как переместить в нужное место эти компоненты (label) ?
Не знаю как эту рамку можно сделать шире »InnerNotebook:
with WizardForm.InnerNotebook do
begin
Left := ScaleX(0);
Width := ScaleX(499);
end;
Как переместить в нужное место эти компоненты (label) ?
procedure _CtrlsEdit();
begin
with WizardForm do
begin
with TBevel.Create( nil ) do
begin
Parent := SelectDirPage;
SetBounds( ScaleX( 0 ), ScaleY( 125 ), ScaleX( 418 ), ScaleY( 50 ) );
Shape := bsFrame;
end;
with TNewStaticText.Create( nil ) do
begin
Parent := SelectDirPage;
Left := ScaleX( 13 );
Top := ScaleY( 118 );
AutoSize := True;
Caption := STR_TXT;
end;
with DirBrowseButton do
begin
Left := ScaleX( 315 );
Top := ScaleY( 137 );
Width := ScaleX( 85 );
end;
with DirEdit do
begin
Left := ScaleX( 15 );
Top := ScaleY( 139 );
Width := ScaleX( 290 );
end;
with SelectDirBrowseLabel do
begin
Left := ScaleX(0);
Top := ScaleY(74);
Width := ScaleX(417);
Height := ScaleY(27);
end;
with SelectDirLabel do
begin
Left := ScaleX(44);
Top := ScaleY(39);
Width := ScaleX(373);
Height := ScaleY(14);
end;
end;
end;
vadjliss
28-02-2016, 16:09
парни , а как можно сделать что бы перед инсталляцией выскакивала рамка с предупреждением
как можно сделать что бы перед инсталляцией выскакивала рамка с предупреждением »
#define MyAppName "My Program"
#define MyAppVersion "1.5"
[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
[Code]
function NextButtonClick( CurPageID: Integer ): Boolean;
begin
case CurPageID of
wpReady: Result := ( mrYes = MsgBox( 'Продолжить?', mbConfirmation, MB_YESNO ) );
else Result := True;
end;
end;
Всем здравствуйте :) Подскажите пожалуйста, в чем может быть проблема. В установщиках, созданных через inno setup, не всегда появляется окно, где можно задавать путь установки, это окно пропускается и программа устанавливается принудительно, хотя я не задаю никаких параметров принудительной установки. Например, создала установщик, установила созданную программу, удалила ее, и при повторной установке уже нет окна, где можно выбрать путь установки. То есть каким то образом запоминается, куда я до этого устанавливала программу, и второй раз не появляется возможность выбора. Проблема еще в том, что часто создаю программы, которые бывают похожи по содержанию (например, одинаковые папки, похожие файлы .exe), так вот эти программы тоже начинают принудительно устанавливаться в одну папку. Подскажите пожалуйста, что можно сделать, чтобы не происходило таких принудительных установок и всегда можно было выбрать путь установки? Спасибо, очень надеюсь на ответ :help:
Irenis, значение директивы DisableDirPage в секции Setup, часом не auto?
Честно говоря, у меня такой директивы вообще нету :dont-know
Установщики самые простейшие, созданные через мастера создания установщика, который автоматически создает какой то скрипт, дальше уже сама просто вношу мелкие дополнения в скрипт.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.