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

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

Автор: SotM
Дата сообщения: 05.01.2009 20:27
support_star
Скачиваешь всё из шапки, смотришь и изучаешь. Если что не понятно, то в первую очередь ищешь по форуму. Тут благо много чего обсуждали.
Автор: VAnO_2
Дата сообщения: 06.01.2009 00:52
народ, сОс!!
помогите пжалста прикрутить коды к уже имеющимуся
[more=вот что есть]
#define MyAppName "Counter Strike Source"
#define MyAppVerName "Counter Strike Source 1.0.0.34"
#define MyAppPublisher "V@nO"
#define MyAppURL "http://war.aknet.kg/"
#define MyAppExeName "RUN_CSS.exe"

[Setup]
AppId={{31925E73-BD29-41B4-A153-FEA13EA6DDBB}
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=D:\Games\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=E:\installer
OutputBaseFilename=CSSv34
SetupIconFile=E:\installer\MAINICON.ico
Compression=zip
SolidCompression=true
DiskSpanning=true
DiskSliceSize=222457664
VersionInfoVersion=1.0.0.34
VersionInfoCompany=AKNET
UserInfoPage=true
ShowLanguageDialog=no
DirExistsWarning=no
WindowShowCaption=no
WindowResizable=true
WindowVisible=true
BackColor=$000000
WizardImageBackColor=$000000
WizardImageFile=Slate.bmp
WizardSmallImageFile=Slate.bmp

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[LangOptions]
LanguageName=Russian
LanguageID=$0419
LanguageCodePage=1251
DialogFontName=Tahoma
DialogFontSize=8
WelcomeFontName=Times New Roman
WelcomeFontSize=13
TitleFontName=Arial
TitleFontSize=29
CopyrightFontName=Arial
CopyrightFontSize=8

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Files]
Source: D:\Games\Counter Strike Source\RUN_CSS.exe; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Counter Strike Source2\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: background.bmp; DestDir: {tmp}; Flags: dontcopy

