Script.iss:
Код:
procedure DeinitializeSetup;
begin
WFDeInit;
gdipShutDown;
end;
Window.iss:
Код:
procedure WFDeInit;
begin
BASS_Stop;
BASS_Free;
BtnFont.Free;
Frame.Free;
WizardForm.Free;
if IsCustomFontInstalled then
if RemoveFontResource(ExpandConstant('{tmp}')+'\{#Font}') then SendMessage($FFFF,$1D,0,0);
end;
И зачем лишние библиотеки в
Description.iss:
Код:
function WndProcCallBack(P:TCallbackProc;ParamCount:integer):LongWord; external 'wrapcallbackaddr@{tmp}\CallbackCtrl.dll stdcall delayload';
Когда вполне можно обойтись и без нее.
Frame.iss:
Код:
procedure CreateFrame;
begin
Frame:=TForm.Create(nil);;
Frame.BorderStyle:=bsNone;
CreateFormFromImage(Frame.Handle,ExpandConstant('{tmp}\frame.png'));
with TLabel.Create(Frame) do begin
Parent:= Frame;
AutoSize:= False;
Left:=0; // настройка frame по левому краю 126
Top:=0; // настройка frame по верхнему краю 45
Width:= Frame.CLientWidth;
Height:= Frame.ClientHeight;
OnMouseDown:= @FrameMouseDown;
end;
WizardForm.Left:= Frame.Left+0; // настройка frame по левому краю +126
WizardForm.Top:= Frame.Top+0; // настройка frame по верхнему краю +45
WFOldProc:= SetWindowLong(WizardForm.Handle,-4,CallbackAddr('WFProc')); // WndProcCallBack(@WFProc,4));
// Frame.Hide;
end;
Шибко в дебри не лез, так как не люблю я эти модульные конструкции, но на вскидку - мусора хватает ...