Войти

Показать полную графическую версию : Скрипты 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

ILIA_1992
11-06-2011, 13:28
Лександер,
так если удалить то вообще не будет софт ставиться

insombia
11-06-2011, 13:34
ILIA_1992
[Tasks]
Name: icon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: soft; Description: {cm:soft}
Name: soft\dx; Description: {cm:dx}
Name: soft\vc; Description: {cm:vc}

[Run]
Filename: {win}\regedit.exe; Parameters: /s {tmp}\ва.reg; StatusMsg: "Вносим изменения в реестр ..."; Flags: waituntilterminated runasoriginaluser
Filename: D:\Duke Nukem Forever (repack)\Redist\DirectX\DXSETUP.exe; Parameters: /silent; StatusMsg: {cm:dx1}; Tasks: soft\dx
Filename: D:\Duke Nukem Forever (repack)\Redist\vcredist_x86.exe; Parameters: /q; StatusMsg: {cm:vc1}; Tasks: soft\vc

это пример

insombia
11-06-2011, 14:02
кто может помочь в чем проблема когда игра установилась то после закрытия инсталятора вылазит ошибка http://pic.4m.net.ua/images/31230954494101212670.jpg

http://rghost.ru/10354311

Gnom_aka_Lexander
11-06-2011, 15:06
insombia, зачем DeInitializeSetup переименовал в DeInitializeSetup2 ? потому и ошибка.
ILIA_1992, так если удалить то вообще не будет софт ставиться »
так укажи правильно путь к софту, и не будет ошибки. А то взяли моду - я так написал, значит так тому и быть, а почему ошибка - можно на форуме спросить, а потом еще и поспорить - "ну я-же написал!"

insombia
11-06-2011, 16:49
как сделать то что выделено? http://i23.fastpic.ru/big/2011/0611/af/142697bf607770be6c59a180b93b97af.jpg хотя бы чтобы ярлыки создать

Gnom_aka_Lexander
11-06-2011, 18:55
insombia, Слегка доработанный пример от Виктора доброва из шапки.
[Setup]
AppName=My Program
AppVerName=My Program ver.1.5
DefaultDirName={pf}\My Program
DisableDirPage=yes
ShowTasksTreeLines=true
AlwaysShowDirOnReadyPage=true
AlwaysShowGroupOnReadyPage=true

[Tasks]
Name: desktopicon; Description: Create a &desktop icon; GroupDescription: Additional icons:
Name: desktopicon\common; Description: For all users; GroupDescription: Additional icons:; Flags: exclusive
Name: desktopicon\user; Description: For the current user only; GroupDescription: Additional icons:; Flags: exclusive unchecked
Name: quicklaunchicon; Description: Create a &Quick Launch icon; GroupDescription: Additional icons:; Flags: unchecked
Name: associate; Description: &Associate files; GroupDescription: Other tasks:; Flags: unchecked

[Code]
var
FreeMB, TotalMB: Cardinal;
NeedSize: Integer;
NeedSpaceLabel, FreeSpaceLabel: TLabel;

procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;

begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);

if FreeMB > 1024 then
FreeSpaceLabel.Caption := 'Свободно на выбранном диске: ' + FloatToStr(round(FreeMB/1024*100)/100) + ' GB'
else
FreeSpaceLabel.Caption := 'Свободно на выбранном диске: ' + IntToStr(FreeMB)+ ' MB';

if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False
else
WizardForm.NextButton.Enabled := True;
end;

procedure InitializeWizard();
begin
WizardForm.SelectTasksLabel.Hide;
WizardForm.DiskSpaceLabel.Hide;
WizardForm.SelectDirBitmapImage.Parent := WizardForm.SelectTasksPage;
WizardForm.DiskSpaceLabel.Parent := WizardForm.SelectTasksPage;
WizardForm.DirBrowseButton.Parent := WizardForm.SelectTasksPage;
WizardForm.DirEdit.Parent := WizardForm.SelectTasksPage;
WizardForm.SelectDirBrowseLabel.Parent := WizardForm.SelectTasksPage;
WizardForm.SelectDirLabel.Parent := WizardForm.SelectTasksPage;
WizardForm.TasksList.Top := ScaleY(109);
WizardForm.TasksList.Height := ScaleY(85);

