]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd.nsi
Final fixups for a working Windows build
[user/henk/code/inspircd.git] / win / inspircd.nsi
index 96b2e498ed4f9f51a3bff6b48bddf6865455b4ad..dbd9d55118bcefba09ae082baae399d45c522e89 100644 (file)
@@ -2,8 +2,8 @@
 ; *       | Inspire Internet Relay Chat Daemon |
 ; *       +------------------------------------+
 ; *
-; *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
-; * See: http://www.inspircd.org/wiki/index.php/Credits
+; *  InspIRCd: (C) 2002-2011 InspIRCd Development Team
+; * See: http://wiki.inspircd.org/Credits
 ; *
 ; * This program is free but copyrighted software; see
 ; *            the file COPYING for details.
@@ -20,7 +20,7 @@
 
 ; HM NIS Edit Wizard helper defines
 !define PRODUCT_NAME "InspIRCd"
-!define PRODUCT_VERSION "1.1"
+!define PRODUCT_VERSION "2.0"
 !define PRODUCT_PUBLISHER "InspIRCd Development Team"
 !define PRODUCT_WEB_SITE "http://www.inspircd.org/"
 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\inspircd.exe"
@@ -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,31 +130,25 @@ FunctionEnd
 
 Section "Binary Executable" SEC01
   Call IsDotNetInstalled
-  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\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 "..\docs\inspircd.conf.example"
-  File "..\conf\inspircd.censor.example"
-  File "..\conf\inspircd.rules.example"
-  File "..\conf\inspircd.quotes.example"
+  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
@@ -166,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"
@@ -176,9 +167,9 @@ Section  "SSL Modules" SEC05
   File "..\bin\${BUILD}\bin\libopencdk-8.dll"
   File "..\bin\${BUILD}\bin\libtasn1-3.dll"
   SetOutPath "$INSTDIR\modules"
-  File "d:\temp\m_ssl_gnutls.so"
-  File "d:\temp\m_sslinfo.so"
-  File "d:\temp\m_ssl_oper_cert.so"
+  File "c:\temp\m_ssl_gnutls.so"
+  File "c:\temp\m_sslinfo.so"
+  File "c:\temp\m_ssl_oper_cert.so"
   SetOutPath "$INSTDIR\conf"
   SetOverwrite off
   File "key.pem"
@@ -186,11 +177,11 @@ 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"
-  File "d:\temp\m_filter_pcre.so"
+  File "c:\temp\m_filter_pcre.so"
 SectionEnd
 
 Section -AdditionalIcons
@@ -202,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}"
@@ -240,30 +231,26 @@ Function un.onInit
 FunctionEnd
 
 Section Uninstall
+  DetailPrint "Uninstalling InspIRCd service..."
+  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}"