Войти

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

valyok666
09-07-2011, 00:45
Rikill, ты новый скачал?

сорри почему то старый архив щас новый залью)

вот (http://rghost.ru/13953261)
качай=)

murlakatamenka
09-07-2011, 01:34
valyok666, так надо было его сдвинуть ... так бы и написал
как убрать?знаю что обсуждалось такое но не могу найти
скриншот »
можно просто RunList сдвигать
[_Code]
procedure InitializeWizard();
begin
with WizardForm.RunList do
begin
Left := ScaleX(256);
Top := ScaleY(172);
end;
end;

Rikill
09-07-2011, 02:50
немного доработал (http://rghost.ru/13961321)

Johny777
09-07-2011, 03:19
Уважаемые пользователи
у меня возникла проблема при создании скрипта
здесь показан пример скрипта для растяжения картинки внутри окна инсталятора http://www.forum.oszone.ru/post-1242285-250.html
спасибо
я им воспользовался, но столкнулся с проблемой
вот мой тестовый инсталятор, на котором я отрабатываю внешний вид окон
http://s60.radikal.ru/i167/1107/95/51f73f54af82.png (http://www.radikal.ru)
далее идёт окно выбора компонентов
http://s43.radikal.ru/i102/1107/2b/3ece02cb4674.png (http://www.radikal.ru)
но из не видно
дело в том, что в коде для растяжения картинки нет страницы для компонентов (а у меня их много)
и страницы для настройки директории меню "Пуск"
http://i029.radikal.ru/1107/3f/d4050dad18e6.png (http://www.radikal.ru)
Автор скрипта просит дописать страницы по аналогии, но у меня не получилось

потому и прошу помочь
вот так выглядит уже рабочий скрипт, к которому и я хочу добавить это оформление
; Ñêðèïò ñîçäàí ñ ïîìîùüþ
; IS GameScript Generator by South
; ñïåöèàëüíî äëÿ www.csmania.ru

[Setup]
SourceDir=.
OutputDir=Setup
AppName=Valve
AppVerName=Valve(hl2/ep1/ep2/portal)
AppVersion=Valve
DefaultDirName={pf}\Valve
DefaultGroupName=Valve
AllowNoIcons=true
InfoBeforeFile=
OutputBaseFilename=setup
WizardImageFile=O:\hl2_setup\WizardImage.bmp
WizardSmallImageFile=O:\hl2_setup\WizardSmallImage.bmp
SetupIconFile=O:\hl2_setup\Ïðîåêò1.ico
WindowVisible=false
WindowShowCaption=false
WindowResizable=false
Compression=lzma2/Ultra
DiskSpanning=true
DiskSliceSize=960495616
SlicesPerDisk=1
InternalCompressLevel=Ultra

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

[Types]
Name: full; Description: полная установка
Name: custom; Description: выборочная установка; Flags: iscustom
Name: custom; Description: всё на русском; Flags: iscustom
Name: custom; Description: всё на английском; Flags: iscustom

[Components]
Name: g0; Description: source engine protocol version 15; Types: full custom; Flags: disablenouninstallwarning checkablealone fixed
Name: g0\c1; Description: half-life 2; Types: full; Flags: dontinheritcheck
Name: g0\c1\c2; Description: русская озвучка; Types: full; Flags: exclusive
Name: g0\c1\c2\c3; Description: дополнительная озвучка от Буки (опцилнально); Types: full; Flags: dontinheritcheck
Name: g0\c1\c4; Description: английская озвучка; Types: full; Flags: exclusive
Name: g0\c1\c5; Description: северное сияние (опционально); Types: full; Flags: dontinheritcheck
Name: g0\c6; Description: half-life 2 episode one; Types: full; Flags: dontinheritcheck
Name: g0\c6\c7; Description: русская озвучка; Types: full; Flags: exclusive
Name: g0\c6\c8; Description: английская озвучка; Types: full; Flags: exclusive
Name: g0\c9; Description: half-life 2 episode two; Types: full; Flags: dontinheritcheck
Name: g0\c9\c10; Description: русская озвучка; Types: full; Flags: exclusive
Name: g0\c9\c11; Description: английская озвучка; Types: full; Flags: exclusive
Name: g0\c12; Description: portal; Types: full; Flags: dontinheritcheck
Name: g0\c12\c13; Description: русская озвучка; Types: full; Flags: exclusive
Name: g0\c12\c14; Description: английская озвучка; Types: full; Flags: exclusive

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}

