Скрипты Inno Setup. Помощь и советы [часть 5]
-
El Sanchez
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
Ivan_009, ок. В процедуре CurPageChanged2 перед InitializeSlideShow отключаете стиль, а после DeinitializeSlideShow включаете назад.
Код:
Код:
Код: Выделить всё
procedure CurPageChanged2(CurPageID: Integer);
begin
If CurPageID=wpInstalling then
begin
SetWindowLong(WizardForm.Handle, (-20), GetWindowLong(WizardForm.Handle, (-20)) xor $2000000);
InitializeSlideShow(WizardForm.Handle, 0, 100, scaleX(778), ScaleY(358), {#Animation}, {#Stretch});
...
if CurPageID=wpFinished then
begin
...
DeinitializeSlideShow;
SetWindowLong(WizardForm.Handle, (-20), GetWindowLong(WizardForm.Handle, (-20)) or $2000000);
...
end;-
Gnom_aka_Lexander
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
LinkOFF, ну так. Это нужно писать туда, где ты распаковываешь архивы. теоретически можно вообще на запуске проверить их все на наличие, и если хоть одного не хватает - можно смело полностью отменять установку.
-
Gnom_aka_Lexander
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
Цитата Serega:
LPCTSTR = PAnsiChar;
Одним словом, надо так:
Код:
[Files]
Source: "D:\Projects\mycomp\prod\Utils\mydll\Release\mydll.dll"; Flags: dontcopy
LPCTSTR = PAnsiChar;
Одним словом, надо так:
Код:
[Files]
Source: "D:\Projects\mycomp\prod\Utils\mydll\Release\mydll.dll"; Flags: dontcopy
Код: Выделить всё
function somefunc(str: PAnsiChar): Integer; external 'somefunc@files:mydll.dll stdcall';
В общем докладываю: поменял на PAnsiChar вместо string - ничего не изменилось.. Может это тоже внесло конечно свою лепту..
Далее начал ковырять свою dll: вместо _declspec(dllexport) сделал экспорт через .def-файл - всё заработало! [img]images/smilies/2009/rupor.gif[/img]
в Depends пропал знак вопроса перед именем моей экспортируемой функции, не силен, не знаю, с чем это связано..
Как то так [img]images/smilies/new/smile.gif[/img]-
alert30
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
Как сделать инсталлятор, что до подготовленной установки, распаковался шрифт (всего лишь 1 штук, к пути: C:\WINDOWS\Fonts) и сделать в подготовленном инсталляторе, чтоб все страницы изменялись шрифты.
-
Johny777
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
Цитата Gnom_aka_Lexander:
Выглядеть будет так
Благодарю. Меня ещё интересует:
1. Как сделать чтобы компонент выбирался и блокировался? У меня получается делать только что-то одно
2. Можно ли сделать чтобы правило выставления галочки в зависимости от компонента, не работало и в обратном направлении. Т.е. нужно чтобы если компонент выбран, то галочка ставилась, а если не выбран, то пользователь сам мог её поставить или убрать.
Грубо говоря, вот код, и последние два правила работают не так как нужно. Буду весьма признателен если подскажете как это скорректировать:
Код:
Выглядеть будет так
Скрипты Inno Setup. Помощь и советы [часть 5]
Благодарю. Меня ещё интересует:
1. Как сделать чтобы компонент выбирался и блокировался? У меня получается делать только что-то одно

2. Можно ли сделать чтобы правило выставления галочки в зависимости от компонента, не работало и в обратном направлении. Т.е. нужно чтобы если компонент выбран, то галочка ставилась, а если не выбран, то пользователь сам мог её поставить или убрать.
Грубо говоря, вот код, и последние два правила работают не так как нужно. Буду весьма признателен если подскажете как это скорректировать:
читать дальше »
Код:
Код: Выделить всё
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[CustomMessages]
TypeOfInstallation=Тип установки:
Game=Игра
OnlyLocation=Только локализация
backup=Резервная копия
Text=Текст:
VoiceDiablo2=Озвучка Diablo 2:
VersionGame=Версия игры:
[Components]
Name: "Game"; Description: "{cm:TypeOfInstallation}"; Flags: disablenouninstallwarning;
Name: "Game\Full"; Description: "{cm:Game}"; Flags: exclusive disablenouninstallwarning; Types: full
Name: "Game\Lokal"; Description: "{cm:OnlyLocation}"; Flags: collapsed exclusive disablenouninstallwarning;
Name: "Game\Lokal\Backup"; Description: "{cm:backup}"; Flags: disablenouninstallwarning;
Name: "GameDiablo2"; Description: Diablo 2; Types: full
Name: "GameDiablo2\Text"; Description: "{cm:Text}"; Flags: collapsed; Types: full
Name: "GameDiablo2\VoiceD2"; Description: "{cm:VoiceDiablo2}"; Flags: collapsed; Types: full
Name: "Version"; Description: "{cm:VersionGame}"; Flags: collapsed disablenouninstallwarning;
[c0de]
var
OldEvent_ComponentsListClickCheck: TNotifyEvent;
procedure ComponentsListClickCheck(Sender: TObject);
var
i : Integer;
begin
for i := 0 to WizardForm.ComponentsList.ItemCount -1 do
begin
case WizardForm.ComponentsList.ItemCaption[i] of
'1.04c', '1.05b' : // перечисляем через запятую надписи компонентов, которые зависят от GameLoD
WizardForm.ComponentsList.ItemEnabled[i] := not (IsComponentSelected('GameLoD') or IsComponentSelected('Mod\PlugY'));
'1.07', '1.08' :
WizardForm.ComponentsList.ItemEnabled[i] := IsComponentSelected('GameLoD') and not IsComponentSelected('Mod\PlugY');
ExpandConstant('{cm:Text}'), ExpandConstant('{cm:VoiceDiablo2}'), ExpandConstant('{cm:VersionGame}') :
WizardForm.ComponentsList.Checked[i] := IsComponentSelected('Game\Full');
ExpandConstant('{cm:Text}'), ExpandConstant('{cm:VoiceDiablo2}'), ExpandConstant('{cm:VersionGame}') :
WizardForm.ComponentsList.ItemEnabled[i] := not IsComponentSelected('Game\Full');
end;
end;
OldEvent_ComponentsListClickCheck(Sender);
end;
procedure InitializeWizard();
begin
with WizardForm.ComponentsList do
begin
OldEvent_ComponentsListClickCheck := OnClickCheck;
OnClickCheck := @ComponentsListClickCheck;
ItemEnabled[3]:=True;
end;
end;-
alert30
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
Johny777, а как же распаковка файлов до начала подготовительной установки?
-
Johny777
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
Gnom_aka_Lexander, кроме того, что ниже, в коде больше нет упоминания про эту страницу:
Код:
читать дальше »
Код:
Код: Выделить всё
procedure RedesignWizardForm;
begin
ISCustomPage1 := CreateCustomPage(wpSelectProgramGroup, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');
with ISCustomPage1.Surface do
begin
Name := 'ISCustomPage1';
end;
end;-
alert30
Re: Скрипты Inno Setup. Помощь и советы [часть 5]
Схема такая через стрелки: запуск программы -> распаковка файлов, ну например шрифт MyriadPro Regular: C:\WINDOWS\Fonts -> начало подготовительной установки ("Вас приветствует Мастер установки...").
Вообще, надо сделать так, чтоб пользователи навсегда увидели инсталлятор со шрифтом типа MyriadPro Regular, а не стандартные. Хоть даже, что шрифт типа MyriadPro Regular не установлен.
Вообще, надо сделать так, чтоб пользователи навсегда увидели инсталлятор со шрифтом типа MyriadPro Regular, а не стандартные. Хоть даже, что шрифт типа MyriadPro Regular не установлен.