Войти

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 [139] 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

insombia
21-08-2011, 12:56
VASYAKRN сам делай себе это это не сложно это раз во вторых нужно не писать сделайте такое readymemo а нужно писать сделайте пожалуйста такое readymemo кому не сложно и все

LinkOFF
21-08-2011, 18:00
Как в скрипте isdone к надписи 100% добавить Завершено:100%

Rikill
21-08-2011, 18:27
LabelPct1.Caption := IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';
тут исправь на
LabelPct1.Caption := 'Прошло'+IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';

LinkOFF
21-08-2011, 19:37
Rikill, а можно как-нибудь сделать чтоб когда выбераешь язык установки были разные слова в зависимости от языка

No4noylis
21-08-2011, 20:27
LinkOFF, конечно

[CustomMessages]
russian.Pct1Caption=Прошло
english.Pct1Caption=Passed

Ну и соответственно:

LabelPct1.Caption := ExpandConstant('{cm:Pct1Caption}') +IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';

insombia
21-08-2011, 21:52
VASYAKRN ..... я не знаю хватит уже доставать со своими дурацкими вопросами тебе никто не ответит!!! ты бы хоть свои посты редактировал задал вопрос мне а пишешь кому не сложно

LinkOFF
21-08-2011, 23:06
LinkOFF, конечно
читать дальше »
------- »

Не получилось
insombia
http://inno.at.ua/TMP/18.08.bmp
сделайте
пожалуйста такое readymemo кому не сложно
http://inno.at.ua/TMP/12.7z »

пустая трата времени

Rikill
21-08-2011, 23:27
LinkOFF, ты ошибку какбе говори не разводи флуд, что именно не получилось? Всё клещами надо вытаскивать...

Imitri7
22-08-2011, 12:18
to all
решил задачу, это выбор папки и присвоение NewEdit1 этот адрес

[Files]
Source: DirBitmap.bmp; DestDir: {tmp}; Flags: dontcopy
Source: DirBitmap2.bmp; DestDir: {tmp}; Flags: dontcopy

[CustomMessages]
ru.Enter=Укажите путь до вашего Steam профиля:

[_code]
Var
Label0, Label1, Label2: TLabel;
NewEdit1, NewEdit2: TNewEdit;
TestSystemButton: TNewButton;
BitmapImage1: TBitmapImage;

procedure SystemButtonOnClick(Sender: TObject);
var s: String;
begin
BrowseForFolder('Укажите путь до вашего Steam профиля:', s, False);
if s<>'' then NewEdit1.Text:= s;
end;

procedure InitializeWizard();
begin
WizardForm.DirBrowseButton.Top := ScaleY(44);
WizardForm.DirEdit.Top := ScaleY(44);
WizardForm.SelectDirBrowseLabel.Top := ScaleY(150);

ExtractTemporaryFile('DirBitmap.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap.bmp'));
WizardForm.SelectDirBitmapImage.Width:= 32
WizardForm.SelectDirBitmapImage.Height:= 32
WizardForm.SelectDirBitmapImage.Top:= WizardForm.SelectDirBitmapImage.Top
WizardForm.SelectDirBitmapImage.Parent := WizardForm.SelectDirPage;

BitmapImage1 := TBitmapImage.Create(WizardForm);
with BitmapImage1 do
begin
Name := 'BitmapImage1';
Parent := WizardForm.SelectDirPage;
Left := WizardForm.SelectGroupBitmapImage.Left;
Top := WizardForm.SelectGroupBitmapImage.Top + ScaleY(30) + ScaleY(44);
Width := ScaleX(32);
Height := ScaleY(32);
ExtractTemporaryFile('DirBitmap2.bmp');
Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap2.bmp'));
end;

Label0 := TLabel.Create(WizardForm);
with Label0 do begin
Name := 'Label0';
Parent := WizardForm.SelectDirPage;
Caption := ExpandConstant('{cm:Enter}');
Transparent := False;
Left := WizardForm.SelectStartMenuFolderLabel.Left
Top := WizardForm.SelectStartMenuFolderLabel.Top + ScaleY(30) + ScaleY(44);
Height := ScaleY(20);
//AutoSize := true;
end;
NewEdit1 := TNewEdit.Create(WizardForm);
with NewEdit1 do begin
Name := 'NewEdit1';
Parent := WizardForm.SelectDirPage;
Top := WizardForm.DirEdit.Top + ScaleY(30) + ScaleY(44);
Width := WizardForm.DirEdit.Width
Height := ScaleY(20);
Text := 'D:\Games\Steam\steamapps\steamprofile';
TabOrder := 2;
//Color:=clColor;
end;
TestSystemButton := TNewButton.Create(WizardForm);
with TestSystemButton do begin
Parent := WizardForm.SelectDirPage;
Caption := 'Обзор...';
Left:= WizardForm.GroupBrowseButton.left
Top:=WizardForm.DirEdit.Top + ScaleY(30) + ScaleY(44);
Width:=WizardForm.GroupBrowseButton.Width
Height:=WizardForm.GroupBrowseButton.Height
OnClick:=@SystemButtonOnClick
end;
end;


но по прежнему остается задача : установка файлов по этому пути
как это реализовать?

No4noylis
22-08-2011, 12:48
Imitri7, а так не получится?

[Setup]
DefaultDirName=D:\Games\Steam\steamapps\steamprofile

Imitri7
22-08-2011, 13:13
No4noylis, ты не правильно понял, мне нужно чтобы в обе папки файлы распаковывались

Gnom_aka_Lexander
22-08-2011, 13:49
Imitri7, Както так, я думаю:

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Files]
Source: DirBitmap.bmp; DestDir: {tmp}; Flags: dontcopy
Source: DirBitmap2.bmp; DestDir: {tmp}; Flags: dontcopy
Source: файл; DestDir: {Code:GetStimApp};