[Files]
Source: ISSkin.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: steam.cjstyles; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: O:\hl2_setup\ôîíîâûé ðèñóíîê.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: O:\hl2_setup\Splash.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: O:\hl2_setup\1\hl2\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c1
Source: O:\hl2_setup\1\add\half-life 2 russian\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c1\c2
Source: O:\hl2_setup\1\add\half-life 2 buka russian\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c1\c2\c3
Source: O:\hl2_setup\1\add\half-life 2 english\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c1\c4
Source: O:\hl2_setup\1\add\aurora borealis particle effects(optional)\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c1\c5
Source: O:\hl2_setup\1\hl2_ep1\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c6
Source: O:\hl2_setup\1\add\half-life 2 episode one russian\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c6\c7
Source: O:\hl2_setup\1\add\half-life 2 episode one english\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c6\c8
Source: O:\hl2_setup\1\hl2_ep2\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c9
Source: O:\hl2_setup\1\add\half-life 2 episode two russian\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c9\c10
Source: O:\hl2_setup\1\add\half-life 2 episode two english\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c9\c11
Source: O:\hl2_setup\1\port\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c12
Source: O:\hl2_setup\1\add\portal russian\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c12\c13
Source: O:\hl2_setup\1\add\portal english\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c12\c14
Source: O:\hl2_setup\1\steamapps\episode 1 shared.gcf; DestDir: {app}\steamapps\; Components: g0\c9 g0\c6
Source: O:\hl2_setup\1\steamapps\episode one 2007 content.gcf; DestDir: {app}\steamapps\; Components: g0\c6
Source: O:\hl2_setup\1\steamapps\episode two content.gcf; DestDir: {app}\steamapps\; Components: g0\c9
Source: O:\hl2_setup\1\steamapps\episode two maps.gcf; DestDir: {app}\steamapps\; Components: g0\c9
Source: O:\hl2_setup\1\steamapps\episode two materials.gcf; DestDir: {app}\steamapps\; Components: g0\c9
Source: O:\hl2_setup\1\steamapps\episodic 2007 shared.gcf; DestDir: {app}\steamapps\; Components: g0\c9 g0\c6
Source: O:\hl2_setup\1\steamapps\half-life 2 2007 base content.gcf; DestDir: {app}\steamapps\; Components: g0\c1
Source: O:\hl2_setup\1\steamapps\half-life 2 content.gcf; DestDir: {app}\steamapps\; Components: g0\c1
Source: O:\hl2_setup\1\steamapps\half-life 2 episode one russian.gcf; DestDir: {app}\steamapps\; Components: g0\c9\c10 g0\c6\c7
Source: O:\hl2_setup\1\steamapps\half-life 2 episode one.gcf; DestDir: {app}\steamapps\; Components: g0\c6
Source: O:\hl2_setup\1\steamapps\half-life 2 game dialog.gcf; DestDir: {app}\steamapps\; Components: g0\c1
Source: O:\hl2_setup\1\steamapps\half-life 2_russian.gcf; DestDir: {app}\steamapps\; Components: g0\c9\c10 g0\c6\c7 g0\c1\c2
Source: O:\hl2_setup\1\steamapps\portal content.gcf; DestDir: {app}\steamapps\; Components: g0\c12
Source: O:\hl2_setup\1\steamapps\source 2007 binaries 2.gcf; DestDir: {app}\steamapps\; Components: g0\c12 g0\c9 g0\c6 g0\c1
Source: O:\hl2_setup\1\steamapps\source 2007 shared materials.gcf; DestDir: {app}\steamapps\; Components: g0\c12 g0\c9 g0\c6 g0\c1
Source: O:\hl2_setup\1\steamapps\source 2007 shared models.gcf; DestDir: {app}\steamapps\; Components: g0\c12 g0\c9 g0\c6 g0\c1
Source: O:\hl2_setup\1\steamapps\source 2007 shared sounds.gcf; DestDir: {app}\steamapps\; Components: g0\c12 g0\c9 g0\c6 g0\c1
Source: O:\hl2_setup\1\steamapps\source materials.gcf; DestDir: {app}\steamapps\; Components: g0\c12 g0\c9 g0\c6 g0\c1
Source: O:\hl2_setup\1\steamapps\source models.gcf; DestDir: {app}\steamapps\; Components: g0\c12 g0\c9 g0\c6 g0\c1
Source: O:\hl2_setup\1\steamapps\source sounds.gcf; DestDir: {app}\steamapps\; Components: g0\c12 g0\c9 g0\c6 g0\c1

