summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--build/xchat-wdk.skel.iss20
1 files changed, 15 insertions, 5 deletions
diff --git a/build/xchat-wdk.skel.iss b/build/xchat-wdk.skel.iss
index 44b58813..c633c21f 100644
--- a/build/xchat-wdk.skel.iss
+++ b/build/xchat-wdk.skel.iss
@@ -281,15 +281,25 @@ end;
 

 /////////////////////////////////////////////////////////////////////

 procedure CurStepChanged(CurStep: TSetupStep);

+var

+	sAppPath: String;

+	sTempPath: String;

 begin

-	if not (IsTaskSelected('portable')) then

+	if not (IsTaskSelected('portable')) and (IsUpgrade()) then

 	begin

 		if (CurStep=ssInstall) then

 		begin

-			if (IsUpgrade()) then

-			begin

-				UnInstallOldVersion();

-			end;

+			sAppPath := ExtractFilePath(Application.ExeName);

+			sTempPath := GetTempDir();

+

+			DelTree(sTempPath + 'gtk-2.0', True, True, True)

+			RenameFile(sAppPath + 'etc\gtk-2.0', sTempPath + 'gtk-2.0');

+			UnInstallOldVersion();

+		end;

+		if (CurStep=ssPostInstall) then

+		begin

+			DelTree(sAppPath + 'etc\gtk-2.0', True, True, True)

+			RenameFile(sTempPath + 'gtk-2.0', sAppPath + 'etc\gtk-2.0');

 		end;

 	end;

 end;