[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}
Name: {group}\{cm:ProgramOnTheWeb,{#MyAppName}}; Filename: {#MyAppURL}
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: quicklaunchicon

[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent

[Code]
Procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s:string;
begin
begin
ExtractTemporaryFile('background.bmp'); //My_Image.bmp - указываемое изображение в секции [Files]
s:=ExpandConstant('{tmp}')+'\background.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Align := alClient;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
end;
begin
WizardForm.Position:=poScreenCenter;
end;
with WizardForm do begin
Position:=poScreenCenter
ClientWidth:=690
ClientHeight:=496
Font.Color:=15389620
Font.Name:='MS Sans Serif'
Font.Style:=[]
with Bevel do begin
Left:=0
Top:=313
Width:=497
Height:=2
Visible:=False
end
with CancelButton do begin
Left:=580
Top:=464
Width:=90
Height:=25
BringToFront
end
with NextButton do begin
Left:=430
Top:=464
Width:=90
Height:=25
BringToFront
end
with BackButton do begin
Left:=330
Top:=464
Width:=90
Height:=25
BringToFront
end
with OuterNotebook do begin
Left:=0
Top:=0
Width:=690
Height:=496
with WelcomePage do begin
Color:=7891286
with WizardBitmapImage do begin
Left:=0
Top:=0
Width:=690
Height:=496
end
with WelcomeLabel2 do begin
Left:=205
Top:=230
Width:=465
Height:=200
end
with WelcomeLabel1 do begin
Left:=205
Top:=190
Width:=465
Height:=28
Font.Color:=15389620
Font.Size:=8
end
end
with InnerPage do begin
with Bevel1 do begin
Left:=0
Top:=58
Width:=499
Height:=3
Visible:=False
end
with InnerNotebook do begin
Left:=205
Top:=79
Width:=465
Height:=354
BringToFront
Color:=7891286
with LicensePage do begin
with LicenseNotAcceptedRadio do begin
Left:=0
Top:=338
Width:=465
Height:=17
Checked:=True
end
with LicenseAcceptedRadio do begin
Left:=0
Top:=318
Width:=465
Height:=17
end
with LicenseMemo do begin
Left:=0
Top:=38
Width:=465
Height:=266
ReadOnly:=True
ScrollBars:=ssVertical
end
with LicenseLabel1 do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with PasswordPage do begin
with PasswordEdit do begin
Left:=0
Top:=50
Width:=465
Height:=21
Font.Color:=clWindowText
end
with PasswordEditLabel do begin
Left:=0
Top:=34
Width:=465
Height:=14
end
with PasswordLabel do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with InfoBeforePage do begin
with InfoBeforeMemo do begin
Left:=0
Top:=24
Width:=465
Height:=327
ScrollBars:=ssVertical
end
with InfoBeforeClickLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with UserInfoPage do begin
with UserInfoSerialEdit do begin
Left:=0
Top:=120
Width:=465
Height:=21
Font.Color:=clWindowText
end
with UserInfoSerialLabel do begin
Left:=0
Top:=104
Width:=465
Height:=14
end
with UserInfoOrgEdit do begin
Left:=0
Top:=68
Width:=465
Height:=21
Font.Color:=clWindowText
end
with UserInfoOrgLabel do begin
Left:=0
Top:=52
Width:=465
Height:=14
end
with UserInfoNameEdit do begin
Left:=0
Top:=16
Width:=465
Height:=21
Font.Color:=clWindowText
end
with UserInfoNameLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectDirPage do begin
with SelectDirBitmapImage do begin
Left:=0
Top:=0
Width:=32
Height:=32
Visible:=False
end
with DiskSpaceLabel do begin
Left:=0
Top:=340
Width:=465
Height:=14
end
with DirBrowseButton do begin
Left:=375
Top:=288
Width:=90
Height:=25
end
with DirEdit do begin
Left:=0
Top:=290
Width:=365
Height:=21
Font.Color:=clWindowText
end
with SelectDirBrowseLabel do begin
Left:=0
Top:=24
Width:=465
Height:=28
end
with SelectDirLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectComponentsPage do begin
with ComponentsDiskSpaceLabel do begin
Left:=0
Top:=340
Width:=417
Height:=14
end
with ComponentsList do begin
Left:=0
Top:=48
Width:=465
Height:=275
Font.Color:=15389620
Color:=7891286
end
with TypesCombo do begin
Left:=0
Top:=24
Width:=465
Height:=21
Font.Color:=15389620
Color:=7891286
end
with SelectComponentsLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectProgramGroupPage do begin
with SelectGroupBitmapImage do begin
Left:=0
Top:=0
Width:=32
Height:=32
Visible:=False
end
with NoIconsCheck do begin
Left:=0
Top:=337
Width:=465
Height:=17
end
with GroupBrowseButton do begin
Left:=375
Top:=288
Width:=90
Height:=25
end
with GroupEdit do begin
Left:=0
Top:=290
Width:=365
Height:=21
Font.Color:=clWindowText
end
with SelectStartMenuFolderBrowseLabel do begin
Left:=0
Top:=24
Width:=465
Height:=28
end
with SelectStartMenuFolderLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectTasksPage do begin
with TasksList do begin
Left:=0
Top:=34
Width:=465
Height:=317
Color:=7891286
end
with SelectTasksLabel do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with ReadyPage do begin
with ReadyMemo do begin
Left:=0
Top:=34
Width:=465
Height:=317
Color:=7891286
end
with ReadyLabel do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with PreparingPage do begin
with PreparingErrorBitmapImage do begin
Left:=0
Top:=0
Width:=16
Height:=16
Visible:=False
end
with PreparingLabel do begin
Left:=24
Top:=0
Width:=393
Height:=14
Visible:=False
end
end
with InstallingPage do begin
with FilenameLabel do begin
Left:=0
Top:=16
Width:=465
Height:=16
end
with StatusLabel do begin
Left:=0
Top:=0
Width:=465
Height:=16
end
with ProgressGauge do begin
Left:=0
Top:=42
Width:=465
Height:=21
Min:=0
Max:=100
end
end
with InfoAfterPage do begin
with InfoAfterMemo do begin
Left:=0
Top:=24
Width:=465
Height:=327
ScrollBars:=ssVertical
end
with InfoAfterClickLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
end
with MainPanel do begin
Left:=0
Top:=0
Width:=690
Height:=496
Color:=clWindow
with WizardSmallBitmapImage do begin
Left:=0
Top:=0
Width:=690
Height:=496
BackColor:=clWindow
end
with PageDescriptionLabel do begin
Left:=25
Top:=25
Width:=500
Height:=14
Color:=9208939
Font.Color:=15389620
end
with PageNameLabel do begin
Left:=15
Top:=7
Width:=500
Height:=14
Color:=9208939
Font.Color:=15389620
end
end
end
with FinishedPage do begin
Color:=7891286
with WizardBitmapImage2 do begin
Left:=0
Top:=0
Width:=690
Height:=496
end
with NoRadio do begin
Left:=205
Top:=227
Width:=465
Height:=17
end
with YesRadio do begin
Left:=205
Top:=199
Width:=465
Height:=17
end
with RunList do begin
Left:=205
Top:=199
Width:=465
Height:=149
BorderStyle:=bsNone
end
with FinishedLabel do begin
Left:=205
Top:=119
Width:=465
Height:=53
end
with FinishedHeadingLabel do begin
Left:=205
Top:=79
Width:=465
Height:=24
Font.Color:=15389620
Font.Size:=8
end
end
end
with BeveledLabel do begin
Left:=10
Top:=468
Width:=150
Height:=14
Enabled:=False
Color:=6050633
end
end
end;
[/more]

а надо присобачить (пробовал поразному но ничего невышло ибо хз че не так делаю)

[more=сыльничек разноцветный]
procedure BevelLabelClick(Sender: TObject);
var ErrorCode: Integer;
begin
ShellExec('open','http://www.innosetup.com','', '', SW_SHOW, ewNoWait, ErrorCode)
end;

procedure InitializeWizard();
begin
with WizardForm do begin
with BeveledLabel do begin
OnClick:=@BevelLabelClick;
Font.Color:=clBlue;
Enabled:=True;
Cursor:=crHand;
end;
end;
end;
[/more]

[more=шкуру для кнопок]
[Files]
Source: button.bmp; DestDir: {tmp}; Flags: dontcopy

[Code]
const
ButtonWidth = 80; //Указываем размер кнопок
ButtonHeight = 23;

bidBack = 0;
bidNext = 1;
bidCancel = 2;
bidDirBrowse = 3;
bidGroupBrowse = 4;

var
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}\button.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:=23 //Указываем положение текста
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)
end;

procedure InitializeWizard();
begin
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('button.bmp')
LoadButtonImage(WizardForm.BackButton,bidBack)
LoadButtonImage(WizardForm.NextButton,bidNext)
LoadButtonImage(WizardForm.CancelButton,bidCancel)
LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
end;[/more]

и подскажите как можно натписи на бакграунде писать (копирайты, рекламу и т.д)

з.ы. я НЕ тупой, а только учусь
Автор: ZONE51
Дата сообщения: 06.01.2009 09:00
Народ скажите пожалуйста как в инно сетапе программно полностью отменить установку если один из компонентов не найден в системе? Спасибо
Автор: meceniystrelok
Дата сообщения: 06.01.2009 11:35
Здравствуйте...Я немного разбираюсь в программировании (правда только для СТАЛКЕРА)
подскажите нашел поиском вот это
[more]//function ReplaceLine(strFilename, strFind, strNewLine: String): Boolean;
//var
// strTemp : String;
// iLineCounter : Integer;
// a_strTextfile : TArrayOfString;
//
//begin
//
// LoadStringsFromFile(strFilename, a_strTextfile);
//
// for iLineCounter := 0 to GetArrayLength(a_strTextfile)-1 do
// begin
//
// if (Pos(strFind, a_strTextfile[iLineCounter]) > 0) then
// a_strTextfile[iLineCounter] := strNewLine;
// end;
[/more]
как мне его использовать???
надо в самой функции писать какой фаил и что в нем поправить или достаточно только
ReplaceLine(strFilename, strFind, strNewLine: String): Boolean
и туда вписать что поправить и где???.или поступим проще..просто я не знаю как выразится...если есть пример покажите????Очень прошу...и обьясните тупому как реестром щелкнуть путь до нужной мне программы/игры..спасибо
Автор: Serega0675
Дата сообщения: 06.01.2009 12:32
VAnO_2

Цитата:
помогите пжалста прикрутить коды к уже имеющимуся

[more=вот]#define MyAppName "Counter Strike Source"
#define MyAppVerName "Counter Strike Source 1.0.0.34"
#define MyAppPublisher "V@nO"
#define MyAppURL "http://war.aknet.kg/"
#define MyAppExeName "RUN_CSS.exe"

[Setup]
AppId={{31925E73-BD29-41B4-A153-FEA13EA6DDBB}
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=D:\Games\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=.
OutputBaseFilename=CSSv34
SetupIconFile=E:\installer\MAINICON.ico
Compression=zip
SolidCompression=true
DiskSpanning=true
DiskSliceSize=222457664
VersionInfoVersion=1.0.0.34
VersionInfoCompany=AKNET
UserInfoPage=true
ShowLanguageDialog=no
DirExistsWarning=no
WindowShowCaption=no
WindowResizable=true
WindowVisible=true
BackColor=$000000
WizardImageBackColor=$000000
WizardImageFile=Slate.bmp
WizardSmallImageFile=Slate.bmp

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[LangOptions]
LanguageName=Russian
LanguageID=$0419
LanguageCodePage=1251
DialogFontName=Tahoma
DialogFontSize=8
WelcomeFontName=Times New Roman
WelcomeFontSize=13
TitleFontName=Arial
TitleFontSize=29
CopyrightFontName=Arial
CopyrightFontSize=8

[Messages]
BeveledLabel=-= Installer © 2008 My Company, Inc. =-

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Files]
Source: D:\Games\Counter Strike Source\RUN_CSS.exe; DestDir: {app}; Flags: ignoreversion
Source: D:\Games\Counter Strike Source2\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: background.bmp; DestDir: {tmp}; Flags: dontcopy
Source: button.bmp; DestDir: {tmp}; Flags: dontcopy

[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}
Name: {group}\{cm:ProgramOnTheWeb,{#MyAppName}}; Filename: {#MyAppURL}
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: quicklaunchicon

[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent

[Code]
const
ButtonWidth = 80; //Указываем размер кнопок
ButtonHeight = 23;

bidBack = 0;
bidNext = 1;
bidCancel = 2;
bidDirBrowse = 3;
bidGroupBrowse = 4;

var
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}\button.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:=23 //Указываем положение текста
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)
end;

procedure BevelLabelClick(Sender: TObject);
var ErrorCode: Integer;
begin
ShellExec('open','http://www.innosetup.com','', '', SW_SHOW, ewNoWait, ErrorCode)
end;

Procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s:string;
begin
begin
ExtractTemporaryFile('background.bmp'); //My_Image.bmp - указываемое изображение в секции [Files]
s:=ExpandConstant('{tmp}')+'\background.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Align := alClient;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
end;
begin
WizardForm.Position:=poScreenCenter;
end;
with WizardForm do begin
Position:=poScreenCenter
ClientWidth:=690
ClientHeight:=496
Font.Color:=15389620
Font.Name:='MS Sans Serif'
Font.Style:=[]
with Bevel do begin
Left:=0
Top:=313
Width:=497
Height:=2
Visible:=False
end
with CancelButton do begin
Left:=580
Top:=464
Width:=90
Height:=25
BringToFront
end
with NextButton do begin
Left:=430
Top:=464
Width:=90
Height:=25
BringToFront
end
with BackButton do begin
Left:=330
Top:=464
Width:=90
Height:=25
BringToFront
end
with OuterNotebook do begin
Left:=0
Top:=0
Width:=690
Height:=496
with WelcomePage do begin
Color:=7891286
with WizardBitmapImage do begin
Left:=0
Top:=0
Width:=690
Height:=496
end
with WelcomeLabel2 do begin
Left:=205
Top:=230
Width:=465
Height:=200
end
with WelcomeLabel1 do begin
Left:=205
Top:=190
Width:=465
Height:=28
Font.Color:=15389620
Font.Size:=8
end
end
with InnerPage do begin
with Bevel1 do begin
Left:=0
Top:=58
Width:=499
Height:=3
Visible:=False
end
with InnerNotebook do begin
Left:=205
Top:=79
Width:=465
Height:=354
BringToFront
Color:=7891286
with LicensePage do begin
with LicenseNotAcceptedRadio do begin
Left:=0
Top:=338
Width:=465
Height:=17
Checked:=True
end
with LicenseAcceptedRadio do begin
Left:=0
Top:=318
Width:=465
Height:=17
end
with LicenseMemo do begin
Left:=0
Top:=38
Width:=465
Height:=266
ReadOnly:=True
ScrollBars:=ssVertical
end
with LicenseLabel1 do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with PasswordPage do begin
with PasswordEdit do begin
Left:=0
Top:=50
Width:=465
Height:=21
Font.Color:=clWindowText
end
with PasswordEditLabel do begin
Left:=0
Top:=34
Width:=465
Height:=14
end
with PasswordLabel do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with InfoBeforePage do begin
with InfoBeforeMemo do begin
Left:=0
Top:=24
Width:=465
Height:=327
ScrollBars:=ssVertical
end
with InfoBeforeClickLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with UserInfoPage do begin
with UserInfoSerialEdit do begin
Left:=0
Top:=120
Width:=465
Height:=21
Font.Color:=clWindowText
end
with UserInfoSerialLabel do begin
Left:=0
Top:=104
Width:=465
Height:=14
end
with UserInfoOrgEdit do begin
Left:=0
Top:=68
Width:=465
Height:=21
Font.Color:=clWindowText
end
with UserInfoOrgLabel do begin
Left:=0
Top:=52
Width:=465
Height:=14
end
with UserInfoNameEdit do begin
Left:=0
Top:=16
Width:=465
Height:=21
Font.Color:=clWindowText
end
with UserInfoNameLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectDirPage do begin
with SelectDirBitmapImage do begin
Left:=0
Top:=0
Width:=32
Height:=32
Visible:=False
end
with DiskSpaceLabel do begin
Left:=0
Top:=340
Width:=465
Height:=14
end
with DirBrowseButton do begin
Left:=375
Top:=288
Width:=90
Height:=25
end
with DirEdit do begin
Left:=0
Top:=290
Width:=365
Height:=21
Font.Color:=clWindowText
end
with SelectDirBrowseLabel do begin
Left:=0
Top:=24
Width:=465
Height:=28
end
with SelectDirLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectComponentsPage do begin
with ComponentsDiskSpaceLabel do begin
Left:=0
Top:=340
Width:=417
Height:=14
end
with ComponentsList do begin
Left:=0
Top:=48
Width:=465
Height:=275
Font.Color:=15389620
Color:=7891286
end
with TypesCombo do begin
Left:=0
Top:=24
Width:=465
Height:=21
Font.Color:=15389620
Color:=7891286
end
with SelectComponentsLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectProgramGroupPage do begin
with SelectGroupBitmapImage do begin
Left:=0
Top:=0
Width:=32
Height:=32
Visible:=False
end
with NoIconsCheck do begin
Left:=0
Top:=337
Width:=465
Height:=17
end
with GroupBrowseButton do begin
Left:=375
Top:=288
Width:=90
Height:=25
end
with GroupEdit do begin
Left:=0
Top:=290
Width:=365
Height:=21
Font.Color:=clWindowText
end
with SelectStartMenuFolderBrowseLabel do begin
Left:=0
Top:=24
Width:=465
Height:=28
end
with SelectStartMenuFolderLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
with SelectTasksPage do begin
with TasksList do begin
Left:=0
Top:=34
Width:=465
Height:=317
Color:=7891286
end
with SelectTasksLabel do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with ReadyPage do begin
with ReadyMemo do begin
Left:=0
Top:=34
Width:=465
Height:=317
Color:=7891286
end
with ReadyLabel do begin
Left:=0
Top:=0
Width:=465
Height:=28
end
end
with PreparingPage do begin
with PreparingErrorBitmapImage do begin
Left:=0
Top:=0
Width:=16
Height:=16
Visible:=False
end
with PreparingLabel do begin
Left:=24
Top:=0
Width:=393
Height:=14
Visible:=False
end
end
with InstallingPage do begin
with FilenameLabel do begin
Left:=0
Top:=16
Width:=465
Height:=16
end
with StatusLabel do begin
Left:=0
Top:=0
Width:=465
Height:=16
end
with ProgressGauge do begin
Left:=0
Top:=42
Width:=465
Height:=21
Min:=0
Max:=100
end
end
with InfoAfterPage do begin
with InfoAfterMemo do begin
Left:=0
Top:=24
Width:=465
Height:=327
ScrollBars:=ssVertical
end
with InfoAfterClickLabel do begin
Left:=0
Top:=0
Width:=465
Height:=14
end
end
end
with MainPanel do begin
Left:=0
Top:=0
Width:=690
Height:=496
Color:=clWindow
with WizardSmallBitmapImage do begin
Left:=0
Top:=0
Width:=690
Height:=496
BackColor:=clWindow
end
with PageDescriptionLabel do begin
Left:=25
Top:=25
Width:=500
Height:=14
Color:=9208939
Font.Color:=15389620
end
with PageNameLabel do begin
Left:=15
Top:=7
Width:=500
Height:=14
Color:=9208939
Font.Color:=15389620
end
end
end
with FinishedPage do begin
Color:=7891286
with WizardBitmapImage2 do begin
Left:=0
Top:=0
Width:=690
Height:=496
end
with NoRadio do begin
Left:=205
Top:=227
Width:=465
Height:=17
end
with YesRadio do begin
Left:=205
Top:=199
Width:=465
Height:=17
end
with RunList do begin
Left:=205
Top:=199
Width:=465
Height:=149
BorderStyle:=bsNone
end
with FinishedLabel do begin
Left:=205
Top:=119
Width:=465
Height:=53
end
with FinishedHeadingLabel do begin
Left:=205
Top:=79
Width:=465
Height:=24
Font.Color:=15389620
Font.Size:=8
end
end
end
with BeveledLabel do begin
Left:=10
Top:=468
Width:=150
Height:=14
Enabled:=False
Color:=6050633
end

begin
with WizardForm do begin
with BeveledLabel do begin
OnClick:=@BevelLabelClick;
Font.Color:=clBlue;
Enabled:=True;
Cursor:=crHand;
end;
end;

begin
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('button.bmp')
LoadButtonImage(WizardForm.BackButton,bidBack)
LoadButtonImage(WizardForm.NextButton,bidNext)
LoadButtonImage(WizardForm.CancelButton,bidCancel)
LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
end;
end
end;
end;
[/more]
Автор: meceniystrelok
Дата сообщения: 06.01.2009 13:04
и можно ли той функцией ,которую я нашел на форуме,изменить текст??? т.е. не добавить строчку а изменить???или только замена и добавление??просто допустим мне нужно всем строчкам приписать _2..возможно ли это???...заранее благодарен за ответы на все мои вопросы...
Автор: VAnO_2
Дата сообщения: 06.01.2009 14:17
Serega0675 Сыпасибо!
я аказца добовляя в процеДуру InitializeWizard ссылку и шкуру непрабельно ендовал


Цитата:
и подскажите как можно натписи на бакграунде писать (копирайты, рекламу и т.д)

в про это ничего нету, а может как обычно вижу фигу
Автор: Dermuin
Дата сообщения: 06.01.2009 18:22
Помогите ктонибудь, переделать скин InstallSheld Blue из колекции скриптов, чтоб при добавлении другой картинки вместо стандарной фон под текстом был прозрачным.


Автор: san007
Дата сообщения: 06.01.2009 22:01
LordVeider, спасибо. Окошко выдается, но при нажатии ОК или "крестика" инстал не закрывается, а наоборот, открывается окно "Вас приветствует Мастер установки бла-бла". Подскажите, как это побороть.

Может в этот код ещё нужно что-то вписать?

Цитата:

Код:
function InitializeSetup(): Boolean;
begin
if ExpandConstant('{sd}')<>'C:'
then
begin
MsgBox('Windows установлена не на диск С. Установка программы невозможна.', mbError, mb_Ok);
Exit;
end;
end; :
Автор: LordVeider
Дата сообщения: 07.01.2009 00:46
san007
Пофиксенный код:
Код: function InitializeSetup(): Boolean;
begin
if ExpandConstant('{sd}')<>'С:'
then
begin
MsgBox('Windows установлена не на диск С. Установка программы невозможна.', mbError, mb_Ok);
Exit;
end;
Result:=true;
end;
Автор: kombat 77
Дата сообщения: 07.01.2009 03:31
Dermuin

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

Это надо переделать все диалоги в используемых страницах инсталлятора, включая wpPreparing, т.к. класс "TNewStaticText" не имеет свойства "Transparent", использовать надо TLabel вместо TNewStaticText, а стандартные диалоги отключать, (ИМХО - трудоёмко, но реализуемо).
Примерно так я себе это представляю. Скачать пример
Автор: san007
Дата сообщения: 07.01.2009 04:37
LordVeider

Огромное вам спасибо. Пофиксенный код работает отлично.
Я потихоньку уже осваиваюсь в инстале. Скачал 215 скриптов - хоть бы за месяц мне их всех изучить.

P.S. А про переменную в реестре не подскажите?
Автор: Artem_Butenko
Дата сообщения: 07.01.2009 05:59
Ребята, подскажите, как реализовать в скрипте отключение кнопок "свернуть" и "закрыть", таким образом, чтобы они выглядели неактивными? Т.е., их нельзя было подсветить и нажать? Ранее подобная тема уже рассматривалась, но несколько в ином русле.
Автор: LordVeider
Дата сообщения: 07.01.2009 10:02

Цитата:
А про переменную в реестре не подскажите?
Подскажем, если более ясно сформулируете задачу.
Автор: cepbl4
Дата сообщения: 08.01.2009 15:38
хочу сделать wizardsmallimage (картинку справа вверху) длиной вов все окно и чтобы на ней можно было отобразить текст установщика.

Это реализуемо?

Получалось только уменьшать используемую длину текста на страницах установщика (label и diskriptionlabel или что-то в этом духе) и за счет освободившегося пространства вставлять картику с большей длиной (чем разрешено по умолчанию).

Спасибо.
Автор: Serega0675
Дата сообщения: 08.01.2009 16:54
cepbl4
Взгляните на предыдущую страницу, там, спасибо Victor_Dobrov привёл пример, под названием NSIS_ImageHeader...
Автор: Diawer
Дата сообщения: 09.01.2009 20:27
Переделал код из коллекции скриптов от Victor_Dobrov поставил ListBox вместо ExtraFilesList, для вертикальной прокрутки и все хорошо, вот только если имя файла не влазиет (длиннее) окна, то имя не переносится, если у вас позволяют знания, то не оставьте вопрос без внимания, только прошу без других изменений остальное в этом крипте все очень даже устраивает.
[more=DelSaveFilesRO_Memo.iss][Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
DirExistsWarning=no

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; DestName: MyProg MyProg MyProg MyProg MyProg MyProg MyProg MyProg MyProg MyProg MyProg.exe; Flags: uninsneveruninstall

[Icons]
Name: {commonprograms}\Удалить для проверки; Filename: {uninstallexe}; WorkingDir: {app}

[Code_]
var
Form: TSetupForm;
ListBox: TListBox;
CancelButton, DelButton: TButton;
UpImage: TBitmapImage;
UpPanel, DownPanel: TPanel;
NameLabel, DescriptionLabel, BeforeListBoxLabel: TLabel;
DownTextLabel: TLabel;

procedure FillListBox(const fromDir, fileMask: string; Level: Byte);
var
FSR, DSR: TFindRec;
FindResult: Boolean;
APath: String;
MainLen: Integer;
i: Integer;
begin
MainLen:= Length(ExpandConstant('{app}'));
APath := AddBackslash(fromDir);
FindResult := FindFirst(APath + '*.*', DSR);
while FindResult do
begin
if ((DSR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) and not ((DSR.Name = '.') or (DSR.Name = '..')) then
begin
{Recursion} FillListBox(APath + DSR.Name, fileMask, Level+1);
end;
FindResult := FindNext(DSR);
end;
FindResult := FindFirst(APath + fileMask, FSR);
try
while FindResult do
begin
if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then
begin
{files} i:= ListBox.Items.Add(Copy(APath + FSR.Name, MainLen+2, Length(APath + FSR.Name)));
end;
FindResult := FindNext(FSR);
end;
finally
FindClose(FSR);
FindClose(DSR);
end;
end;

procedure DeleteFiles();
begin
DelTree(ExpandConstant('{app}'), True, True, True);
end;

procedure BrowseRemainedFiles();
begin
Form := CreateCustomForm;
Form.ClientWidth := ScaleX(497);
Form.ClientHeight := ScaleY(360);
Form.Caption := 'Удаление My Program';
Form.Center;

UpImage := TBitmapImage.Create(Form);
UpImage.Top := ScaleY(0);
UpImage.Left := ScaleX(0);
UpImage.Width := Form.ClientWidth;
UpImage.Height := ScaleY(58);
UpImage.BackColor := clWhite;
UpImage.Parent := Form;

UpPanel := TPanel.Create(Form);
UpPanel.Top := UpImage.Top + UpImage.Height;
UpPanel.Width := Form.ClientWidth;
UpPanel.Height := ScaleY(2);
UpPanel.BevelOuter := bvLowered;
UpPanel.Parent := Form;

NameLabel := TLabel.Create(Form);
NameLabel.Top := ScaleY(10);
NameLabel.Left := ScaleX(24);
NameLabel.Font.Style := [fsBold];
NameLabel.Caption := 'Состояние удаления';
NameLabel.Color := clWhite;
NameLabel.Parent := Form;

DescriptionLabel := TLabel.Create(Form);
DescriptionLabel.Top := ScaleY(26);
DescriptionLabel.Left := ScaleX(40);
DescriptionLabel.Caption := 'Некоторые элементы в папке установки не были удалены. Вы хотите'#13'удалить их?';
DescriptionLabel.Color := clWhite;
DescriptionLabel.Parent := Form;

BeforeListBoxLabel := TLabel.Create(Form);
BeforeListBoxLabel.Top := ScaleY(72);
BeforeListBoxLabel.Left := ScaleX(40);
BeforeListBoxLabel.Caption := 'Следующие файлы были созданы до или после установки. Если Вы уверены, что'#13'хотите удалить папку установки со всеми указанными файлами, нажмите Да.';
BeforeListBoxLabel.Color := clBtnFace;
BeforeListBoxLabel.Parent := Form;

DownPanel := TPanel.Create(Form);
DownPanel.Top := ScaleY(313);
DownPanel.Width := Form.ClientWidth;
DownPanel.Height := ScaleY(2);
DownPanel.BevelOuter := bvLowered;
DownPanel.Parent := Form;

DownTextLabel := TLabel.Create(Form);
DownTextLabel.Left := ScaleX(3);
DownTextLabel.Top := Form.ClientHeight - ScaleY(15);
DownTextLabel.Caption := 'My Program';
DownTextLabel.Font.Color := clGray;
DownTextLabel.Color := clBtnFace;
DownTextLabel.Parent := Form;

ListBox := TListBox.Create(Form);
ListBox.Left:= ScaleX(40);
ListBox.Top:= BeforeListBoxLabel.Top + BeforeListBoxLabel.Height + ScaleY(11);
ListBox.Width:= ScaleX(417);
ListBox.Height:= ScaleY(218) - BeforeListBoxLabel.Height;
// ListBox.Color := clBtnFace;
ListBox.Parent:= Form;

CancelButton := TButton.Create(Form);
CancelButton.Parent := Form;
CancelButton.Width := ScaleX(75);
CancelButton.Height := ScaleY(23);
CancelButton.Left := Form.ClientWidth - CancelButton.Width - ScaleX(12);
CancelButton.Top := Form.ClientHeight - ScaleY(23 + 10);
CancelButton.Caption := 'Нет';
CancelButton.ModalResult := mrCancel;
CancelButton.Cancel := True;

DelButton := TButton.Create(Form);
DelButton.Parent := Form;
DelButton.Width := ScaleX(75);
DelButton.Height := ScaleY(23);
DelButton.Left := CancelButton.Left - DelButton.Width - ScaleX(10);
DelButton.Top := Form.ClientHeight - ScaleY(23 + 10);
DelButton.Caption := 'Да';
DelButton.ModalResult := mrOk;

Form.ActiveControl := CancelButton;

FillListBox(ExpandConstant('{app}'), '*', 1);

if Form.ShowModal() = mrOk then DeleteFiles();
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if DirExists(ExpandConstant('{app}')) and (CurUninstallStep = usPostUninstall) then
BrowseRemainedFiles();
end;[/more]
Автор: cepbl4
Дата сообщения: 10.01.2009 16:22
Serega0675
Да, точно, я не заметил. Спасибо.
Автор: paul_smART
Дата сообщения: 10.01.2009 17:58
возвращаясь к теме по поводу прикручивания прекомп-а к инне появилась такая мысль - может быть тот кто разбирается в структуре длл и всяком таком попросит автора прекомпа для выпуска соответствующей длл-ки с поддержкой вызова из инны и возвратом состояния прогресс бара и всякой другой информации для красивого использования в IS. автор тусует вот здесь http://encode.ru/forum/showthread.php?t=133&page=4
сам не смогу ибо не знаю чего просить в длл-ке :/
Автор: RaP1D
Дата сообщения: 11.01.2009 11:11
Помогите сделать 1 вещь... Есть список компонентов:

Name: "app"; Description: "Game"; Flags: fixed; Types: full compact custom
Name: "add1"; Description: "Addon1"; Types: full custom
Name: "add2"; Description: "Addon2"; Types: full custom

Нужно следующее - если выбран add2, то создается exe на раб. столе только для Addon2.exe... Если он не выбран, но выбран add1, то exe - Addon1.exe... Если компонты вообще не выбраны, то создается exe для базовой игры - Game.exe

Другими словами, нужно чтоб создавался ярлык ТОЛЬКО для самого последнего из выбранных дополнений...
Автор: SotM
Дата сообщения: 11.01.2009 12:54
RaP1D
Типа того:


Код: [Icons]
Name: "{group}\Game.exe"; Filename: "Game.exe"; Components: app and (not add1) and (not add2)
Name: "{group}\Addon1.exe"; Filename: "Addon1.exe"; Components: add1 and (not add2)
Name: "{group}\Addon2.exe"; Filename: "Addon2.exe"; Components: add2 and (not add1)
Автор: Artem_Butenko
Дата сообщения: 11.01.2009 13:57
Друзья -- пожалуйста, помогите разобраться, с каким ключом коммандной строки следует запускать инсталляторы созданные в Inno Setup, чтобы они выполнялись в автоматическом режиме и пользователь не мог прервать установку (не путать с "тихой" установкой). Еще, пожалуйста, м.б. кто-нибудь пояснит, как сделать кнопки "свернуть" и "закрыть" (в окне инсталлятора) неактивными (визуально и функционально).
Автор: LordVeider
Дата сообщения: 11.01.2009 14:04

Цитата:
инсталляторы созданные в Inno Setup, чтобы они выполнялись в автоматическом режиме и пользователь не мог прервать установку
/SILENT /NOCANCEL
Автор: RaP1D
Дата сообщения: 11.01.2009 18:26
SotM
Спасибо!
Автор: chelobey
Дата сообщения: 12.01.2009 13:55
Люди, может быть все-таки кто-нибудь поможет?... Уже отчаялся спрашивать "как?". Спрашиваю теперь: возможно ли организовать привязку результата выбора к установочным файлам в этом [more=скрипте...]

Setup
AppName=Program
AppVerName=Program
AlwaysShowComponentsList=true
DefaultDirName={pf}\My Program
UsePreviousTasks=yes
ComponentsListTVStyle=true

Components
Name: prog; Description: program; Types: var1; Flags: exclusive
Name: cfg1; Description: program+config 1; Types: var2; Flags: exclusive

Types
Name: var1; Description: program
Name: var2; Description: program+config; Flags: iscustom

Files
Source: file.txt; DestDir: {app}: Components: prog
;Source: file1.txt; DestDir: {app}... как привязать к checkbox1, radiobutton1_1
;Source: file2.txt; DestDir: {app}... как привязать к checkbox1, radiobutton1_2
;Source: file3.txt; DestDir: {app}... как привязать к group1, radiobutton1_1
;Source: file4.txt; DestDir: {app}... как привязать к group1, radiobutton1_2

Code

var
Page1: TWizardPage;
CheckListBox: TNewCheckListBox;

procedure CreateTheWizardPages;
var
Page: TWizardPage;

begin
Page1:= CreateCustomPage(wpSelectComponents, 'TNewCheckListBox', 'page2')
CheckListBox := TNewCheckListBox.Create(Page1);
CheckListBox.Width := Page1.SurfaceWidth - ScaleX(115);
CheckListBox.Height := Page1.SurfaceHeight - ScaleY(30);
CheckListBox.Flat := True;
CheckListBox.Parent := Page1.Surface;
CheckListBox.AddCheckBox('CheckBox1', '', 0, True, True, True, True, nil, True);
CheckListBox.AddRadioButton('radiobutton1_1', '', 1, True, True, nil, False);
CheckListBox.AddRadioButton('radiobutton1_2', '', 1, True, True, nil, False);
CheckListBox.AddGroup('group1', '', 0, nil, True);
CheckListBox.AddRadioButton('radiobutton_g_1', '', 1, True, True, nil, False);
CheckListBox.AddRadioButton('radiobutton_g_2', '', 1, False, True, nil, False);
end;

Procedure InitializeWizard();
begin
CreateTheWizardPages;
end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
Case PageID of
Page1.ID,Page1.ID: Result:= not IsComponentSelected('cfg1');
end;
end;

[/more]

Возможно ли, чтобы подкомпоненты списка компонентов, что реализован в Code, были по умолчанию свернуты?
Автор: stNeko
Дата сообщения: 13.01.2009 02:41
Хочу привести окно выбора компонентов к такому виду, тоесть убрать выпадающий список с выбором типа установки и расширить по вертикали окошко с компонентами (Пример нарисовал в фотошопе...) Пока ещё не вник как работать с Form Designer, поэтому прошу помощи.
Автор: ExpeditorR
Дата сообщения: 13.01.2009 07:18
stNeko
Попробуй так [more]procedure InitializeWizard();
begin
WizardForm.TYPESCOMBO.Visible:= false;
WizardForm.SelectComponentsLabel.Visible:= false;
WizardForm.ComponentsList.Height := 195;
WizardForm.ComponentsList.Top :=10;
end;[/more]
Автор: stNeko
Дата сообщения: 13.01.2009 08:34

Цитата:
stNeko
Попробуй так Подробнее...

Благодарю. Это то что нужно.

А не подскажешь как вместо "требуется места для установки..." поставить форму с кратким описанием выделенного компонента? Думаю о будущих юзерах, поэтому хочу дать подробное описание по каждому компоненту...

Брал какие-то примеры с китайского сайта, но там есть это на примере CreateCustomPage. Я уже говорил, что не силён пока в переделывании окон.
Автор: ExpeditorR
Дата сообщения: 13.01.2009 10:22
stNeko
Вот посмотри пример Ссылка показа описания компонент, всё сделано на стандартой странице выбора компонент.
Автор: stNeko
Дата сообщения: 13.01.2009 12:03
От души благодарю. Спасибо тебе!

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

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


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