[Icons]
Name: {group}\half-life 2; Filename: {app}\half-life 2\hl2.exe; WorkingDir: {app}; Parameters: -steam -game hl2 -appid 220; Components: g0\c1
Name: {userdesktop}\half-life 2; Filename: {app}\half-life 2\hl2.exe; WorkingDir: {app}; Tasks: desktopicon; Parameters: -steam -game hl2 -appid 220; Components: g0\c1
Name: {group}\half-life 2 episode one; Filename: {app}\half-life 2 episode one\hl2.exe; WorkingDir: {app}; Parameters: -steam -game episodic -appid 380; Components: g0\c6
Name: {userdesktop}\half-life 2 episode one; Filename: {app}\half-life 2 episode one\hl2.exe; WorkingDir: {app}; Tasks: desktopicon; Parameters: -steam -game episodic -appid 380; Components: g0\c6
Name: {group}\half-life 2 episode two; Filename: {app}\half-life 2 episode two\hl2.exe; WorkingDir: {app}; Parameters: -steam -game ep2 -appid 420; Components: g0\c9
Name: {userdesktop}\half-life 2 episode two; Filename: {app}\half-life 2 episode two\hl2.exe; WorkingDir: {app}; Tasks: desktopicon; Parameters: -steam -game ep2 -appid 420; Components: g0\c9
Name: {group}\portal; Filename: {app}\portal\hl2.exe; WorkingDir: {app}; Parameters: -steam -game portal -appid 400; IconFilename: {app}\portal\portal\portal.ico; Components: g0\c12
Name: {userdesktop}\portal; Filename: {app}\portal\hl2.exe; WorkingDir: {app}; Tasks: desktopicon; Parameters: -steam -game portal -appid 400; IconFilename: {app}\portal\portal\portal.ico; Components: g0\c12
Name: {group}\{cm:UninstallProgram,Valve}; Filename: {uninstallexe}

[Run]
Description: {cm:LaunchProgram, half-life 2}; Filename: {app}\half-life 2\hl2.exe; WorkingDir: {app}; Parameters: -steam -game hl2 -appid 220; Components: g0\c1; Flags: nowait postinstall unchecked skipifsilent
Description: {cm:LaunchProgram, half-life 2 episode one}; Filename: {app}\half-life 2 episode one\hl2.exe; WorkingDir: {app}; Parameters: -steam -game episodic -appid 380; Languages: ; Components: g0\c6; Flags: nowait postinstall unchecked skipifsilent
Description: {cm:LaunchProgram, half-life 2 episode two}; Filename: {app}\half-life 2 episode two\hl2.exe; WorkingDir: {app}; Parameters: -steam -game ep2 -appid 420; Components: g0\c9; Flags: nowait postinstall unchecked skipifsilent
Description: {cm:LaunchProgram, portal}; Filename: {app}\portal\hl2.exe; WorkingDir: {app}; Parameters: -steam -game portal -appid 400; Components: g0\c12; Flags: nowait postinstall unchecked skipifsilent

[UninstallDelete]
Type: filesandordirs; Name: {app}

[Dirs]
Name: {app}\steamapps
[Code]
const
dURL=2;

var
URLLabel,URLLabelShadow:TLabel;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall';
function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';

