cfc66a395cd98b431a470a1a844731b9594b4f2f
[platform/upstream/libwebsockets.git] / win32port / libwebsockets.nsi
1 ; NSIS installer script for libwebsockets
2
3 !include "MUI.nsh"
4
5 Name "libwebsockets"
6 OutFile "libwebsockets-${VERSION}-install.exe"
7
8 InstallDir "$PROGRAMFILES\libwebsockets"
9
10 ;--------------------------------
11 ; Installer pages
12 !insertmacro MUI_PAGE_WELCOME
13 !insertmacro MUI_PAGE_COMPONENTS
14 !insertmacro MUI_PAGE_DIRECTORY
15 !insertmacro MUI_PAGE_INSTFILES
16 !insertmacro MUI_PAGE_FINISH
17
18
19 ;--------------------------------
20 ; Uninstaller pages
21 !insertmacro MUI_UNPAGE_WELCOME
22 !insertmacro MUI_UNPAGE_CONFIRM
23 !insertmacro MUI_UNPAGE_INSTFILES
24 !insertmacro MUI_UNPAGE_FINISH
25
26 ;--------------------------------
27 ; Languages
28 !insertmacro MUI_LANGUAGE "English"
29
30 ;--------------------------------
31 ; Installer sections
32
33 Section "Files" SecInstall
34         SectionIn RO
35         SetOutPath "$INSTDIR"
36         File "..\libwebsockets-api-doc.html"
37         File "..\LICENSE"
38         File "..\README.md"
39         File "..\README.build.md"
40         File "..\README.coding.md"
41         File "..\README.test-apps.md"
42         File "..\build\bin\Release\libwebsockets-test-client.exe"
43         File "..\build\bin\Release\libwebsockets-test-echo.exe"
44         File "..\build\bin\Release\libwebsockets-test-fraggle.exe"
45         File "..\build\bin\Release\libwebsockets-test-ping.exe"
46         File /nonfatal "..\build\bin\Release\libwebsockets-test-server.exe"
47         File /nonfatal "..\build\bin\Release\libwebsockets-test-server-extpoll.exe"
48         File "..\build\bin\Release\websockets.dll"
49
50         SetOutPath "$INSTDIR\libwebsockets-test-server"
51         File /nonfatal "..\build\bin\share\libwebsockets-test-server\favicon.ico"
52         File /nonfatal "..\build\bin\share\libwebsockets-test-server\leaf.jpg"
53         File /nonfatal "..\build\bin\share\libwebsockets-test-server\libwebsockets.org-logo.png"
54         File /nonfatal "..\build\bin\share\libwebsockets-test-server\libwebsockets-test-server.key.pem"
55         File /nonfatal "..\build\bin\share\libwebsockets-test-server\libwebsockets-test-server.pem"
56         File /nonfatal "..\build\bin\share\libwebsockets-test-server\test.html"
57
58         SetOutPath "$INSTDIR\lib"
59         File "..\build\lib\Release\websockets.lib"
60         File "..\build\lib\Release\websockets_static.lib"
61
62         SetOutPath "$INSTDIR\include"
63         File "..\lib\libwebsockets.h"
64
65         WriteUninstaller "$INSTDIR\Uninstall.exe"
66         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "DisplayName" "libwebsockets library and clients"
67         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
68         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
69         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "HelpLink" "http://libwebsockets.org/"
70         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "URLInfoAbout" "http://libwebsockets.org/"
71         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "DisplayVersion" "${VERSION}"
72         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "NoModify" "1"
73         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets" "NoRepair" "1"
74 SectionEnd
75
76 Section "Uninstall"
77         Delete "$INSTDIR\libwebsockets-api-doc.html"
78         Delete "$INSTDIR\LICENSE"
79         Delete "$INSTDIR\README.md"
80         Delete "$INSTDIR\README.build.md"
81         Delete "$INSTDIR\README.coding.md"
82         Delete "$INSTDIR\README.test-apps.md"
83         Delete "$INSTDIR\libwebsockets-test-client.exe"
84         Delete "$INSTDIR\libwebsockets-test-echo.exe"
85         Delete "$INSTDIR\libwebsockets-test-fraggle.exe"
86         Delete "$INSTDIR\libwebsockets-test-ping.exe"
87         Delete "$INSTDIR\libwebsockets-test-server.exe"
88         Delete "$INSTDIR\libwebsockets-test-server-extpoll.exe"
89         Delete "$INSTDIR\websockets.dll"
90
91         Delete "$INSTDIR\libwebsockets-test-server\favicon.ico"
92         Delete "$INSTDIR\libwebsockets-test-server\leaf.jpg"
93         Delete "$INSTDIR\libwebsockets-test-server\libwebsockets.org-logo.png"
94         Delete "$INSTDIR\libwebsockets-test-server\libwebsockets-test-server.key.pem"
95         Delete "$INSTDIR\libwebsockets-test-server\libwebsockets-test-server.pem"
96         Delete "$INSTDIR\libwebsockets-test-server\test.html"
97         RMDir "$INSTDIR\libwebsockets-test-server"
98
99         Delete "$INSTDIR\lib\websockets.lib"
100         Delete "$INSTDIR\lib\websockets_static.lib"
101         RMDir "$INSTDIR\lib"
102
103         Delete "$INSTDIR\include\libwebsockets.h"
104         RMDir "$INSTDIR\include"
105
106         Delete "$INSTDIR\Uninstall.exe"
107         RMDir "$INSTDIR"
108         DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\libwebsockets"
109 SectionEnd
110
111 LangString DESC_SecInstall ${LANG_ENGLISH} "The main installation."
112 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
113         !insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} $(DESC_SecInstall)
114 !insertmacro MUI_FUNCTION_DESCRIPTION_END
115