NeedSpaceLabel := TLabel.Create(WizardForm);
with NeedSpaceLabel do
begin
Parent := WizardForm.SelectTasksPage;
Left := ScaleX(0);
Top := ScaleY(200);
Width := ScaleX(209);
Height := ScaleY(13);
Caption := WizardForm.DiskSpaceLabel.Caption;
end;

FreeSpaceLabel := TLabel.Create(WizardForm);
with FreeSpaceLabel do
begin
Parent := WizardForm.SelectTasksPage;
Left := ScaleX(0);
Top := ScaleY(220);
Width := ScaleX(209);
Height := ScaleY(13);
end;
WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
WizardForm.DirEdit.Text := WizardForm.DirEdit.Text + #0;
end;
Лейбелы, если не нужны, можно не создавать, основное - перенос выбора папки установки на страницу задач, и подгон размеров таск-листа под изменившееся наполнение страницы. Теоретически - можно наоборот, если нет привязки задач к компонентам - перенести таск-лист на страницу выбора папки.
[Code]
procedure InitializeWizard();
begin
with WizardForm.TasksList do
begin
Top := ScaleY(109);
Height := ScaleY(88);
Parent := WizardForm.SelectDirPage;
end;
end;

insombia
11-06-2011, 19:01
Лександер ошибка в закосе под механиков уже есть одна строчка которую удалять нельзя но то что показывает свободное место не очень главное главное чтобы ярлыки создавать можно было как там

insombia
11-06-2011, 20:42
procedure InitializeWizard();
begin
with WizardForm.TasksList do
begin
Top := ScaleY(109);
Height := ScaleY(88);
Parent := WizardForm.SelectDirPage;
end;
end;

Лександер не пашет

Gnom_aka_Lexander
11-06-2011, 21:30
insombia, абсолютно все, что я советую, я предварительно проверяю! создай хоть одну задачу, потом утверждай, что не пашет.

insombia
11-06-2011, 22:09
Лександер всё пашет я просто забыл редактировать но только выбор папки установки на дополнительные задачи поменялись местами

Лександер не подскажеш что используют каталисты или механики что архивы распаковываються не в прогресс баре а системно в диспечере есть задача arc.dll и через некоторе время прогресс баг перемещаеться почти до середины?

nik1967
11-06-2011, 22:22
Лександер не подскажеш что используют каталисты »
Отвечу я. Мы используем isexec.dll разработки Vo1t'а. Но в данное время мы переходим на плавный прогрессбар. Пардон за оффтоп. :off:

insombia
11-06-2011, 22:24
nik1967 cпасибо а вы используите ISWin7?

nik1967
11-06-2011, 22:27
insombia, нет, мы используем более продвинутый вариант iswin7logo.dll, опять же разработки Vo1t'а.

insombia
11-06-2011, 22:32
nik1967 а они есть в нете? мне бы хотябы чтобы распаковка шла как например у вас а то обычная неприкольная

nik1967
11-06-2011, 22:48
insombia, нет, и давай заканчивать оффтоп.

insombia
11-06-2011, 23:15
кто знает скрипт для arc.dll?

nik1967
11-06-2011, 23:24
insombia, ISFreeArcExtract v.4.1 (http://forum.ru-board.com/topic.cgi?forum=5&topic=36421&start=360#20)

insombia
12-06-2011, 10:18
Neutron но не знают люди зачем то всё время спрашивать?

insombia
12-06-2011, 11:26
Neutron понятно а чем тебе понравился тот инстал?

serhio
12-06-2011, 13:14
;#define FreeArc
#ifdef FreeArc
#define ArcLocation "{src}\*.bin"
#endif
подскажите,внешний arc станет bin'ом что-ли? Или надо на arc исправить мне?




© OSzone.net 2001-2012