procedure URLLabelClick(Sender: TObject);
var
ErrorCode:integer;
begin
ShellExec('open','http://forum.csmania.ru/','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;

procedure URLLabelMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
begin
URLLabel.Top:=URLLabel.Top+dURL;
URLLabel.Left:=URLLabel.Left+dURL;
URLLabel.Font.Style:=URLLabel.Font.Style+[fsUnderline];
URLLabel.Font.Color:=$50B5C4;
URLLabelShadow.Visible:=False;
end;

procedure URLLabelMouseUp(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
begin
URLLabel.Top:=URLLabel.Top-dURL;
URLLabel.Left:=URLLabel.Left-dURL;
URLLabel.Font.Style:=URLLabel.Font.Style-[fsUnderline];
URLLabel.Font.Color:=$708A7A;
URLLabelShadow.Visible:=True;
end;

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('steam.cjstyles');
LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');
Result:=True;
end;

procedure InitializeWizard;
begin
URLLabelShadow:=TLabel.Create(WizardForm);
with URLLabelShadow do begin
Top:=ScaleY(331);
Left:=ScaleX(25);
Caption:='http://forum.csmania.ru/';
AutoSize:=True;
Parent:=WizardForm;
Transparent:=True;
Font.Color:=$041207;
Font.Size:=9;
Font.Style:=Font.Style+[fsBold];
end;
URLLabel:=TLabel.Create(WizardForm);
with URLLabel do begin
Top:=ScaleY(331)-dURL;
Left:=ScaleX(25)-dURL;
Caption:='http://forum.csmania.ru/';
AutoSize:=True;
Parent:=WizardForm;
Cursor:=crHand;
Transparent:=True;
Font.Color:=$708A7A;
Font.Size:=9;
Font.Style:=Font.Style+[fsBold];
BringToFront;
OnClick:=@URLLabelClick;
OnMouseDown:=@URLLabelMouseDown;
OnMouseUp:=@URLLabelMouseUp;
end;
ExtractTemporaryFile('Splash.jpg');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash.jpg',1000,3000,1000,0,255,False, $FFFFFF,10);
ssInitialize(GetWindowLong(MainForm.Handle,-8),0,False,1,$FF000000);
ExtractTemporaryFile('ôîíîâûé ðèñóíîê.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\ôîíîâûé ðèñóíîê.jpg');
WizardForm.TypesCombo.ItemIndex:=0;
WizardForm.BeveledLabel.Enabled:=True;
end;

procedure DeinitializeSetup;
begin
ShowWindow(WizardForm.Handle,0);
UnloadSkin();
ssDeInitialize;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
var
i,j: integer;
s,c: string;
begin
Result := True;
if CurPageID = wpSelectDir then
begin
c := 'ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãä叿çèéêëìíîïðñòóôõö÷øùúûüýþÿ';
for i:=1 to length(WizardForm.DirEdit.text) do
for j:=1 to length(c) do
begin
if WizardForm.DirEdit.text[i] = c[j] then
begin
s := 'Â ïóòè óñòàíîâêè ïðèñóòñòâóþò ðóññêèå áóêâû, ÷òî íåäîïóñòèìî'#13#13'Ïîæàëóéñòà, ïîâòîðèòå ââîä.';
MsgBox(s, mbError, mb_Ok);
Result := False ;
exit;
end
else Result := True;
end;
end;
end;

Rikill
09-07-2011, 03:39
valyok666 я всё же надеюсь что ты сам исправишь и заглянешь сюда в последний момент


[Icons]
Name: "{group}\удаление {#myappname}"; Filename: "{uninstallexe}"; Comment: "Удалить {#myappname}";

[Run]
Filename: "{src}\Redist\dxwebsetup.exe"; WorkingDir: "{src}\Redist"; Parameters: "/q"; StatusMsg: "Установеп DirectX..."; Flags: waituntilterminated; tasks: Tasks0\Tasks1

p.s. Neutron больше не путай, удачи

valyok666
10-07-2011, 02:35
ISFreeArcExtract v.4.1 как подключить его как модуль?что вставить в главном скрипте???

Rikill
10-07-2011, 04:01
valyok666, вставляешь копипастой и всё. совмещай, если не знаешь как правильно совместить читай мой урок, он был где-то тут.

No4noylis
10-07-2011, 15:41
Люди помогите плиз!!!!!!! Совсем не могу разобраться с привязкой .PNG изображения в инсталлятор :search: Пожалуйста опишите, если можно поподробней, как привязывать .PNG изображения в инсталлятор????????

Edison007
10-07-2011, 16:06
No4noylis
http://rghost.ru/14062641

No4noylis
10-07-2011, 18:21
Edison007, а нельзя ли как нибудь сделать чтоб это картинка была сверху фоновых .bmp картинок????


with WizardForm do begin
InnerNotebook.Hide;
OuterNotebook.Hide;
Bevel.Hide;
end;

Это приходится удалить чтоб был виден фон и все остальные кнопки, но как тогда сделать что .PNG картинка осталась видна?

Gnom_aka_Lexander
10-07-2011, 19:34
Johny777, Я давно уже сделал пример для всех страниц. Неужели так сложно почитать форум прежде, чем задавать вопрос?. Скачать (http://rghost.ru/12477681). Компилировать на расширенной версии. Взять ее можно здесь: Скачать (http://innoultra.ru/downloads/InnoUltra/InnoUpdate.exe). При установке компоненты оставить как есть.

Edison007
11-07-2011, 00:10
No4noylis
Нужно задать Parent
Вот пример кода:
[Code]
var
Img:Longint;

function InitializeSetup:boolean;
begin
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
Result:=True;
end;

procedure InitializeWizard;
begin
ExtractTemporaryFile('mspaint.png');
Img:=ImgLoad(WizardForm.SelectDirPage.Handle,ExpandConstant('{tmp}\mspaint.png'),230,100,100,100,Tru e,True);
ImgApplyChanges(WizardForm.SelectDirPage.Handle);
end;

procedure DeinitializeSetup;
begin
gdipShutDown;
end;

Johny777
11-07-2011, 00:51
Лександер
спасибо большое

через гугл искал, но ничего не нашёл
расширенная китайская есть
пользуюсь
очень доволен

ещё вопрос
моё приложение (как в скрипте в моём предыдущем сообщении) состоит из компонентов
например компонент 1 и 2
компонент 1 использует файлы А и Б
компонент 2 использует файлы А и С

допустим я установил компонент 1
потом решил "доустановить" компонент 2, но у меня уже есть общие файлы А
как сделать что бы он не переустанавливал то что уже установлено (тк объём большой), а установил только то чего не хватает??

потому что у меня он каждый раз переписывает

Neutron
спасибо

No4noylis
11-07-2011, 09:20
Edison007, немогли бы вы указать где именно этот параметр. У меня все равно не видно PNG картинки: http://s2.ipicture.ru/uploads/20110711/Zd7UNSCe.jpg

valyok666
11-07-2011, 10:25
Edison007, если я не ожибаюсь там требуется подключение ботвы да?

vint56
11-07-2011, 13:43
No4noylis, пример

[Setup]
AppName=DrawImage
AppVerName=DrawImage
DefaultDirName={pf}\ImageExample

[Files]
Source: InstallFiles\*; Flags: dontcopy

[Code]
var
Img:Longint;

function ImgLoad(Wnd :HWND; FileName :PAnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@{tmp}\botva2.dll stdcall delayload';
procedure ImgApplyChanges(h:HWND); external 'ImgApplyChanges@{tmp}\botva2.dll stdcall delayload';
procedure gdipShutdown; external 'gdipShutdown@{tmp}\botva2.dll stdcall delayload';

function InitializeSetup:boolean;
begin
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
Result:=True;
end;

procedure InitializeWizard;
begin
ExtractTemporaryFile('mspaint.png');
Img:=ImgLoad(WizardForm.SelectDirPage.Handle,ExpandConstant('{tmp}\mspaint.png'),20,85,128,128,True, True);
ImgApplyChanges(WizardForm.SelectDirPage.Handle);
end;

procedure DeinitializeSetup;
begin
gdipShutDown;
end;

saddevil
11-07-2011, 14:27
Помогите разобраться со следующей проблемой
Я создал инсталляционный пакет, работа которого заключается в следующем:
1) Распаковать файлы (еще один инсталляки файлы необходимые для его работы).
2) Запускает внутренний инсталляк.
3)По завершению работы внутреннего инсталляка удаляет все распакованные файлы.

Проблема возникает в том случае если внутренний инсталляк требует перезагрузки для продолжения своей работы.
Когда во внутреннем инсталляке я соглашаюсь на перезагрузку то внешний подвисает. Соответственно если компьютер ребутнуть насильно, то внутренний инсталляк заканчивает свою работу а внешний нет(т.е. файлы остаются не удаленными).

Возможно кто-то может подсказать каким образом можно сделать так чтобы перезагрузка осуществлялась нормально и после нее оба инсталляка нормально заканчивали свою работу.

No4noylis
11-07-2011, 14:54
vint56, эти стороки пишет Duplicate identifier:

function ImgLoad(Wnd :HWND; FileName :PAnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@{tmp}\botva2.dll stdcall delayload';
procedure ImgApplyChanges(h:HWND); external 'ImgApplyChanges@{tmp}\botva2.dll stdcall delayload';
procedure gdipShutdown; external 'gdipShutdown@{tmp}\botva2.dll stdcall delayload';

Gnom_aka_Lexander
11-07-2011, 15:04
No4noylis, значит удали их. Раз Duplicate , значит они у тебя уже гдето есть.

vint56
11-07-2011, 15:10
No4noylis, ты выложи скрипт свой чтобы исправить




© OSzone.net 2001-2012