diff options
Diffstat (limited to 'win')
-rw-r--r-- | win/configure.cpp | 117 | ||||
-rw-r--r-- | win/inspircd-noextras.nsi | 68 | ||||
-rw-r--r-- | win/inspircd.nsi | 74 | ||||
-rw-r--r-- | win/inspircdVC90.sln | 51 | ||||
-rw-r--r-- | win/inspircd_site_release/inspircd_site_release.vcproj | 262 | ||||
-rw-r--r-- | win/rename_installer.pl | 41 | ||||
-rw-r--r-- | win/resource.rc | 2 | ||||
-rw-r--r-- | win/site_release.bat | 13 | ||||
-rw-r--r-- | win/upload_release.bat | 12 |
9 files changed, 90 insertions, 550 deletions
diff --git a/win/configure.cpp b/win/configure.cpp index f2a4a92bb..249e0cf9a 100644 --- a/win/configure.cpp +++ b/win/configure.cpp @@ -118,31 +118,39 @@ bool escape_string(char * str, size_t size) return true; } -/* gets the svn revision */ -int get_svn_revision(char * buffer, size_t len) +string get_git_commit() { - /* again.. I am lazy :p cbf to pipe output of svn info to us, so i'll just read the file */ - /* - 8 - - dir - 7033 - */ - char buf[1000]; - int rev = 0; - - FILE * f = fopen("..\\.svn\\entries", "r"); + char buf[128]; + char *ref = NULL, *commit = NULL; + FILE *f = fopen("../.git/HEAD", "r"); if (f) { - for (int q = 0; q < 4; ++q) - fgets(buf, 1000, f); - - rev = atoi(buf); - sprintf(buffer, "%u", rev); + if (fgets(buf, sizeof(buf), f)) + { + while (isspace(buf[strlen(buf) - 1])) + buf[strlen(buf) - 1] = 0; + char *p = strchr(buf, ' '); + if (p) + ref = ++p; + } fclose(f); } - - return rev; + if (ref == NULL) + return ""; + string ref_file = string("../.git/") + string(ref); + f = fopen(ref_file.c_str(), "r"); + if (f) + { + if (fgets(buf, sizeof(buf), f)) + { + while (isspace(buf[strlen(buf) - 1])) + buf[strlen(buf) - 1] = 0; + commit = buf; + } + fclose(f); + } + + return commit != NULL ? commit : ""; } void get_machine_info(char * buffer, size_t len) @@ -233,13 +241,11 @@ void Run() bool ipv6 = true; char mod_path[MAX_PATH]; char config_file[MAX_PATH]; - char library_dir[MAX_PATH]; char base_path[MAX_PATH]; char bin_dir[MAX_PATH]; - char revision_text[MAX_PATH]; char openssl_inc_path[MAX_PATH]; char openssl_lib_path[MAX_PATH]; - int revision = get_svn_revision(revision_text, MAX_PATH); + string revision = get_git_commit(); char version[514]; char machine_text[MAX_PATH]; get_machine_info(machine_text, MAX_PATH); @@ -268,16 +274,15 @@ void Run() #else printf_c("Your operating system is: \033[1;32mwindows_x32 \033[0m\n"); #endif - printf_c("InspIRCd revision ID: \033[1;32m%s \033[0m\n\n", revision ? revision_text : "(Non-SVN build)"); + printf_c("InspIRCd revision ID: \033[1;32m%s \033[0m\n\n", !revision.empty() ? revision.c_str() : "(Non-GIT build)"); ipv6 = get_bool_option("Do you want to enable IPv6?", false); printf_c("\033[1mAll paths are relative to the binary directory.\033[0m\n"); get_string_option("In what directory do you wish to install the InspIRCd base?", "..", base_path); - get_string_option("In what directory are the configuration files?", "../conf", config_file); - get_string_option("In what directory are the modules to be compiled to?", "../modules", mod_path); + get_string_option("In what directory are the configuration files?", "conf", config_file); + get_string_option("In what directory are the modules to be compiled to?", "modules", mod_path); get_string_option("In what directory is the IRCd binary to be placed?", ".", bin_dir); - get_string_option("In what directory are the IRCd libraries to be placed?", "../lib", library_dir); // NOTE: this may seem hackish (generating a batch build script), but it assures the user knows // what they're doing, and we don't have to mess with copying files and changing around modules.mak @@ -332,7 +337,6 @@ void Run() printf_c("\033[0mBase install path:\033[1;32m %s\n", base_path); printf_c("\033[0mConfig path:\033[1;32m %s\n", config_file); printf_c("\033[0mModule path:\033[1;32m %s\n", mod_path); - printf_c("\033[0mLibrary path:\033[1;32m %s\n", library_dir); printf_c("\033[0mSocket Engine:\033[1;32m %s\n", "select"); printf("\n"); sc(TNORMAL); @@ -346,7 +350,6 @@ void Run() // escape the pathes escape_string(config_file, MAX_PATH); escape_string(mod_path, MAX_PATH); - escape_string(library_dir, MAX_PATH); printf("\nWriting inspircd_config.h..."); FILE * f = fopen("inspircd_config.h", "w"); @@ -354,10 +357,8 @@ void Run() fprintf(f, "#ifndef __CONFIGURATION_AUTO__\n"); fprintf(f, "#define __CONFIGURATION_AUTO__\n\n"); - fprintf(f, "#define CONFIG_FILE \"%s/inspircd.conf\"\n", config_file); fprintf(f, "#define MOD_PATH \"%s\"\n", mod_path); fprintf(f, "#define SOMAXCONN_S \"128\"\n"); - fprintf(f, "#define LIBRARYDIR \"%s\"\n", library_dir); fprintf(f, "#define MAXBUF 514\n"); fprintf(f, "\n#include \"inspircd_win32wrapper.h\""); @@ -381,7 +382,7 @@ void Run() printf("Writing inspircd_version.h..."); f = fopen("inspircd_version.h", "w"); fprintf(f, "#define VERSION \"%s\"\n", version); - fprintf(f, "#define REVISION \"%d\"\n", revision); + fprintf(f, "#define REVISION \"%s\"\n", revision.c_str()); fprintf(f, "#define SYSTEM \"%s\"\n", machine_text); fclose(f); @@ -436,38 +437,12 @@ void Rebase() char dest[65535]; char command[65535]; - *dest = 0; - WIN32_FIND_DATA fd; -#ifdef _DEBUG - HANDLE fh = FindFirstFile("..\\bin\\debug\\lib\\*.so", &fd); -#else - HANDLE fh = FindFirstFile("..\\bin\\release\\lib\\*.so", &fd); -#endif - if(fh == INVALID_HANDLE_VALUE) - return; - do - { #ifdef _DEBUG - strcat(dest, " ..\\bin\\debug\\lib\\"); + HANDLE fh = FindFirstFile("..\\bin\\debug\\modules\\*.so", &fd); #else - strcat(dest, " ..\\bin\\release\\lib\\"); -#endif - strcat(dest, fd.cFileName); - } - while (FindNextFile(fh, &fd)); - - FindClose(fh); - - sprintf(command, "rebase.exe -v -b 10000000 -c baseaddr_commands.txt %s", dest); - printf("%s\n", command); - system(command); - -#ifdef _DEBUG - fh = FindFirstFile("..\\bin\\debug\\modules\\*.so", &fd); -#else - fh = FindFirstFile("..\\bin\\release\\modules\\*.so", &fd); + HANDLE fh = FindFirstFile("..\\bin\\release\\modules\\*.so", &fd); #endif if(fh == INVALID_HANDLE_VALUE) return; @@ -490,7 +465,6 @@ void Rebase() system(command); FindClose(fh); - } void WriteCompileCommands() @@ -531,38 +505,37 @@ void WriteCompileCommands() #ifdef WIN64 // /MACHINE:X64 #ifdef _DEBUG - fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug_x64\\lib\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\lib\\$*.lib\"\n\n"); + fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\modules\\$*.lib\"\n\n"); CreateDirectory("..\\src\\debug", NULL); CreateDirectory("..\\bin\\debug\\bin", NULL); - CreateDirectory("..\\bin\\debug\\lib", NULL); CreateDirectory("..\\bin\\debug\\modules", NULL); #else - fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release_x64\\lib\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\lib\\$*.lib\"\n\n"); + fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\modules\\$*.lib\"\n\n"); CreateDirectory("..\\src\\release", NULL); CreateDirectory("..\\bin\\release\\bin", NULL); - CreateDirectory("..\\bin\\release\\lib", NULL); CreateDirectory("..\\bin\\release\\modules", NULL); #endif #else #ifdef _DEBUG - fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug\\lib\\$*.so\" /PDB:\"..\\..\\bin\\debug\\lib\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\lib\\$*.lib\"\n\n"); + fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n"); CreateDirectory("..\\src\\debug", NULL); CreateDirectory("..\\bin\\debug\\bin", NULL); - CreateDirectory("..\\bin\\debug\\lib", NULL); CreateDirectory("..\\bin\\debug\\modules", NULL); #else - fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release\\lib\\$*.so\" /PDB:\"..\\..\\bin\\release\\lib\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\lib\\$*.lib\"\n\n"); + fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n"); CreateDirectory("..\\src\\release", NULL); CreateDirectory("..\\bin\\release\\bin", NULL); - CreateDirectory("..\\bin\\release\\lib", NULL); CreateDirectory("..\\bin\\release\\modules", NULL); #endif #endif + fprintf(f, "makedir:\n"); #ifdef _DEBUG - fprintf(f, "makedir:\n if not exist debug mkdir debug\n if not exist ..\\..\\bin\\debug\\lib mkdir ..\\..\\bin\\debug\\lib\n\n"); + fprintf(f, " if not exist ..\\..\\bin\\debug mkdir ..\\..\\bin\\debug\n"); + fprintf(f, " if not exist ..\\..\\bin\\debug\\modules mkdir ..\\..\\bin\\debug\\modules\n"); #else - fprintf(f, "makedir:\n if not exist release mkdir release\n if not exist ..\\..\\bin\\release\\lib mkdir ..\\..\\bin\\release\\lib\n\n"); + fprintf(f, " if not exist ..\\..\\bin\\release mkdir ..\\..\\bin\\release\n"); + fprintf(f, " if not exist ..\\..\\bin\\release\\modules mkdir ..\\..\\bin\\release\\modules\n"); #endif // dump modules.. again the second and last time :) @@ -622,13 +595,11 @@ void WriteCompileModules() #ifdef _DEBUG fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\debug\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n"); CreateDirectory("..\\src\\modules\\debug", NULL); - CreateDirectory("..\\src\\modules\\debug\\lib", NULL); CreateDirectory("..\\src\\modules\\debug\\modules", NULL); CreateDirectory("..\\src\\modules\\debug\\bin", NULL); #else fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n"); CreateDirectory("..\\src\\modules\\release", NULL); - CreateDirectory("..\\src\\modules\\release\\lib", NULL); CreateDirectory("..\\src\\modules\\release\\modules", NULL); CreateDirectory("..\\src\\modules\\release\\bin", NULL); #endif diff --git a/win/inspircd-noextras.nsi b/win/inspircd-noextras.nsi index 18bee4fe7..c0e0baf6d 100644 --- a/win/inspircd-noextras.nsi +++ b/win/inspircd-noextras.nsi @@ -2,7 +2,7 @@ ; * | Inspire Internet Relay Chat Daemon | ; * +------------------------------------+ ; * -; * InspIRCd: (C) 2002-2009 InspIRCd Development Team +; * InspIRCd: (C) 2002-2011 InspIRCd Development Team ; * See: http://wiki.inspircd.org/Credits ; * ; * This program is free but copyrighted software; see @@ -50,9 +50,6 @@ Page directory !insertmacro MUI_PAGE_COMPONENTS ; Instfiles page !insertmacro MUI_PAGE_INSTFILES -; Finish page -!define MUI_FINISHPAGE_RUN "$INSTDIR\InspGUI.exe" -!insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES @@ -66,7 +63,7 @@ Page directory ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "Setup.exe" +OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}-Setup.exe" InstallDir "$PROGRAMFILES\InspIRCd" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show @@ -133,42 +130,25 @@ FunctionEnd Section "Binary Executable" SEC01 Call IsDotNetInstalled - SetOutPath "$TEMP" - SetOverwrite ifnewer - File "vcredist_x86.exe" - ExecWait "$TEMP\vcredist_x86.exe" - SetOutPath "$INSTDIR" - SetOverwrite ifnewer - File "..\bin\${BUILD}\InspGUI.exe" CreateDirectory "$SMPROGRAMS\InspIRCd" - CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe" - SetOutPath "$INSTDIR\bin" + CreateDirectory "$INSTDIR\logs" + CreateDirectory "$INSTDIR\data" + CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\inspircd.exe" + SetOutPath "$INSTDIR" SetOverwrite ifnewer File "..\bin\${BUILD}\bin\inspircd.exe" DetailPrint "Installing InspIRCd service..." - nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --installservice' + nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --installservice' SectionEnd Section "Config Files" SEC02 SetOutPath "$INSTDIR\conf" - File "..\conf\inspircd.motd.example" - File "..\conf\inspircd.helpop-full.example" - File "..\conf\inspircd.helpop.example" - File "..\conf\inspircd.filter.example" - File "..\conf\inspircd.conf.example" - File "..\conf\opers.conf.example" - File "..\conf\modules.conf.example" - File "..\conf\links.conf.example" - File "..\conf\inspircd.censor.example" - File "..\conf\inspircd.rules.example" - File "..\conf\inspircd.quotes.example" - SetOutPath "$INSTDIR\conf\test" - File "..\conf\test\test.conf" + File "..\docs\*.example" SectionEnd Section "Command Handlers" SEC03 - SetOutPath "$INSTDIR\lib" - File "..\bin\${BUILD}\lib\cmd_*.so" + SetOutPath "$INSTDIR\modules" + File "..\bin\${BUILD}\modules\cmd_*.so" SectionEnd Section "Modules" SEC04 @@ -185,10 +165,10 @@ SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\inspircd.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\bin\inspircd.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\inspircd.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}" @@ -222,30 +202,24 @@ FunctionEnd Section Uninstall DetailPrint "Uninstalling InspIRCd service..." - nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --removeservice' + nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --removeservice' Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" - Delete "$INSTDIR\modules\m_*.so" - Delete "$INSTDIR\lib\cmd_*.so" - Delete "$INSTDIR\conf\inspircd.quotes.example" - Delete "$INSTDIR\conf\inspircd.rules.example" - Delete "$INSTDIR\conf\inspircd.censor.example" - Delete "$INSTDIR\conf\inspircd.conf.example" - Delete "$INSTDIR\conf\inspircd.filter.example" - Delete "$INSTDIR\conf\inspircd.helpop.example" - Delete "$INSTDIR\conf\inspircd.helpop-full.example" - Delete "$INSTDIR\conf\inspircd.motd.example" - Delete "$INSTDIR\bin\inspircd.exe" - Delete "$INSTDIR\InspGUI.exe" + Delete "$INSTDIR\modules\*.so" + Delete "$INSTDIR\conf\*.example" + Delete "$INSTDIR\*.log" + Delete "$INSTDIR\logs\*" + Delete "$INSTDIR\data\*" + Delete "$INSTDIR\inspircd.exe" Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk" Delete "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk" Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" RMDir "$SMPROGRAMS\InspIRCd" RMDir "$INSTDIR\modules" - RMDir "$INSTDIR\lib" RMDir "$INSTDIR\conf" - RMDir "$INSTDIR\bin" + RMDir "$INSTDIR\logs" + RMDir "$INSTDIR\data" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" diff --git a/win/inspircd.nsi b/win/inspircd.nsi index 117d1bc63..dbd9d5511 100644 --- a/win/inspircd.nsi +++ b/win/inspircd.nsi @@ -2,7 +2,7 @@ ; * | Inspire Internet Relay Chat Daemon | ; * +------------------------------------+ ; * -; * InspIRCd: (C) 2002-2009 InspIRCd Development Team +; * InspIRCd: (C) 2002-2011 InspIRCd Development Team ; * See: http://wiki.inspircd.org/Credits ; * ; * This program is free but copyrighted software; see @@ -50,9 +50,6 @@ Page directory !insertmacro MUI_PAGE_COMPONENTS ; Instfiles page !insertmacro MUI_PAGE_INSTFILES -; Finish page -!define MUI_FINISHPAGE_RUN "$INSTDIR\InspGUI.exe" -!insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES @@ -66,7 +63,7 @@ Page directory ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "Setup.exe" +OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}-Setup.exe" InstallDir "$PROGRAMFILES\InspIRCd" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show @@ -133,42 +130,25 @@ FunctionEnd Section "Binary Executable" SEC01 Call IsDotNetInstalled - SetOutPath "$TEMP" - SetOverwrite ifnewer - File "vcredist_x86.exe" - ExecWait "$TEMP\vcredist_x86.exe" - SetOutPath "$INSTDIR" - SetOverwrite ifnewer - File "..\bin\${BUILD}\InspGUI.exe" CreateDirectory "$SMPROGRAMS\InspIRCd" - CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe" - SetOutPath "$INSTDIR\bin" + CreateDirectory "$INSTDIR\logs" + CreateDirectory "$INSTDIR\data" + CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\inspircd.exe" + SetOutPath "$INSTDIR" SetOverwrite ifnewer File "..\bin\${BUILD}\bin\inspircd.exe" DetailPrint "Installing InspIRCd service..." - nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --installservice' + nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --installservice' SectionEnd Section "Config Files" SEC02 SetOutPath "$INSTDIR\conf" - File "..\conf\inspircd.motd.example" - File "..\conf\inspircd.helpop-full.example" - File "..\conf\inspircd.helpop.example" - File "..\conf\inspircd.filter.example" - File "..\conf\inspircd.conf.example" - File "..\conf\opers.conf.example" - File "..\conf\modules.conf.example" - File "..\conf\links.conf.example" - File "..\conf\inspircd.censor.example" - File "..\conf\inspircd.rules.example" - File "..\conf\inspircd.quotes.example" - SetOutPath "$INSTDIR\conf\test" - File "..\conf\test\test.conf" + File "..\docs\*.example" SectionEnd Section "Command Handlers" SEC03 - SetOutPath "$INSTDIR\lib" - File "..\bin\${BUILD}\lib\cmd_*.so" + SetOutPath "$INSTDIR\modules" + File "..\bin\${BUILD}\modules\cmd_*.so" SectionEnd Section "Modules" SEC04 @@ -177,7 +157,7 @@ Section "Modules" SEC04 SectionEnd Section "SSL Modules" SEC05 - SetOutPath "$INSTDIR\bin" + SetOutPath "$INSTDIR" SetOverwrite ifnewer File "..\bin\${BUILD}\bin\libgcrypt-11.dll" File "..\bin\${BUILD}\bin\libgnutls-13.dll" @@ -197,7 +177,7 @@ Section "SSL Modules" SEC05 SectionEnd Section "Regexp Modules" SEC06 - SetOutPath "$INSTDIR\bin" + SetOutPath "$INSTDIR" SetOverwrite ifnewer File "..\bin\${BUILD}\bin\pcre.dll" SetOutPath "$INSTDIR\modules" @@ -213,10 +193,10 @@ SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\inspircd.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\bin\inspircd.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\inspircd.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}" @@ -252,31 +232,25 @@ FunctionEnd Section Uninstall DetailPrint "Uninstalling InspIRCd service..." - nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --removeservice' + nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --removeservice' Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" - Delete "$INSTDIR\modules\m_*.so" - Delete "$INSTDIR\lib\cmd_*.so" - Delete "$INSTDIR\conf\inspircd.quotes.example" - Delete "$INSTDIR\conf\inspircd.rules.example" - Delete "$INSTDIR\conf\inspircd.censor.example" - Delete "$INSTDIR\conf\inspircd.conf.example" - Delete "$INSTDIR\conf\inspircd.filter.example" - Delete "$INSTDIR\conf\inspircd.helpop.example" - Delete "$INSTDIR\conf\inspircd.helpop-full.example" - Delete "$INSTDIR\conf\inspircd.motd.example" - Delete "$INSTDIR\bin\inspircd.exe" - Delete "$INSTDIR\bin\*.dll" - Delete "$INSTDIR\InspGUI.exe" + Delete "$INSTDIR\modules\*.so" + Delete "$INSTDIR\conf\*.example" + Delete "$INSTDIR\*.dll" + Delete "$INSTDIR\*.log" + Delete "$INSTDIR\logs\*" + Delete "$INSTDIR\data\*" + Delete "$INSTDIR\inspircd.exe" Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk" Delete "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk" Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" RMDir "$SMPROGRAMS\InspIRCd" RMDir "$INSTDIR\modules" - RMDir "$INSTDIR\lib" RMDir "$INSTDIR\conf" - RMDir "$INSTDIR\bin" + RMDir "$INSTDIR\logs" + RMDir "$INSTDIR\data" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" diff --git a/win/inspircdVC90.sln b/win/inspircdVC90.sln deleted file mode 100644 index 05d445939..000000000 --- a/win/inspircdVC90.sln +++ /dev/null @@ -1,51 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inspircd", "inspircdVC90.vcproj", "{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}"
- ProjectSection(ProjectDependencies) = postProject
- {B922B569-727E-4EB0-827A-04E133A91DE7} = {B922B569-727E-4EB0-827A-04E133A91DE7}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "configure", "configureVC90.vcproj", "{B922B569-727E-4EB0-827A-04E133A91DE7}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "m_spanningtree", "m_spanningtreeVC90.vcproj", "{1EC86B60-AB2A-4984-8A7E-0422C15601E0}"
- ProjectSection(ProjectDependencies) = postProject
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8} = {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|Win32.ActiveCfg = Debug|Win32
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|Win32.Build.0 = Debug|Win32
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|x64.ActiveCfg = Debug|x64
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|x64.Build.0 = Debug|x64
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|Win32.ActiveCfg = Release|Win32
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|Win32.Build.0 = Release|Win32
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|x64.ActiveCfg = Release|x64
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|x64.Build.0 = Release|x64
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|Win32.ActiveCfg = Debug|Win32
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|Win32.Build.0 = Debug|Win32
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|x64.ActiveCfg = Debug|x64
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|x64.Build.0 = Debug|x64
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|Win32.ActiveCfg = Release|Win32
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|Win32.Build.0 = Release|Win32
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|x64.ActiveCfg = Release|x64
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|x64.Build.0 = Release|x64
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|Win32.ActiveCfg = Debug|Win32
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|Win32.Build.0 = Debug|Win32
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|x64.ActiveCfg = Debug|x64
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|x64.Build.0 = Debug|x64
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|Win32.ActiveCfg = Release|Win32
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|Win32.Build.0 = Release|Win32
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|x64.ActiveCfg = Release|x64
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/win/inspircd_site_release/inspircd_site_release.vcproj b/win/inspircd_site_release/inspircd_site_release.vcproj deleted file mode 100644 index 032a5af36..000000000 --- a/win/inspircd_site_release/inspircd_site_release.vcproj +++ /dev/null @@ -1,262 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="inspircd_site_release"
- ProjectGUID="{FF843150-D896-4EAD-BA0F-164C17687153}"
- RootNamespace="inspircd_site_release"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- RuntimeLibrary="2"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Site Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description=""
- CommandLine=""
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Releasing to website"
- CommandLine="..\site_release.bat"
- Outputs="..\release.log"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- RuntimeLibrary="2"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description=""
- CommandLine=""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/win/rename_installer.pl b/win/rename_installer.pl deleted file mode 100644 index d24abb995..000000000 --- a/win/rename_installer.pl +++ /dev/null @@ -1,41 +0,0 @@ -#!perl
-
-open(FH,"<../src/version.sh") or die("Can't open version.sh");
-while (chomp($v = <FH>))
-{
- $version = $v if $v =~ /^echo/;
-}
-close FH;
-
-print "Version: '$version'\n";
-
-$version =~ /InspIRCd-(\d+)\.(\d+)\.(\d+)([ab\+]|RC|rc)/;
-
-$v1 = $1;
-$v2 = $2;
-$v3 = $3;
-$type = $4;
-
-print "v1=$1 v2=$2 v3=$3 type=$4\n";
-
-if ($type =~ /^[ab]|rc|RC$/)
-{
- $version =~ /InspIRCd-\d+\.\d+\.\d+([ab]|RC|rc)(\d+)/;
- $alphabeta = $2;
- print "Version sub is $type $alphabeta\n";
- $name = "InspIRCd-$v1.$v2.$v3$type$alphabeta.exe";
- $rel = "$v1.$v2.$v3$type$alphabeta";
-}
-else
-{
- $name = "InspIRCd-$v1.$v2.$v3.exe";
- $rel = "$v1.$v2.$v3";
-}
-
-print "del $name\n";
-print "ren Setup.exe $name\n";
-
-system("del $name");
-system("ren Setup.exe $name");
-
-system("upload_release.bat $name $rel");
diff --git a/win/resource.rc b/win/resource.rc index 54f51e49c..0a0bf76bf 100644 --- a/win/resource.rc +++ b/win/resource.rc @@ -22,7 +22,7 @@ BEGIN VALUE "FileDescription", "InspIRCd\0"
VALUE "FileVersion", "2, 0, 0, 0\0"
VALUE "InternalName", "InspIRCd\0"
- VALUE "LegalCopyright", "Copyright (c) 2009 InspIRCd Development Team\0"
+ VALUE "LegalCopyright", "Copyright (c) 2011 InspIRCd Development Team\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "inspircd.exe\0"
VALUE "PrivateBuild", "\0"
diff --git a/win/site_release.bat b/win/site_release.bat deleted file mode 100644 index 9074efad8..000000000 --- a/win/site_release.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off
-
-echo Release commencing...
-
-cd ..
-
-rem make binary
-"c:\program files\nsis\makensis.exe" inspircd-noextras.nsi
-
-rem determine name for the binary
-perl rename_installer.pl
-
-@echo on
\ No newline at end of file diff --git a/win/upload_release.bat b/win/upload_release.bat deleted file mode 100644 index 0b0157b67..000000000 --- a/win/upload_release.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off
-
-echo release/makereleasetrunk.sh %2 > remote.txt
-start "Linux build" "c:\Program Files\PuTTY\putty.exe" -load "inspircd release" -m remote.txt
-
-echo option batch on > upload.scp
-echo option confirm off >> upload.scp
-echo put -speed=4 -nopermissions -preservetime %1 /usr/home/inspircd/www/downloads/ >> upload.scp
-echo exit >> upload.scp
-start "File upload" "c:\program files\winscp\winscp.com" "inspircd release" /script=upload.scp
-
-@echo on
|