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 @@ namespace AMXXRelease
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 @@ namespace AMXXRelease
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 @@ namespace AMXXRelease
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 @@ namespace AMXXRelease
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 @@ namespace AMXXRelease
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 @@ namespace AMXXRelease
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 ""