source: Main/trunk/Server/install.nsi@ 388

Last change on this file since 388 was 257, checked in by Nishi, on Oct 4, 2024 at 2:34:27 PM

[release 2.04] can read mime.types from apache

  • Property svn:keywords set to Id
File size: 4.6 KB
RevLine 
[54]1# $Id: install.nsi 257 2024-10-04 05:34:27Z nishi $
2
[78]3VIFileVersion "1.0.0.0"
4VIProductVersion "1.0.0.0"
[77]5VIAddVersionKey "FileVersion" "${VERSION}"
6VIAddVersionKey "LegalCopyright" "Public domain. Original by Nishi"
7VIAddVersionKey "FileDescription" "Tewi HTTPd Installer"
8
[63]9LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
10LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
11
[54]12Name "Tewi HTTPd"
13OutFile "install.exe"
14InstallDir "C:\Tewi"
[128]15Icon "../Binary/tewi-install.ico"
[54]16LicenseData ../LICENSE
[62]17
[63]18LangString EXEC_ONLY ${LANG_ENGLISH} "Install the executable only"
19LangString EXEC_ONLY ${LANG_JAPANESE} "実行機能のみをインストールする"
20LangString SERV_TOO ${LANG_ENGLISH} "Install the service too (NT-only)"
21LangString SERV_TOO ${LANG_JAPANESE} "サービスもインストールする(NTのみ)"
22LangString WAIT_STOP ${LANG_ENGLISH} "Waiting for 1 second so service can stop"
23LangString WAIT_STOP ${LANG_JAPANESE} "サービスが止まるのを待っています"
24
[208]25!include "x64.nsh"
[62]26!include "LogicLib.nsh"
27!include "Sections.nsh"
28
[54]29Page license
[206]30Page directory
[62]31Page components
[54]32Page instfiles
33UninstPage uninstConfirm
34UninstPage instfiles
35Section
36 CreateDirectory "$INSTDIR\etc"
37 CreateDirectory "$INSTDIR\www"
[60]38 CreateDirectory "$INSTDIR\www\icons"
[61]39 CreateDirectory "$INSTDIR\modules"
[54]40 CreateDirectory "$INSTDIR\bin"
[61]41 SetOutPath "$INSTDIR"
[217]42 !cd ..
43 File /oname=LICENSE.txt "LICENSE"
[61]44 SetOutPath "$INSTDIR\modules"
[217]45 !cd Module
46 File "*.dll"
47 !cd ..
[54]48 SetOutPath "$INSTDIR\etc"
[61]49 SetOverWrite off
[217]50 File /oname=tewi.conf "generated.conf"
[54]51 SetOutPath "$INSTDIR\www"
[217]52 File /oname=index.html "itworks.html"
53 !cd Binary
54 File /oname=pbtewi.gif "pbtewi.gif"
55 !cd ..
[257]56 !cd Icons
[60]57 SetOutPath "$INSTDIR\www\icons"
[217]58 File "*.png"
59 !cd ..
60 !cd Server
[61]61 SetOverWrite on
[257]62 !cd ..
63 SetOutPath "$INSTDIR"
64 File "mime.types"
65 !cd Server
[54]66
67 CreateDirectory "$SMPROGRAMS\Tewi HTTPd"
[61]68 CreateShortcut "$SMPROGRAMS\Tewi HTTPd\License.lnk" "$INSTDIR\LICENSE.txt" ""
[54]69 CreateShortcut "$SMPROGRAMS\Tewi HTTPd\Start Tewi HTTPd.lnk" "$INSTDIR\bin\tewi.exe" ""
70 CreateShortcut "$SMPROGRAMS\Tewi HTTPd\Start Tewi HTTPd (verbose).lnk" "$INSTDIR\bin\tewi.exe" "-v"
71 CreateShortcut "$SMPROGRAMS\Tewi HTTPd\Uninstall Tewi HTTPd.lnk" "$INSTDIR\uninstall.exe" ""
72
[208]73 ${If} ${RunningX64}
74 SetRegView 64
75 ${Else}
76 SetRegView 32
77 ${EndIf}
[54]78 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd" "DisplayName" "Tewi HTTPd"
[208]79 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd" "InstallDir" "$INSTDIR"
[54]80 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd" "UninstallString" '"$INSTDIR\uninstall.exe"'
81
82 WriteUninstaller "$INSTDIR\uninstall.exe"
83SectionEnd
84
[63]85Section "$(EXEC_ONLY)" SEL_EXEC
[62]86 SetOutPath "$INSTDIR\bin"
[217]87 !cd ..
88 File "tewi.exe"
89 !cd Server
[62]90 WriteINIStr $INSTDIR\install.ini uninstall service false
91SectionEnd
92
[217]93!ifndef ONLY_EXEC
[63]94Section /o "$(SERV_TOO)" SEL_SERVICE
[62]95 WriteINIStr $INSTDIR\install.ini uninstall service true
96 FileOpen $9 $INSTDIR\install.bat w
97 FileWrite $9 '"$SYSDIR\sc.exe" stop "TewiHTTPd"$\r$\n'
98 FileClose $9
99 nsExec::Exec '"$INSTDIR\install.bat"'
100 Pop $0
[63]101 DetailPrint "$(WAIT_STOP)"
[62]102 Sleep 1000
103 CreateDirectory "$INSTDIR\logs"
104 SetOutPath "$INSTDIR\bin"
[217]105 !cd ..
106 File "tewi.exe"
107 File /oname=tewisrv.exe "tewi-service.exe"
108 !cd Server
[62]109 FileOpen $9 $INSTDIR\install.bat w
110 FileWrite $9 '"$SYSDIR\sc.exe" delete "TewiHTTPd"$\r$\n'
111 FileWrite $9 '"$SYSDIR\sc.exe" create "TewiHTTPd" DisplayName= "Tewi HTTPd" binpath= "$INSTDIR\bin\tewisrv.exe" start= "auto"$\r$\n'
112 FileWrite $9 '"$SYSDIR\sc.exe" start "TewiHTTPd"$\r$\n'
113 FileClose $9
114 nsExec::Exec '"$INSTDIR\install.bat"'
115 Pop $0
116 Delete $INSTDIR\install.bat
117SectionEnd
[217]118!endif
[62]119
120Function .onInit
121 StrCpy $1 ${SEL_EXEC}
122FunctionEnd
123
124Function .onSelChange
125 !insertmacro StartRadioButtons $1
126 !insertmacro RadioButton ${SEL_EXEC}
[217]127 !ifndef ONLY_EXEC
[62]128 !insertmacro RadioButton ${SEL_SERVICE}
[217]129 !endif
[62]130 !insertmacro EndRadioButtons
131FunctionEnd
132
[54]133Section "Uninstall"
[62]134 ReadINIStr $8 $INSTDIR\install.ini uninstall service
135 ${If} $8 == "true"
136 FileOpen $9 $INSTDIR\uninstall.bat w
137 FileWrite $9 '"$SYSDIR\sc.exe" stop "TewiHTTPd"$\r$\n'
138 FileClose $9
139 nsExec::Exec '"$INSTDIR\uninstall.bat"'
140 Pop $0
141 FileOpen $9 $INSTDIR\uninstall.bat w
[63]142 DetailPrint "$(WAIT_STOP)"
[62]143 Sleep 1000
144 FileWrite $9 '"$SYSDIR\sc.exe" delete "TewiHTTPd"$\r$\n'
145 FileClose $9
146 nsExec::Exec '"$INSTDIR\uninstall.bat"'
147 Pop $0
148 Delete $INSTDIR\uninstall.bat
149 ${EndIf}
150
[54]151 RMDir /r "$INSTDIR"
152 RMDir /r "$SMPROGRAMS\Tewi HTTPd"
153
[208]154 ${If} ${RunningX64}
155 SetRegView 64
156 ${Else}
157 SetRegView 32
158 ${EndIf}
[54]159 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd"
160SectionEnd
Note: See TracBrowser for help on using the repository browser.