[CustomMessages]
Enter=Укажите путь до вашего Steam профиля:

[_code]
Var
Label0, Label1, Label2: TLabel;
NewEdit1, NewEdit2: TNewEdit;
TestSystemButton: TNewButton;
BitmapImage1: TBitmapImage;

procedure SystemButtonOnClick(Sender: TObject);
var s: String;
begin
BrowseForFolder('Укажите путь до вашего Steam профиля:', s, False);
if s<>'' then NewEdit1.Text:= s;
end;

function GetStimApp : String;
begin
Result:=NewEdit1.Text;
end;

procedure InitializeWizard();
begin
WizardForm.DirBrowseButton.Top := ScaleY(44);
WizardForm.DirEdit.Top := ScaleY(44);
WizardForm.SelectDirBrowseLabel.Top := ScaleY(150);

ExtractTemporaryFile('DirBitmap.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap.bmp'));
WizardForm.SelectDirBitmapImage.Width:= 32
WizardForm.SelectDirBitmapImage.Height:= 32
WizardForm.SelectDirBitmapImage.Top:= WizardForm.SelectDirBitmapImage.Top
WizardForm.SelectDirBitmapImage.Parent := WizardForm.SelectDirPage;

BitmapImage1 := TBitmapImage.Create(WizardForm);
with BitmapImage1 do
begin
Name := 'BitmapImage1';
Parent := WizardForm.SelectDirPage;
Left := WizardForm.SelectGroupBitmapImage.Left;
Top := WizardForm.SelectGroupBitmapImage.Top + ScaleY(30) + ScaleY(44);
Width := ScaleX(32);
Height := ScaleY(32);
ExtractTemporaryFile('DirBitmap2.bmp');
Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap2.bmp'));
end;

Label0 := TLabel.Create(WizardForm);
with Label0 do begin
Name := 'Label0';
Parent := WizardForm.SelectDirPage;
Caption := ExpandConstant('{cm:Enter}');
Transparent := False;
Left := WizardForm.SelectStartMenuFolderLabel.Left
Top := WizardForm.SelectStartMenuFolderLabel.Top + ScaleY(30) + ScaleY(44);
Height := ScaleY(20);
//AutoSize := true;
end;
NewEdit1 := TNewEdit.Create(WizardForm);
with NewEdit1 do begin
Name := 'NewEdit1';
Parent := WizardForm.SelectDirPage;
Top := WizardForm.DirEdit.Top + ScaleY(30) + ScaleY(44);
Width := WizardForm.DirEdit.Width
Height := ScaleY(20);
Text := 'D:\Games\Steam\steamapps\steamprofile';
TabOrder := 2;
//Color:=clColor;
end;
TestSystemButton := TNewButton.Create(WizardForm);
with TestSystemButton do begin
Parent := WizardForm.SelectDirPage;
Caption := 'Обзор...';
Left:= WizardForm.GroupBrowseButton.left
Top:=WizardForm.DirEdit.Top + ScaleY(30) + ScaleY(44);
Width:=WizardForm.GroupBrowseButton.Width
Height:=WizardForm.GroupBrowseButton.Height
OnClick:=@SystemButtonOnClick
end;
end;
По крайней мере, в этом направлении смотри.

Imitri7
22-08-2011, 14:27
Лександер, не прокатило, пойду в справке искать

El Sanchez
23-08-2011, 12:08
не прокатило, пойду в справке искать »
Imitri7, думаю, из реестра нужно брать инфу о местоположении профиля, например:


[Files]
Source: {app}\file1.ext; DestDir: {code:GetSteamProfileDir|{reg:HKCU\Software\Valve\Steam,ModInstallPath|}}; Components: SteamProfileFiles
...
Source: {app}\fileN.ext; DestDir: {code:GetSteamProfileDir|{reg:HKCU\Software\Valve\Steam,ModInstallPath|}}; Components: SteamProfileFiles

[Components]
Name: SteamProfileFiles; Description: Steam Profile Files; Check: IsSteamProfileExists()

[code]
function GetSteamProfileDir(Param: String): String;
begin
Result := ExtractFileDir(RemoveBackSlash(Param));
end;

function IsSteamProfileExists(): Boolean;
begin
Result := DirExists(GetSteamProfileDir(ExpandConstant('{reg:HKCU\Software\Valve\Steam,ModInstallPath|}')));
end;

superalex
23-08-2011, 18:59
в папке maps есть папка cstrike, мне нужна чтобы эта папка с файлами и вложенными в нее папками была сохранена в установщики подскажите пожалуйста нужные настройки ?

[Files]
Source: "maps\*"; DestDir: "{app}\counter-strike source";Flags:ignoreversion;

LinkOFF
23-08-2011, 19:07
Доброго времени суток.У меня вопрос: что надо прописать в скрипте чтоб распаковать зашифрованный архив(с паролем)?
Архив freearc

Rikill
23-08-2011, 20:35
LinkOFF, смотри документацию либо к исдоне либо к модулю от Шегората

boss911
23-08-2011, 21:14
superalex

[Files]
Source: maps\*; DestDir: {app}\counter-strike source; Flags: ignoreversion recursesubdirs createallsubdirs

superalex
23-08-2011, 22:04
boss911 »
спасибо

Raf-9600
24-08-2011, 01:01
1. Как сделать чтоб файл устанавливался если выбран компонент "inMPQ\video\MPQ" и один (любой) из этих VideoD2\German VideoD2\Spanish VideoD2\French VideoD2\Italian ?
2. Ктонить подскажет код, скрывающий BeveledLabel на странице установки?




© OSzone.net 2001-2012