1!include MUI2.nsh
2
3!define PRODUCT_DISPLAY_VERSION      "2.3.0"
4!define PRODUCT_NAME                 "EiskaltDC++ ${PRODUCT_DISPLAY_VERSION}"
5!define PRODUCT_PUBLISHER            "EiskaltDC++"
6!define PRODUCT_WEB_SITE             "http://code.google.com/p/eiskaltdc/"
7!define PRODUCT_UNINST_KEY           "Software\Microsoft\Windows\CurrentVersion\Uninstall\EiskaltDC++"
8!define PRODUCT_UNINST_ROOT_KEY      "HKLM"
9!define PRODUCT_INSTALL_DIR          "$PROGRAMFILES\EiskaltDC++"
10!define MUI_ICON                     "installer\eiskaltdcpp.ico"
11;!define MUI_UNICON                   "installer\eiskaltdcpp.ico"
12!define MUI_WELCOMEFINISHPAGE_BITMAP "installer\icon_164x314.bmp"
13!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
14!define MUI_UNWELCOMEFINISHPAGE_BITMAP "installer\icon_164x314.bmp"
15!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
16!define MUI_WELCOMEPAGE_TITLE_3LINES
17!define MUI_FINISHPAGE_TITLE_3LINES
18!define MUI_FINISHPAGE_NOAUTOCLOSE
19!define MUI_UNFINISHPAGE_NOAUTOCLOSE
20
21SetCompressor /SOLID lzma
22
23!insertmacro MUI_PAGE_WELCOME
24!insertmacro MUI_PAGE_LICENSE "installer\LICENSE"
25!insertmacro MUI_PAGE_DIRECTORY
26!insertmacro MUI_PAGE_INSTFILES
27!define MUI_FINISHPAGE_RUN
28!define MUI_FINISHPAGE_RUN_FUNCTION "RunEiskaltDC++"
29!insertmacro MUI_PAGE_FINISH
30
31!insertmacro MUI_UNPAGE_CONFIRM
32!insertmacro MUI_UNPAGE_INSTFILES
33!insertmacro MUI_UNPAGE_FINISH
34
35!define MUI_LANGDLL_ALLLANGUAGES
36!insertmacro MUI_LANGUAGE "English"
37!insertmacro MUI_LANGUAGE "French"
38!insertmacro MUI_LANGUAGE "Spanish"
39!insertmacro MUI_LANGUAGE "Russian"
40!insertmacro MUI_LANGUAGE "Polish"
41!insertmacro MUI_LANGUAGE "Ukrainian"
42!insertmacro MUI_LANGUAGE "Hungarian"
43!insertmacro MUI_LANGUAGE "SerbianLatin"
44!insertmacro MUI_LANGUAGE "Belarusian"
45!insertmacro MUI_LANGUAGE "Bulgarian"
46!insertmacro MUI_LANGUAGE "Slovak"
47!insertmacro MUI_LANGUAGE "Czech"
48!insertmacro MUI_LANGUAGE "Italian"
49!insertmacro MUI_LANGUAGE "German"
50!insertmacro MUI_LANGUAGE "Greek"
51!insertmacro MUI_LANGUAGE "PortugueseBR"
52!insertmacro MUI_LANGUAGE "SimpChinese"
53!insertmacro MUI_LANGUAGE "Swedish"
54!insertmacro MUI_LANGUAGE "Serbian"
55!insertmacro MUI_LANGUAGE "Basque"
56!insertmacro MUI_LANGUAGE "Romanian"
57;!insertmacro MUI_LANGUAGE "Vietnamese"
58!insertmacro MUI_RESERVEFILE_LANGDLL
59Function .onInit
60  !insertmacro MUI_LANGDLL_DISPLAY
61FunctionEnd
62
63Name "${PRODUCT_NAME}"
64OutFile "EiskaltDC++-${PRODUCT_DISPLAY_VERSION}-x86.exe"
65InstallDir "${PRODUCT_INSTALL_DIR}"
66ShowInstDetails show
67ShowUnInstDetails show
68RequestExecutionLevel admin
69
70Function RunEiskaltDC++
71  ShellExecAsUser::ShellExecAsUser "" "$INSTDIR/eiskaltdcpp-qt.exe" ""
72FunctionEnd
73
74Section "EiskaltDC++"
75  SetOutPath $INSTDIR
76  File "installer\eiskaltdcpp-qt.exe"
77  File "installer\eiskaltdcpp-daemon.exe"
78  File "installer\eiskaltdcpp-cli-jsonrpc"
79  File "installer\cli-jsonrpc-config.pl"
80  File "installer\dcppboot.xml"
81  ;File "installer\Spellchecking_Readme.txt"
82  File "installer\qt.conf"
83  File "installer\QtCore4.dll"
84  File "installer\QtGui4.dll"
85  File "installer\QtNetwork4.dll"
86  File "installer\QtXml4.dll"
87  File "installer\QtScript4.dll"
88  File "installer\QtDeclarative4.dll"
89  File "installer\QtSql4.dll"
90  File "installer\QtXmlPatterns4.dll"
91  File "installer\libgcc_s_dw2-1.dll"
92  File "installer\libeay32.dll"
93  File "installer\ssleay32.dll"
94  File "installer\libintl-8.dll"
95  File "installer\libaspell-15.dll"
96  File "installer\lua51.dll"
97  File "installer\libidn-11.dll"
98  File "installer\libbz2-2.dll"
99  File "installer\libiconv-2.dll"
100  File "installer\libz-1.dll"
101  ;File "installer\libgcc_s_sjlj-1.dll"
102  File "installer\libstdc++-6.dll"
103  File "installer\libwinpthread-1.dll"
104  File "installer\libpcrecpp-0.dll"
105  File "installer\libpcre-0.dll"
106
107  File /r "installer\aspell"
108  File /r "installer\plugins"
109  File /r "installer\resources"
110  File /r "installer\script"
111
112  WriteUninstaller "$INSTDIR\uninstall.exe"
113  WriteRegStr   ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "DisplayName"     "${PRODUCT_NAME}"
114  WriteRegStr   ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "DisplayIcon"     "$INSTDIR\eiskaltdcpp-qt.exe"
115  WriteRegStr   ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString" "$INSTDIR\uninstall.exe"
116  WriteRegStr   ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "DisplayVersion"  "${PRODUCT_DISPLAY_VERSION}"
117  WriteRegStr   ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "URLInfoAbout"    "${PRODUCT_WEB_SITE}"
118  WriteRegStr   ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "Publisher"       "${PRODUCT_PUBLISHER}"
119SectionEnd
120
121Section "Start Menu Shortcuts"
122  SetShellVarContext all
123  CreateDirectory "$SMPROGRAMS\EiskaltDC++"
124  CreateShortCut  "$SMPROGRAMS\EiskaltDC++\EiskaltDC++.lnk" "$INSTDIR\eiskaltdcpp-qt.exe"
125  ;CreateShortCut  "$SMPROGRAMS\EiskaltDC++\Spellchecking Readme.lnk" "$INSTDIR\Spellchecking_Readme.txt"
126  CreateShortCut  "$SMPROGRAMS\EiskaltDC++\Uninstall.lnk"   "$INSTDIR\uninstall.exe"
127SectionEnd
128
129Section "Uninstall"
130  SetShellVarContext all
131  RMDir /r "$SMPROGRAMS\EiskaltDC++"
132  RMDir /r "$INSTDIR"
133  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY}
134SectionEnd
135
136