summary refs log tree commit diff stats
path: root/build/xchat-wdk-x86.skel.iss
diff options
context:
space:
mode:
Diffstat (limited to 'build/xchat-wdk-x86.skel.iss')
-rw-r--r--build/xchat-wdk-x86.skel.iss35
1 files changed, 35 insertions, 0 deletions
diff --git a/build/xchat-wdk-x86.skel.iss b/build/xchat-wdk-x86.skel.iss
index 7786dc23..75f92a59 100644
--- a/build/xchat-wdk-x86.skel.iss
+++ b/build/xchat-wdk-x86.skel.iss
@@ -64,6 +64,13 @@ Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: "";
 Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent

 

 [Files]

+; Add the ISSkin DLL used for skinning Inno Setup installations.

+Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy

+

+; Add the Visual Style resource contains resources used for skinning,

+; you can also use Microsoft Visual Styles (*.msstyles) resources.

+Source: watercolorlite-green.cjstyles; DestDir: {tmp}; Flags: dontcopy

+

 Source: "portable-mode"; DestDir: "{app}"; Tasks: portable

 

 Source: "cert.pem"; DestDir: "{app}"; Components: libs

@@ -204,3 +211,31 @@ begin
 		end;

 	end;

 end;

+

+/////////////////////////////////////////////////////////////////////

+// Importing LoadSkin API from ISSkin.DLL

+procedure LoadSkin(lpszPath: String; lpszIniFileName: String);

+external 'LoadSkin@files:isskinu.dll stdcall';

+

+// Importing UnloadSkin API from ISSkin.DLL

+procedure UnloadSkin();

+external 'UnloadSkin@files:isskinu.dll stdcall';

+

+// Importing ShowWindow Windows API from User32.DLL

+function ShowWindow(hWnd: Integer; uType: Integer): Integer;

+external 'ShowWindow@user32.dll stdcall';

+

+function InitializeSetup(): Boolean;

+begin

+  ExtractTemporaryFile('watercolorlite-green.cjstyles');

+  LoadSkin(ExpandConstant('{tmp}\watercolorlite-green.cjstyles'), '');

+  Result := True;

+end;

+

+procedure DeinitializeSetup();

+begin

+  // Hide Window before unloading skin so user does not get

+  // a glimpse of an unskinned window before it is closed.

+  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);

+  UnloadSkin();

+end;