Updated installer script

This commit is contained in:
David Anderson 2005-08-03 01:14:17 +00:00
parent a973adb4f2
commit 8f61073f43
3 changed files with 79 additions and 70 deletions

View File

@ -87,6 +87,11 @@ public virtual int GetPlugins()
return m_Plugins.Count;
}
public virtual string GetModPath()
{
return GetName() + "\\addons\\amxmodx";
}
public virtual Plugin GetPlugin(int i)
{
return (Plugin)m_Plugins[i];

View File

@ -49,7 +49,7 @@ public bool Build(ABuild build)
System.Console.WriteLine("Mod failed to build: " + mod.GetName());
return false;
}
ZipDir(build.GetName() + "-" + mod.GetName() + ".zip", mod.GetName());
ZipDir(build.GetName() + "-" + mod.GetName() + ".zip", mod.GetName() + "\\*.*");
}
return true;
@ -63,7 +63,7 @@ public bool BuildMod(AMod mod)
if (!BuildModPlugins(mod))
return false;
string basedir = m_Cfg.OutputPath() + "\\" + mod.GetName();
string basedir = m_Cfg.OutputPath() + "\\" + mod.GetModPath();
string sourcetree = m_Cfg.GetSourceTree();
if (!mod.CopyExtraFiles(basedir, sourcetree))
@ -87,7 +87,7 @@ public void ZipDir(string target, string dir)
public void CopyConfigs(AMod mod)
{
string basedir = m_Cfg.OutputPath() + "\\" + mod.GetName() + "\\configs";
string basedir = m_Cfg.OutputPath() + "\\" + mod.GetModPath() + "\\configs";
if (!Directory.Exists(basedir))
Directory.CreateDirectory(basedir);
@ -126,7 +126,7 @@ public bool BuildModPlugins(AMod mod)
string binary, basedir;
basedir = m_Cfg.OutputPath();
basedir += "\\" + mod.GetName();
basedir += "\\" + mod.GetModPath();
string dir, file, target;
for (int i=0; i<num; i++)
@ -193,7 +193,7 @@ public bool BuildModModules(AMod mod)
string binary, basedir;
basedir = m_Cfg.OutputPath();
basedir += "\\" + mod.GetName();
basedir += "\\" + mod.GetModPath();
string dir;
for (int i=0; i<num; i++)

View File

@ -2,10 +2,10 @@
; Licensed under the GNU General Public License
; Written by -=HaXoMaTiC=-
!define PRODUCT_NAME "AMX Mod X Installer"
!define PRODUCT_VERSION "1.01"
!define PRODUCT_VERSION "1.50"
!define PRODUCT_PUBLISHER "AMX Mod X Dev Team"
!define PRODUCT_WEB_SITE "http://www.amxmodx.org/"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\amxmodx.exe"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Installer.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
@ -37,7 +37,7 @@ var ICONS_GROUP
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN "$INSTDIR\amxmodx.exe"
!define MUI_FINISHPAGE_RUN "$INSTDIR\Installer.exe"
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
@ -62,7 +62,13 @@ Section "MainSection" SEC01
SetOutPath "$INSTDIR"
CreateDirectory "$INSTDIR\temp"
SetOverwrite try
File "installer\amxmodx.exe"
File "installer\Installer.exe"
SetOutPath "$INSTDIR\AMXX Edit"
File "installer\files\amxxedit\AMXX_Edit_v2.exe"
File "installer\files\amxxedit\Files.ini"
File "installer\files\amxxedit\SciLexer.dll"
File "installer\files\amxxedit\gpl.txt"
File "installer\files\amxxedit\Config.ini"
SetOutPath "$INSTDIR\files\base\configs"
File "installer\files\base\configs\amxx.cfg"
File "installer\files\base\configs\clcmds.ini"
@ -117,9 +123,9 @@ Section "MainSection" SEC01
SetOutPath "$INSTDIR\files\base\doc"
File "installer\files\base\doc\amxmodx-doc.chm"
SetOutPath "$INSTDIR\files\base\modules"
File "installer\files\base\modules\array_amxx.dll"
File "installer\files\base\modules\array_amxx_amd64.so"
File "installer\files\base\modules\array_amxx_i386.so"
File "installer\files\base\modules\nvault_amxx.dll"
File "installer\files\base\modules\nvault_amxx_amd64.so"
File "installer\files\base\modules\nvault_amxx_i386.so"
File "installer\files\base\modules\engine_amxx.dll"
File "installer\files\base\modules\engine_amxx_amd64.so"
File "installer\files\base\modules\engine_amxx_i386.so"
@ -170,12 +176,12 @@ Section "MainSection" SEC01
File "installer\files\base\scripting\adminhelp.sma"
File "installer\files\base\scripting\adminslots.sma"
File "installer\files\base\scripting\adminvote.sma"
File "installer\files\base\scripting\amxxsc"
File "installer\files\base\scripting\amxxsc.exe"
File "installer\files\base\scripting\amxxsc32.dll"
File "installer\files\base\scripting\amxxsc32.so"
File "installer\files\base\scripting\amxxsc64.dll"
File "installer\files\base\scripting\amxxsc64.so"
File "installer\files\base\scripting\amxxpc"
File "installer\files\base\scripting\amxxpc.exe"
File "installer\files\base\scripting\amxxpc32.dll"
File "installer\files\base\scripting\amxxpc32.so"
File "installer\files\base\scripting\amxxpc64.dll"
File "installer\files\base\scripting\amxxpc64.so"
File "installer\files\base\scripting\antiflood.sma"
File "installer\files\base\scripting\cmdmenu.sma"
File "installer\files\base\scripting\compile.exe"
@ -188,7 +194,6 @@ Section "MainSection" SEC01
File "installer\files\base\scripting\include\amxmisc.inc"
File "installer\files\base\scripting\include\amxmod.inc"
File "installer\files\base\scripting\include\amxmodx.inc"
File "installer\files\base\scripting\include\array.inc"
File "installer\files\base\scripting\include\core.inc"
File "installer\files\base\scripting\include\csstats.inc"
File "installer\files\base\scripting\include\cstrike.inc"
@ -201,6 +206,8 @@ Section "MainSection" SEC01
File "installer\files\base\scripting\include\engine.inc"
File "installer\files\base\scripting\include\engine_const.inc"
File "installer\files\base\scripting\include\engine_stocks.inc"
File "installer\files\base\scripting\include\esf.inc"
File "installer\files\base\scripting\include\esf_const.inc"
File "installer\files\base\scripting\include\fakemeta.inc"
File "installer\files\base\scripting\include\fakemeta_const.inc"
File "installer\files\base\scripting\include\fakemeta_stocks.inc"
@ -210,17 +217,18 @@ Section "MainSection" SEC01
File "installer\files\base\scripting\include\geoip.inc"
File "installer\files\base\scripting\include\jghg2.inc"
File "installer\files\base\scripting\include\lang.inc"
File "installer\files\base\scripting\include\mysql.inc"
File "installer\files\base\scripting\include\ns.inc"
File "installer\files\base\scripting\include\ns2amx.inc"
File "installer\files\base\scripting\include\ns_const.inc"
File "installer\files\base\scripting\include\regex.inc"
File "installer\files\base\scripting\include\nvault.inc"
File "installer\files\base\scripting\include\sockets.inc"
File "installer\files\base\scripting\include\string.inc"
File "installer\files\base\scripting\include\tfcconst.inc"
File "installer\files\base\scripting\include\tfcstats.inc"
File "installer\files\base\scripting\include\tfcx.inc"
File "installer\files\base\scripting\include\tsconst.inc"
File "installer\files\base\scripting\include\tsfun.inc"
File "installer\files\base\scripting\include\tsstats.inc"
File "installer\files\base\scripting\include\tsx.inc"
File "installer\files\base\scripting\include\vault.inc"
@ -323,23 +331,12 @@ Section "MainSection" SEC01
File "installer\files\ns\scripting\nscommands.sma"
File "installer\files\ns\scripting\timeleft.sma"
File "installer\files\ns\scripting\unstuck.sma"
SetOutPath "$INSTDIR\files\ns\root\gfx\vgui"
File "installer\files\ns\root\gfx\vgui\640_armory.tga"
File "installer\files\ns\root\gfx\vgui\640_command.tga"
File "installer\files\ns\root\gfx\vgui\640_gorge.tga"
File "installer\files\ns\root\gfx\vgui\640_greyalienres.tga"
File "installer\files\ns\root\gfx\vgui\640_greyhive.tga"
File "installer\files\ns\root\gfx\vgui\640_greyoc.tga"
File "installer\files\ns\root\gfx\vgui\640_hive.tga"
File "installer\files\ns\root\gfx\vgui\640_lerk.tga"
File "installer\files\ns\root\gfx\vgui\640_medpack.tga"
File "installer\files\ns\root\gfx\vgui\640_minihive.tga"
File "installer\files\ns\root\gfx\vgui\640_minimine.tga"
File "installer\files\ns\root\gfx\vgui\640_minioc.tga"
File "installer\files\ns\root\gfx\vgui\640_onos.tga"
File "installer\files\ns\root\gfx\vgui\640_pirate.tga"
File "installer\files\ns\root\gfx\vgui\640_skulk.tga"
File "installer\files\ns\root\gfx\vgui\640_turret.tga"
SetOutPath "$INSTDIR\files\esf\configs"
File "installer\files\esf\configs\modules.ini"
SetOutPath "$INSTDIR\files\esf\modules"
File "installer\files\esf\modules\esfmod_amxx.dll"
File "installer\files\esf\modules\esfmod_amxx_amd64.so"
File "installer\files\esf\modules\esfmod_amxx_i386.so"
SetOutPath "$INSTDIR\files\tfc\configs"
File "installer\files\tfc\configs\core.ini"
File "installer\files\tfc\configs\cvars.ini"
@ -374,6 +371,9 @@ Section "MainSection" SEC01
File "installer\files\ts\modules\tsx_amxx.dll"
File "installer\files\ts\modules\tsx_amxx_amd64.so"
File "installer\files\ts\modules\tsx_amxx_i386.so"
File "installer\files\ts\modules\tsfun_amxx.dll"
File "installer\files\ts\modules\tsfun_amxx_amd64.so"
File "installer\files\ts\modules\tsfun_amxx_i386.so"
SetOutPath "$INSTDIR\files\ts\plugins"
File "installer\files\ts\plugins\stats.amxx"
File "installer\files\ts\plugins\statssounds.amxx"
@ -389,9 +389,10 @@ Section "MainSection" SEC01
; Shortcuts
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\AMX Mod X.lnk" "$INSTDIR\amxmodx.exe"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\AMX Mod X.lnk" "$INSTDIR\Installer.exe"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\AMXx Editor.lnk" "$INSTDIR\AMXX Edit\AMXX_Edit_v2.exe"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Documentation.lnk" "$INSTDIR\files\base\doc\amxmodx-doc.chm"
CreateShortCut "$DESKTOP.lnk" "$INSTDIR\files\base\doc\amxmodx-doc.chm"
CreateShortCut "$DESKTOP\AMX Mod X Editor.lnk" "$INSTDIR\AMXX Edit\AMXX_Edit_v2.exe"
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd
@ -405,10 +406,10 @@ SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\amxmodx.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Installer.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\amxmodx.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Installer.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
@ -430,6 +431,10 @@ Section Uninstall
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\gpl.txt"
Delete "$INSTDIR\files\esf\configs\modules.ini"
Delete "$INSTDIR\files\esf\modules\esfmod_amxx_i386.so"
Delete "$INSTDIR\files\esf\modules\esfmod_amxx.dll"
Delete "$INSTDIR\files\esf\modules\esfmod_amxx_amd64.so"
Delete "$INSTDIR\files\ts\scripting\tsstats.sma"
Delete "$INSTDIR\files\ts\scripting\stats_logging.sma"
Delete "$INSTDIR\files\ts\scripting\statssounds.sma"
@ -440,6 +445,9 @@ Section Uninstall
Delete "$INSTDIR\files\ts\modules\tsx_amxx_i386.so"
Delete "$INSTDIR\files\ts\modules\tsx_amxx_amd64.so"
Delete "$INSTDIR\files\ts\modules\tsx_amxx.dll"
Delete "$INSTDIR\files\ts\modules\tsfun_amxx_i386.so"
Delete "$INSTDIR\files\ts\modules\tsfun_amxx_amd64.so"
Delete "$INSTDIR\files\ts\modules\tsfun_amxx.dll"
Delete "$INSTDIR\files\ts\data\tsstats.amxx"
Delete "$INSTDIR\files\ts\configs\plugins.ini"
Delete "$INSTDIR\files\ts\configs\modules.ini"
@ -487,22 +495,6 @@ Section Uninstall
Delete "$INSTDIR\files\ns\configs\cmds.ini"
Delete "$INSTDIR\files\ns\configs\clcmds.ini"
Delete "$INSTDIR\files\ns\configs\amxx.cfg"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_armory.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_command.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_gorge.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_greyalienres.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_greyhive.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_greyoc.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_hive.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_lerk.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_medpack.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_minihive.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_minimine.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_minioc.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_onos.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_pirate.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_skulk.tga"
Delete "$INSTDIR\files\ns\root\gfx\vgui\640_turret.tga"
Delete "$INSTDIR\files\dod\scripting\stats_logging.sma"
Delete "$INSTDIR\files\dod\scripting\statssounds.sma"
Delete "$INSTDIR\files\dod\scripting\stats.sma"
@ -565,6 +557,7 @@ Section Uninstall
Delete "$INSTDIR\files\base\scripting\include\Vexd_Utilities.inc"
Delete "$INSTDIR\files\base\scripting\include\vault.inc"
Delete "$INSTDIR\files\base\scripting\include\tsx.inc"
Delete "$INSTDIR\files\base\scripting\include\tsfun.inc"
Delete "$INSTDIR\files\base\scripting\include\tsstats.inc"
Delete "$INSTDIR\files\base\scripting\include\tsconst.inc"
Delete "$INSTDIR\files\base\scripting\include\tfcx.inc"
@ -576,7 +569,7 @@ Section Uninstall
Delete "$INSTDIR\files\base\scripting\include\ns_const.inc"
Delete "$INSTDIR\files\base\scripting\include\ns2amx.inc"
Delete "$INSTDIR\files\base\scripting\include\ns.inc"
Delete "$INSTDIR\files\base\scripting\include\mysql.inc"
Delete "$INSTDIR\files\base\scripting\include\nvault.inc"
Delete "$INSTDIR\files\base\scripting\include\lang.inc"
Delete "$INSTDIR\files\base\scripting\include\jghg2.inc"
Delete "$INSTDIR\files\base\scripting\include\geoip.inc"
@ -586,6 +579,8 @@ Section Uninstall
Delete "$INSTDIR\files\base\scripting\include\fakemeta_stocks.inc"
Delete "$INSTDIR\files\base\scripting\include\fakemeta_const.inc"
Delete "$INSTDIR\files\base\scripting\include\fakemeta.inc"
Delete "$INSTDIR\files\base\scripting\include\esf.inc"
Delete "$INSTDIR\files\base\scripting\include\esf_const.inc"
Delete "$INSTDIR\files\base\scripting\include\engine_stocks.inc"
Delete "$INSTDIR\files\base\scripting\include\engine_const.inc"
Delete "$INSTDIR\files\base\scripting\include\engine.inc"
@ -598,7 +593,6 @@ Section Uninstall
Delete "$INSTDIR\files\base\scripting\include\cstrike.inc"
Delete "$INSTDIR\files\base\scripting\include\csstats.inc"
Delete "$INSTDIR\files\base\scripting\include\core.inc"
Delete "$INSTDIR\files\base\scripting\include\array.inc"
Delete "$INSTDIR\files\base\scripting\include\amxmodx.inc"
Delete "$INSTDIR\files\base\scripting\include\amxmod.inc"
Delete "$INSTDIR\files\base\scripting\include\amxmisc.inc"
@ -610,12 +604,12 @@ Section Uninstall
Delete "$INSTDIR\files\base\scripting\compile.exe"
Delete "$INSTDIR\files\base\scripting\cmdmenu.sma"
Delete "$INSTDIR\files\base\scripting\antiflood.sma"
Delete "$INSTDIR\files\base\scripting\amxxsc64.so"
Delete "$INSTDIR\files\base\scripting\amxxsc64.dll"
Delete "$INSTDIR\files\base\scripting\amxxsc32.so"
Delete "$INSTDIR\files\base\scripting\amxxsc32.dll"
Delete "$INSTDIR\files\base\scripting\amxxsc.exe"
Delete "$INSTDIR\files\base\scripting\amxxsc"
Delete "$INSTDIR\files\base\scripting\amxxpc64.so"
Delete "$INSTDIR\files\base\scripting\amxxpc64.dll"
Delete "$INSTDIR\files\base\scripting\amxxpc32.so"
Delete "$INSTDIR\files\base\scripting\amxxpc32.dll"
Delete "$INSTDIR\files\base\scripting\amxxpc.exe"
Delete "$INSTDIR\files\base\scripting\amxxpc"
Delete "$INSTDIR\files\base\scripting\adminvote.sma"
Delete "$INSTDIR\files\base\scripting\adminslots.sma"
Delete "$INSTDIR\files\base\scripting\adminhelp.sma"
@ -643,6 +637,9 @@ Section Uninstall
Delete "$INSTDIR\files\base\plugins\admincmd.amxx"
Delete "$INSTDIR\files\base\plugins\adminchat.amxx"
Delete "$INSTDIR\files\base\plugins\admin.amxx"
Delete "$INSTDIR\files\base\modules\nvault_amxx_i386.so"
Delete "$INSTDIR\files\base\modules\nvault_amxx_amd64.so"
Delete "$INSTDIR\files\base\modules\nvault_amxx.dll"
Delete "$INSTDIR\files\base\modules\sockets_amxx_i386.so"
Delete "$INSTDIR\files\base\modules\sockets_amxx_amd64.so"
Delete "$INSTDIR\files\base\modules\sockets_amxx.dll"
@ -664,9 +661,6 @@ Section Uninstall
Delete "$INSTDIR\files\base\modules\engine_amxx_i386.so"
Delete "$INSTDIR\files\base\modules\engine_amxx_amd64.so"
Delete "$INSTDIR\files\base\modules\engine_amxx.dll"
Delete "$INSTDIR\files\base\modules\array_amxx_i386.so"
Delete "$INSTDIR\files\base\modules\array_amxx_amd64.so"
Delete "$INSTDIR\files\base\modules\array_amxx.dll"
Delete "$INSTDIR\files\base\doc\amxmodx-doc.chm"
Delete "$INSTDIR\files\base\dlls\metamod_i386.so"
Delete "$INSTDIR\files\base\dlls\metamod_amd64.so"
@ -715,15 +709,24 @@ Section Uninstall
Delete "$INSTDIR\files\base\configs\cmds.ini"
Delete "$INSTDIR\files\base\configs\clcmds.ini"
Delete "$INSTDIR\files\base\configs\amxx.cfg"
Delete "$INSTDIR\amxmodx.exe"
Delete "$INSTDIR\AMXX Edit\AMXX_Edit_v2.exe"
Delete "$INSTDIR\AMXX Edit\Files.ini"
Delete "$INSTDIR\AMXX Edit\SciLexer.dll"
Delete "$INSTDIR\AMXX Edit\gpl.txt"
Delete "$INSTDIR\AMXX Edit\Config.ini"
Delete "$INSTDIR\Installer.exe"
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk"
Delete "$DESKTOP.lnk"
Delete "$DESKTOP\AMX Mod X Editor.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\AMXx Editor.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\Documentation.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\AMX Mod X.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\AMX Mod X Editor.lnk"
RMDir "$SMPROGRAMS\$ICONS_GROUP"
RMDir "$INSTDIR\files\esf\configs"
RMDir "$INSTDIR\files\esf\modules"
RMDir "$INSTDIR\files\ts\scripting"
RMDir "$INSTDIR\files\ts\plugins"
RMDir "$INSTDIR\files\ts\modules"
@ -757,6 +760,7 @@ Section Uninstall
RMDir "$INSTDIR\files\base\data\lang"
RMDir "$INSTDIR\files\base\data"
RMDir "$INSTDIR\files\base\configs"
RMDir "$INSTDIR\AMXX Edit"
RMDir /r "$INSTDIR"
RMDir ""