From 330d102badf3c9837e035e4a3917c8a6ae2ec3e7 Mon Sep 17 00:00:00 2001 From: stskeeps Date: Sun, 18 Aug 2002 11:16:42 +0000 Subject: [PATCH] Fixed some installer problems wrt SSL compile, and added makefile.win32.ssl --- Changes | 3 +- makefile.win32.ssl | 397 ++++++++++++++++++++++++++++++++++++ src/win32/unrealinstssl.iss | 6 +- 3 files changed, 402 insertions(+), 4 deletions(-) create mode 100644 makefile.win32.ssl diff --git a/Changes b/Changes index 7c5b906f2..efc9e131a 100644 --- a/Changes +++ b/Changes @@ -1480,4 +1480,5 @@ seen. gmtime warning still there - Fixed a bug where the win32 installer didn't install dbghelp.dll on systems that don't have any version of the dll. - Removed GNU malloc totally from the FSU pthreads distribution -- Added some somewhat path specifics to unrealinstssl.iss \ No newline at end of file +- Added some somewhat path specifics to unrealinstssl.iss +- Fixed some installer problems wrt SSL compile, and added makefile.win32.ssl diff --git a/makefile.win32.ssl b/makefile.win32.ssl new file mode 100644 index 000000000..e0d58c9da --- /dev/null +++ b/makefile.win32.ssl @@ -0,0 +1,397 @@ +# +# UnrealIRCd Makefile - codemastr +# SSL portions, - stskeeps +# This requires an openssl compile in c:\openssl, +# with .lib in lib\, .dll in bin\ and openssl/ in include/openssl +# +CC=cl +LINK=link +RC=rc +# Here you put your settings +DEBUG=1 +FD_SETSIZE=/D USE_SSL=1 /D SCAN_API=1 /D FD_SETSIZE=16384 +!IFNDEF DEBUG +CFLAGS=/MT /O2 /G5 /I ./INCLUDE /I c:\openssl\include /Fosrc/ /nologo $(FD_SETSIZE) $(NS_ADDRESS) /D STATIC_LINKING /D _WIN32GUI /D NOSPOOF=1 /c +LFLAGS=c:\openssl\lib\ssleay32.lib c:\openssl\lib\libeay32.lib kernel32.lib user32.lib gdi32.lib shell32.lib ws2_32.lib advapi32.lib dbghelp.lib \ + oldnames.lib libcmt.lib comctl32.lib comdlg32.lib /nodefaultlib /nologo /out:WIRCD.EXE +!ELSE +CFLAGS= /MTd /Zi /I ./INCLUDE /I c:\openssl\include /Fosrc/ /nologo $(FD_SETSIZE) $(NS_ADDRESS) /D STATIC_LINKING /D _WIN32GUI /D NOSPOOF=1 /c +LFLAGS=c:\openssl\lib\ssleay32.lib c:\openssl\lib\libeay32.lib kernel32.lib user32.lib gdi32.lib shell32.lib wsock32.lib dbghelp.lib\ + oldnames.lib libcmt.lib comctl32.lib comdlg32.lib \ + advapi32.lib /nodefaultlib /nologo /debug /debugtype:BOTH /OUT:WIRCD.EXE +!ENDIF + + +INCLUDES=./include/struct.h ./include/config.h ./include/sys.h \ + ./include/common.h ./include/version.h ./include/h.h ./include/numeric.h \ + ./include/msg.h ./include/setup.h ./include/dynconf.h + +OBJ_FILES=SRC/CHANNEL.OBJ SRC/SEND.OBJ SRC/SOCKET.OBJ \ + SRC/S_CONF.OBJ SRC/FDLIST.OBJ SRC/DBUF.OBJ \ + SRC/CLOAK.OBJ SRC/HASH.OBJ SRC/PARSE.OBJ SRC/IRCD.OBJ \ + SRC/S_NUMERIC.OBJ SRC/WHOWAS.OBJ SRC/S_AUTH.OBJ \ + SRC/HELP.OBJ SRC/S_MISC.OBJ SRC/MATCH.OBJ SRC/CRULE.OBJ \ + SRC/S_DEBUG.OBJ SRC/SUPPORT.OBJ SRC/LIST.OBJ \ + SRC/S_ERR.OBJ SRC/PACKET.OBJ SRC/S_BSD.OBJ \ + SRC/S_SERV.OBJ SRC/S_USER.OBJ SRC/WIN32GUI.OBJ \ + SRC/VERSION.OBJ SRC/RES_INIT.OBJ \ + SRC/S_KLINE.OBJ SRC/S_EXTRA.OBJ SRC/IRCSPRINTF.OBJ SRC/LUSERS.OBJ \ + SRC/SCACHE.OBJ SRC/ALN.OBJ SRC/BADWORDS.OBJ SRC/WEBTV.OBJ SRC/RES.OBJ SRC/MODULES.OBJ \ + SRC/S_SVS.OBJ SRC/EVENTS.OBJ SRC/UMODES.OBJ SRC/AUTH.OBJ SRC/CIDR.OBJ SRC/SSL.OBJ \ + SRC/SERVICE.OBJ SRC/DEBUG.OBJ + +MOD_FILES=SRC/L_COMMANDS.OBJ SRC/M_CHGHOST.OBJ SRC/M_SDESC.OBJ SRC/M_SETIDENT.OBJ \ + SRC/M_SETNAME.OBJ SRC/M_SETHOST.OBJ SRC/M_CHGIDENT.OBJ SRC/M_SVSMOTD.OBJ \ + SRC/M_SVSNLINE.OBJ SRC/M_WHO.OBJ SRC/M_SWHOIS.OBJ SRC/M_SVSMODE.OBJ \ + SRC/M_AWAY.OBJ SRC/M_SVSNOOP.OBJ SRC/M_MKPASSWD.OBJ SRC/M_SVSO.OBJ SRC/M_SVSNICK.OBJ \ + SRC/M_ADMINCHAT.OBJ SRC/M_AKILL.OBJ SRC/M_CHGNAME.OBJ SRC/M_GUEST.OBJ SRC/M_HTM.OBJ \ + SRC/M_KLINE.OBJ SRC/M_LAG.OBJ SRC/M_MESSAGE.OBJ SRC/M_NACHAT.OBJ SRC/M_OPER.OBJ \ + SRC/M_PINGPONG.OBJ SRC/M_QUIT.OBJ SRC/M_RAKILL.OBJ SRC/M_RPING.OBJ SRC/M_SENDUMODE.OBJ \ + SRC/M_SQLINE.OBJ SRC/M_KILL.OBJ SRC/M_TSCTL.OBJ SRC/M_UNKLINE.OBJ \ + SRC/M_UNSQLINE.OBJ SRC/M_UNZLINE.OBJ SRC/M_WHOIS.OBJ SRC/M_ZLINE.OBJ \ + SRC/SCAN.OBJ SRC/SCAN_SOCKS.OBJ SRC/SCAN_HTTP.OBJ SRC/M_TKL.OBJ SRC/M_VHOST.OBJ \ + SRC/M_CYCLE.OBJ SRC/M_SVSJOIN.OBJ SRC/M_SVSPART.OBJ SRC/INVISIBILITY.OBJ + +ALL: CONF UNREAL.EXE WIRCD.EXE + +CLEAN: + -@erase src\*.obj >NUL + -@erase src\win32.res >NUL + -@erase src\version.c >NUL + -@erase src\win32\*.obj >NUL + -@erase .\*.exe >NUL + +./UNREAL.EXE: SRC/UNREAL.OBJ SRC/WIN32/UNREAL.RES + $(LINK) advapi32.lib src/unreal.obj src/win32/unreal.res + +CONF: + -@copy include\win32\setup.h include\setup.h >NUL + $(CC) src/win32/config.c + -@config.exe + + + +./WIRCD.EXE: $(OBJ_FILES) $(MOD_FILES) SRC/win32/WIN32.RES + $(LINK) $(LFLAGS) $(OBJ_FILES) $(MOD_FILES) SRC/win32/WIN32.RES SRC/WIN32/GNU_REGEX.LIB /MAPINFO:LINES /MAP + -@erase src\win32\win32.res +!IFNDEF DEBUG + @echo Non Debug version built +!ELSE + @echo Debug version built ... +!ENDIF + +src/version.obj: src/version.c + $(CC) $(CFLAGS) src/version.c + +src/parse.obj: src/parse.c $(INCLUDES) + $(CC) $(CFLAGS) src/parse.c + +src/badwords.obj: src/badwords.c $(INCLUDES) + $(CC) $(CFLAGS) src/badwords.c + +src/webtv.obj: src/webtv.c $(INCLUDES) + $(CC) $(CFLAGS) src/webtv.c + +src/socket.obj: src/socket.c $(INCLUDES) + $(CC) $(CFLAGS) src/socket.c + +src/dbuf.obj: src/dbuf.c $(INCLUDES) ./include/dbuf.h + $(CC) $(CFLAGS) src/dbuf.c + +src/ircsprintf.obj: src/ircsprintf.c $(INCLUDES) + $(CC) $(CFLAGS) src/ircsprintf.c + +src/packet.obj: src/packet.c $(INCLUDES) + $(CC) $(CFLAGS) src/packet.c + +src/fdlist.obj: src/fdlist.c $(INCLUDES) + $(CC) $(CFLAGS) src/fdlist.c + +src/dynconf.obj: src/dynconf.c $(INCLUDES) ./include/dbuf.h \ + ./include/channel.h ./include/whowas.h + $(CC) $(CFLAGS) src/dynconf.c + +src/send.obj: src/send.c $(INCLUDES) + $(CC) $(CFLAGS) src/send.c + +src/match.obj: src/match.c $(INCLUDES) + $(CC) $(CFLAGS) src/match.c + +src/support.obj: src/support.c $(INCLUDES) + $(CC) $(CFLAGS) src/support.c + +src/channel.obj: src/channel.c $(INCLUDES) ./include/channel.h + $(CC) $(CFLAGS) src/channel.c + +src/class.obj: src/class.c $(INCLUDES) ./include/class.h + $(CC) $(CFLAGS) src/class.c + +src/lusers.obj: src/lusers.c $(INCLUDES) + $(CC) $(CFLAGS) src/lusers.c + +src/aln.obj: src/aln.c $(INCLUDES) + $(CC) $(CFLAGS) src/aln.c + +src/ircd.obj: src/ircd.c $(INCLUDES) + $(CC) $(CFLAGS) src/ircd.c + +src/list.obj: src/list.c $(INCLUDES) + $(CC) $(CFLAGS) src/list.c + +src/res.obj: src/res.c $(INCLUDES) + $(CC) $(CFLAGS) src/res.c + +src/s_bsd.obj: src/s_bsd.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_bsd.c + +src/s_auth.obj: src/s_auth.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_auth.c + +src/s_conf.obj: src/s_conf.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_conf.c + +src/s_debug.obj: src/s_debug.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_debug.c + +src/s_err.obj: src/s_err.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_err.c + +src/s_kline.obj: src/s_kline.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_kline.c + +src/s_misc.obj: src/s_misc.c $(INCLUDES) ./include/dbuf.h + $(CC) $(CFLAGS) src/s_misc.c + +src/scache.obj: src/scache.c $(INCLUDES) ./include/dbuf.h + $(CC) $(CFLAGS) src/scache.c + +src/s_socks.obj: src/s_socks.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_socks.c + +src/s_svs.obj: src/s_svs.c $(INCLUDES) + $(CC) $(CFLAGS) src/s_svs.c + +src/s_user.obj: src/s_user.c $(INCLUDES) ./include/dbuf.h \ + ./include/channel.h ./include/whowas.h + $(CC) $(CFLAGS) src/s_user.c + +src/s_extra.obj: src/s_extra.c $(INCLUDES) ./include/dbuf.h \ + ./include/channel.h ./include/whowas.h + $(CC) $(CFLAGS) src/s_extra.c + +src/s_serv.obj: src/s_serv.c $(INCLUDES) ./include/dbuf.h ./include/whowas.h + $(CC) $(CFLAGS) src/s_serv.c + +src/s_numeric.obj: src/s_numeric.c $(INCLUDES) ./include/dbuf.h + $(CC) $(CFLAGS) src/s_numeric.c + +src/whowas.obj: src/whowas.c $(INCLUDES) ./include/dbuf.h ./include/whowas.h + $(CC) $(CFLAGS) src/whowas.c + +src/hash.obj: src/hash.c $(INCLUDES) ./include/hash.h + $(CC) $(CFLAGS) src/hash.c + +src/crule.obj: src/crule.c $(INCLUDES) + $(CC) $(CFLAGS) src/crule.c + +src/win32gui.obj: src/win32/win32gui.c $(INCLUDES) ./include/resource.h + $(CC) $(CFLAGS) src/win32/win32gui.c + +src/service.obj: src/win32/service.c $(INCLUDES) + $(CC) $(CFLAGS) src/win32/service.c + +src/unreal.obj: src/win32/unreal.c $(INCLUDES) + $(CC) $(CFLAGS) src/win32/unreal.c + +src/debug.obj: src/win32/debug.c $(INCLUDES) + $(CC) $(CFLAGS) src/win32/debug.c + +src/res_comp.obj: src/res_comp.c $(INCLUDES) + $(CC) $(CFLAGS) src/res_comp.c + +src/res_init.obj: src/res_init.c $(INCLUDES) + $(CC) $(CFLAGS) src/res_init.c + +src/help.obj: src/help.c $(INCLUDES) + $(CC) $(CFLAGS) src/help.c + +src/modules.obj: src/modules.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules.c + +src/events.obj: src/events.c $(INCLUDES) + $(CC) $(CFLAGS) src/events.c + +src/umodes.obj: src/umodes.c $(INCLUDES) + $(CC) $(CFLAGS) src/umodes.c + +src/auth.obj: src/auth.c $(INCLUDES) + $(CC) $(CFLAGS) src/auth.c + +src/cidr.obj: src/cidr.c $(INCLUDES) + $(CC) $(CFLAGS) src/cidr.c + +src/ssl.obj: src/ssl.c $(INCLUDES) + $(CC) $(CFLAGS) src/ssl.c + +src/l_commands.obj: src/modules/l_commands.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/l_commands.c + +src/m_chghost.obj: src/modules/m_chghost.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_chghost.c + +src/m_chgident.obj: src/modules/m_chgident.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_chgident.c + +src/m_sdesc.obj: src/modules/m_sdesc.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_sdesc.c + +src/m_sethost.obj: src/modules/m_sethost.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_sethost.c + +src/m_setident.obj: src/modules/m_setident.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_setident.c + +src/m_setname.obj: src/modules/m_setname.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_setname.c + +src/m_svsmotd.obj: src/modules/m_svsmotd.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svsmotd.c + +src/m_svsmode.obj: src/modules/m_svsmode.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svsmode.c + +src/m_tkl.obj: src/modules/m_tkl.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_tkl.c + +src/m_swhois.obj: src/modules/m_swhois.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_swhois.c + +src/m_svsnline.obj: src/modules/m_svsnline.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svsnline.c + +src/m_who.obj: src/modules/m_who.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_who.c + +src/m_away.obj: src/modules/m_away.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_away.c + +src/m_mkpasswd.obj: src/modules/m_mkpasswd.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_mkpasswd.c + +src/m_svsnoop.obj: src/modules/m_svsnoop.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svsnoop.c + +src/m_svso.obj: src/modules/m_svso.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svso.c + +src/m_svsnick.obj: src/modules/m_svsnick.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svsnick.c + +src/m_adminchat.obj: src/modules/m_adminchat.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_adminchat.c + +src/m_akill.obj: src/modules/m_akill.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_akill.c + +src/m_chgname.obj: src/modules/m_chgname.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_chgname.c + +src/m_guest.obj: src/modules/m_guest.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_guest.c + +src/m_htm.obj: src/modules/m_htm.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_htm.c + +src/m_kill.obj: src/modules/m_kill.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_kill.c + +src/m_kline.obj: src/modules/m_kline.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_kline.c + +src/m_lag.obj: src/modules/m_lag.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_lag.c + +src/m_message.obj: src/modules/m_message.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_message.c + +src/m_nachat.obj: src/modules/m_nachat.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_nachat.c + +src/m_oper.obj: src/modules/m_oper.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_oper.c + +src/m_pingpong.obj: src/modules/m_pingpong.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_pingpong.c + +src/m_quit.obj: src/modules/m_quit.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_quit.c + +src/m_rakill.obj: src/modules/m_rakill.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_rakill.c + +src/m_rping.obj: src/modules/m_rping.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_rping.c + +src/m_sendumode.obj: src/modules/m_sendumode.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_sendumode.c + +src/m_sqline.obj: src/modules/m_sqline.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_sqline.c + +src/m_tsctl.obj: src/modules/m_tsctl.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_tsctl.c + +src/m_unkline.obj: src/modules/m_unkline.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_unkline.c + +src/m_unsqline.obj: src/modules/m_unsqline.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_unsqline.c + +src/m_unzline.obj: src/modules/m_unzline.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_unzline.c + +src/m_whois.obj: src/modules/m_whois.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_whois.c + +src/m_zline.obj: src/modules/m_zline.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_zline.c + +src/m_vhost.obj: src/modules/m_vhost.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_vhost.c + +src/m_cycle.obj: src/modules/m_cycle.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_cycle.c + +src/m_svsjoin.obj: src/modules/m_svsjoin.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svsjoin.c + +src/m_svspart.obj: src/modules/m_svspart.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/m_svspart.c + +src/scan.obj: src/modules/scan.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/scan.c + +src/scan_dummy.obj: src/modules/scan_dummy.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/scan_dummy.c + +src/scan_socks.obj: src/modules/scan_socks.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/scan_socks.c + +src/scan_http.obj: src/modules/scan_http.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/scan_http.c + +src/invisibility.obj: src/modules/invisibility.c $(INCLUDES) + $(CC) $(CFLAGS) src/modules/invisibility.c + +src/win32/win32.res: src/win32/win32gui.rc + $(RC) /l 0x409 /fosrc/win32/win32.res /i ./include /i ./src \ + /d NDEBUG src/win32/win32gui.rc + +src/win32/unreal.res: src/win32/unreal.rc + $(RC) /l 0x409 /fosrc/win32/unreal.res /i ./include /i ./src \ + /d NDEBUG src/win32/unreal.rc + +dummy: + + + diff --git a/src/win32/unrealinstssl.iss b/src/win32/unrealinstssl.iss index 6d975d6b4..5dc561792 100644 --- a/src/win32/unrealinstssl.iss +++ b/src/win32/unrealinstssl.iss @@ -19,12 +19,12 @@ OutputDir=../../ Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:" Name: "quicklaunchicon"; Description: "Create a &Quick Launch icon"; GroupDescription: "Additional icons:"; Flags: unchecked Name: "installservice"; Description: "Install &Service"; GroupDescription: "Service support:"; MinVersion: 0,4.0 -Name: "makecert"; Description: "Create &Certificate"; GrouptDescription: "SSL options:"; +Name: "makecert"; Description: "Create &Certificate"; GroupDescription: "SSL options:"; [Files] Source: "..\..\wircd.exe"; DestDir: "{app}"; CopyMode: alwaysoverwrite Source: "..\..\WIRCD.pdb"; DestDir: "{app}"; CopyMode: alwaysoverwrite -Source: "..\..\.CHANGES.NEW"; DestDir: "{app}"; DestName: "CHANGES.NEW.txt";CopyMode: alwaysoverwrite +Source: "..\..\.CHANGES.NEW"; DestDir: "{app}"; DestName: "CHANGES.NEW.txt"; CopyMode: alwaysoverwrite Source: "..\..\.CONFIG.RANT"; DestDir: "{app}"; DestName: "CONFIG.RANT.txt"; CopyMode: alwaysoverwrite Source: "..\..\.NEW_CONFIG"; DestDir: "{app}"; DestName: "NEW_CONFIG.txt"; CopyMode: alwaysoverwrite Source: "..\..\.RELEASE.NOTES"; DestDir: "{app}"; DestName: "RELEASE.NOTES.txt"; CopyMode: alwaysoverwrite @@ -106,7 +106,7 @@ Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\UnrealIRCd"; Filen [Run] Filename: "notepad"; Description: "View example.conf"; Parameters: "{app}\doc\example.conf"; Flags: postinstall skipifsilent shellexec runmaximized Filename: "notepad"; Description: "View conf.doc"; Parameters: "{app}\doc\conf.doc"; Flags: postinstall skipifsilent shellexec runmaximized -Filename: "notepad"; Description: "View Release Notes"; Parameters: "{app}\.RELEASE.NOTES"; Flags: postinstall skipifsilent shellexec runmaximized +Filename: "notepad"; Description: "View Release Notes"; Parameters: "{app}\RELEASE.NOTES.txt"; Flags: postinstall skipifsilent shellexec runmaximized Filename: "notepad"; Description: "View Changes"; Parameters: "{app}\Changes"; Flags: postinstall skipifsilent shellexec runmaximized Filename: "{app}\unreal.exe"; Parameters: "install"; Flags: runminimized nowait; Tasks: installservice Filename: "{app}\makecert.bat"; Tasks: makecert