Commit 3727078a410d0f8ee48c3ccd93511212b0238722

Authored by Marcin Woliński
1 parent 1678503d

budowanie instalatorów GUI dla Windows

CMakeLists.txt
@@ -14,22 +14,20 @@ else () @@ -14,22 +14,20 @@ else ()
14 endif () 14 endif ()
15 15
16 if (DEFAULT_DICT_NAME) 16 if (DEFAULT_DICT_NAME)
17 - set (Morfeusz_VERSION_TWEAK "${DEFAULT_DICT_NAME}")  
18 - if (DICT_VERSION)  
19 - set (Morfeusz_VERSION_TWEAK "${Morfeusz_VERSION_TWEAK}.${DICT_VERSION}")  
20 - endif()  
21 - set (Morfeusz_VERSION "${Morfeusz_VERSION}.${Morfeusz_VERSION_TWEAK}")  
22 - if (NOT DICT_VERSION)  
23 - set (DICT_VERSION "1.0")  
24 - message (WARNING "Dictionary version is missing. Setting default value=1.0")  
25 - endif()  
26 -  
27 -set (CPACK_PACKAGE_VERSION "${Morfeusz_VERSION}")  
28 - 17 + set (Morfeusz_VERSION_TWEAK "${DEFAULT_DICT_NAME}")
  18 + if (DICT_VERSION)
  19 + set (Morfeusz_VERSION_TWEAK "${Morfeusz_VERSION_TWEAK}.${DICT_VERSION}")
  20 + endif()
  21 + set (Morfeusz_VERSION "${Morfeusz_VERSION}.${Morfeusz_VERSION_TWEAK}")
  22 + if (NOT DICT_VERSION)
  23 + set (DICT_VERSION "1.0")
  24 + message (WARNING "Dictionary version is missing. Setting default value=1.0")
  25 + endif()
  26 + set (CPACK_PACKAGE_VERSION "${Morfeusz_VERSION}")
29 elseif (INPUT_DICTIONARIES) 27 elseif (INPUT_DICTIONARIES)
30 - message (FATAL_ERROR "DEFAULT_DICT_NAME option is missing.") 28 + message (FATAL_ERROR "DEFAULT_DICT_NAME option is missing.")
31 elseif (NOT SKIP_DICTIONARY_BUILDING) 29 elseif (NOT SKIP_DICTIONARY_BUILDING)
32 - message (WARNING "Will build WITHOUT DICTIONARY. Set INPUT_DICTIONARIES option to build with dictionary.") 30 + message (WARNING "Will build WITHOUT DICTIONARY. Set INPUT_DICTIONARIES option to build with dictionary.")
33 endif () 31 endif ()
34 32
35 if (NOT CMAKE_BUILD_TYPE) 33 if (NOT CMAKE_BUILD_TYPE)
createGUIDeb.sh
@@ -16,7 +16,7 @@ install -D "$SRC_DIR/gui/morfeusz.desktop" "$PKG_DIR/usr/share/applications/morf @@ -16,7 +16,7 @@ install -D "$SRC_DIR/gui/morfeusz.desktop" "$PKG_DIR/usr/share/applications/morf
16 install -D "$BIN_DIR/morfeusz.jar" "$PKG_DIR/usr/share/java/morfeusz.jar" 16 install -D "$BIN_DIR/morfeusz.jar" "$PKG_DIR/usr/share/java/morfeusz.jar"
17 install -D "$SRC_DIR/gui/morfeusz.svg" "$PKG_DIR/usr/share/morfeusz2/morfeusz.svg" 17 install -D "$SRC_DIR/gui/morfeusz.svg" "$PKG_DIR/usr/share/morfeusz2/morfeusz.svg"
18 install -D "$SRC_DIR/gui/morfeusz2-gui.menu" "$PKG_DIR/usr/share/menu/morfeusz2-gui" 18 install -D "$SRC_DIR/gui/morfeusz2-gui.menu" "$PKG_DIR/usr/share/menu/morfeusz2-gui"
19 -install -D "$SRC_DIR/gui/morfeusz2-gui" "$PKG_DIR/usr/bin/morfeusz2-gui" 19 +install -D "$SRC_DIR/gui/morfeusz-gui" "$PKG_DIR/usr/bin/morfeusz-gui"
20 20
21 21
22 #SRC_DIR="$( cd "$( dirname "$0" )" && pwd )" 22 #SRC_DIR="$( cd "$( dirname "$0" )" && pwd )"
gui/CMakeLists.txt
@@ -48,17 +48,22 @@ add_jar (gui-proto-jar @@ -48,17 +48,22 @@ add_jar (gui-proto-jar
48 # INCLUDE_JARS jmorfeusz.jar QuitAboutPreferencesHandler.jar images.jar 48 # INCLUDE_JARS jmorfeusz.jar QuitAboutPreferencesHandler.jar images.jar
49 # INCLUDE_JARS ${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/jmorfeusz.jar QuitAboutPreferencesHandler.jar Images/*.png 49 # INCLUDE_JARS ${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/jmorfeusz.jar QuitAboutPreferencesHandler.jar Images/*.png
50 INCLUDE_JARS jmorfeusz QuitAboutPreferencesHandler.jar 50 INCLUDE_JARS jmorfeusz QuitAboutPreferencesHandler.jar
51 - # ENTRY_POINT morfeusz/Morfeusz  
52 - MANIFEST MANIFEST.MF 51 + ENTRY_POINT morfeusz/Morfeusz
  52 +# Moim zdaniem byłoby eleganciej z Manifestem włączającym systemowy
  53 +# jmorfeusz.jar, ale 14.04 (cmake 2.8.12) nie rozumie tego, więc
  54 +# zamiast wzipowujemy całe jmorfeusz poniżej do gui-jar:
  55 +#
  56 +# MANIFEST MANIFEST.MF
53 OUTPUT_NAME morfeusz 57 OUTPUT_NAME morfeusz
54 ) 58 )
55 59
56 add_dependencies(gui-proto-jar jmorfeusz) 60 add_dependencies(gui-proto-jar jmorfeusz)
57 61
58 add_custom_target(gui-jar 62 add_custom_target(gui-jar
59 - COMMAND zip -q morfeusz.jar "*.png"  
60 - COMMAND zip -q morfeusz.jar "*.gif" 63 + COMMAND zip -q morfeusz.jar "*.png" "*.gif"
61 COMMAND zip -q morfeusz.jar "quitaboutpreferenceshandler/*" 64 COMMAND zip -q morfeusz.jar "quitaboutpreferenceshandler/*"
  65 + COMMAND ln -s ../morfeusz/wrappers/java/pl .
  66 + COMMAND zip -qr morfeusz.jar "pl"
62 DEPENDS gui-proto-jar 67 DEPENDS gui-proto-jar
63 ) 68 )
64 69
@@ -68,14 +73,31 @@ add_custom_target (gui-deb @@ -68,14 +73,31 @@ add_custom_target (gui-deb
68 DEPENDS gui-jar 73 DEPENDS gui-jar
69 ) 74 )
70 75
  76 +if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
  77 + if (${ARCHITECTURE} MATCHES "amd64")
  78 + file(COPY morfeusz-gui64.exe DESTINATION ./morfeusz-gui.exe)
  79 + else ()
  80 + file(COPY morfeusz-gui32.exe DESTINATION ./morfeusz-gui.exe)
  81 + endif ()
  82 + set (NSIS_SCRIPT "${PROJECT_SOURCE_DIR}/morfeusz.nsi")
  83 +
  84 + add_custom_target (gui-installer
  85 + COMMAND makensis -NOCD "-DVERSION=${Morfeusz_LIB_VERSION}.${DICT_VERSION}" "$-DARCHITECTURE={ARCHITECTURE}" "-DTARGET_DIR=${TARGET_DIR}" "${NSIS_SCRIPT}"
  86 + DEPENDS gui-jar "${NSIS_SCRIPT}"
  87 + )
  88 +
  89 +endif ()
  90 +
71 if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 91 if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
72 set(MAC_APP_DIR "dmg/Morfeusz.app") 92 set(MAC_APP_DIR "dmg/Morfeusz.app")
73 file(COPY Morfeusz.app/ DESTINATION "${MAC_APP_DIR}") 93 file(COPY Morfeusz.app/ DESTINATION "${MAC_APP_DIR}")
  94 +
74 add_custom_target(gui-dmg 95 add_custom_target(gui-dmg
75 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/libmorfeusz2.dylib" "${MAC_APP_DIR}/Contents/MacOS/libmorfeusz2.dylib" 96 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/libmorfeusz2.dylib" "${MAC_APP_DIR}/Contents/MacOS/libmorfeusz2.dylib"
76 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/libjmorfeusz.jnilib" "${MAC_APP_DIR}/Contents/MacOS/libjmorfeusz.jnilib" 97 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/libjmorfeusz.jnilib" "${MAC_APP_DIR}/Contents/MacOS/libjmorfeusz.jnilib"
77 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/morfeusz.jar" "${MAC_APP_DIR}/Contents/Java/morfeusz.jar" 98 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/morfeusz.jar" "${MAC_APP_DIR}/Contents/Java/morfeusz.jar"
78 - COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/jmorfeusz.jar" "${MAC_APP_DIR}/Contents/Java/jmorfeusz.jar"  
79 - COMMAND genisoimage -V Morfeusz2 -D -R -apple -no-pad -o "$TARGET_DIR/morfeusz2-gui_${Morfeusz_LIB_VERSION}.${DICT_VERSION}-${CMAKE_SYSTEM_NAME}-${ARCHITECTURE}.dmg" "dmg/" 99 +# COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/jmorfeusz.jar" "${MAC_APP_DIR}/Contents/Java/jmorfeusz.jar"
  100 + COMMAND genisoimage -V Morfeusz2 -D -R -apple -no-pad -o "${TARGET_DIR}/morfeusz2-gui_${Morfeusz_LIB_VERSION}.${DICT_VERSION}-${CMAKE_SYSTEM_NAME}-${ARCHITECTURE}.dmg" "dmg/"
  101 + DEPENDS gui-jar "${NSIS_SCRIPT}"
80 ) 102 )
81 endif () 103 endif ()
gui/launch4j-config32.xml 0 → 100644
  1 +<launch4jConfig>
  2 + <headerType>gui</headerType>
  3 + <jar>morfeusz.jar</jar>
  4 + <dontWrapJar>true</dontWrapJar>
  5 + <outfile>morfeusz-gui32.exe</outfile>
  6 + <errTitle>Morfeusz 2</errTitle>
  7 + <chdir>.</chdir>
  8 + <icon>morfeusz.ico</icon>
  9 + <restartOnCrash>false</restartOnCrash>
  10 + <jre>
  11 + <minVersion>1.8.0</minVersion>
  12 + <!-- <runtimeBits>64|64/32|32/64|32</runtimeBits> -->
  13 + <runtimeBits>32</runtimeBits>
  14 + </jre>
  15 + <!-- <splash> -->
  16 + <!-- <file>splash.bmp</file> -->
  17 + <!-- <waitForWindow>true</waitForWindow> -->
  18 + <!-- <timeout>60</timeout> -->
  19 + <!-- <timeoutErr>true</timeoutErr> -->
  20 + <!-- </splash> -->
  21 +</launch4jConfig>
gui/launch4j-config64.xml 0 → 100644
  1 +<launch4jConfig>
  2 + <headerType>gui</headerType>
  3 + <jar>morfeusz.jar</jar>
  4 + <dontWrapJar>true</dontWrapJar>
  5 + <outfile>morfeusz-gui64.exe</outfile>
  6 + <errTitle>Morfeusz 2</errTitle>
  7 + <chdir>.</chdir>
  8 + <icon>morfeusz.ico</icon>
  9 + <restartOnCrash>false</restartOnCrash>
  10 + <jre>
  11 + <minVersion>1.8.0</minVersion>
  12 + <!-- <runtimeBits>64|64/32|32/64|32</runtimeBits> -->
  13 + <runtimeBits>64</runtimeBits>
  14 + </jre>
  15 + <!-- <splash> -->
  16 + <!-- <file>splash.bmp</file> -->
  17 + <!-- <waitForWindow>true</waitForWindow> -->
  18 + <!-- <timeout>60</timeout> -->
  19 + <!-- <timeoutErr>true</timeoutErr> -->
  20 + <!-- </splash> -->
  21 +</launch4jConfig>
gui/morfeusz2-gui renamed to gui/morfeusz-gui
gui/morfeusz-gui32.exe 0 → 100755
No preview for this file type
gui/morfeusz-gui64.exe 0 → 100755
No preview for this file type
gui/morfeusz.desktop
@@ -5,6 +5,6 @@ Name=Morfeusz @@ -5,6 +5,6 @@ Name=Morfeusz
5 Comment=Morphological analyzer and generator Morfeusz 2 5 Comment=Morphological analyzer and generator Morfeusz 2
6 Comment[pl]=Analizator i generator fleksyjny Morfeusz 2 6 Comment[pl]=Analizator i generator fleksyjny Morfeusz 2
7 Icon=/usr/share/morfeusz2/morfeusz.svg 7 Icon=/usr/share/morfeusz2/morfeusz.svg
8 -Exec=/usr/bin/morfeusz2-gui 8 +Exec=/usr/bin/morfeusz-gui
9 Terminal=false 9 Terminal=false
10 Categories=Office;Dictionary;GTK; 10 Categories=Office;Dictionary;GTK;
gui/morfeusz.ico 0 → 100644
No preview for this file type
gui/morfeusz32.nsi renamed to gui/morfeusz.nsi
@@ -4,14 +4,13 @@ @@ -4,14 +4,13 @@
4 # by Vlasis K. Barkas aka Red Wine red_wine@freemail.gr Sep 2006 4 # by Vlasis K. Barkas aka Red Wine red_wine@freemail.gr Sep 2006
5 ############################################################################################ 5 ############################################################################################
6 6
7 -!define APP_NAME "Morfeusz 2.0" 7 +!define APP_NAME "Morfeusz 2"
8 !define COMP_NAME "Institute of Computer Science, Polish Academy of Sciences" 8 !define COMP_NAME "Institute of Computer Science, Polish Academy of Sciences"
9 -!define WEB_SITE "sgjp.pl/morfeusz"  
10 -!define VERSION "02.00.00.00" 9 +!define WEB_SITE "morfeusz.sgjp.pl/"
11 !define COPYRIGHT "Institute of Computer Science, Polish Academy of Sciences" 10 !define COPYRIGHT "Institute of Computer Science, Polish Academy of Sciences"
12 -!define DESCRIPTION "Morfological analyzer for Polish"  
13 -!define INSTALLER_NAME "Morfeusz_Setup.exe"  
14 -!define MAIN_APP_EXE "morfeusz32.exe" 11 +!define DESCRIPTION "Morfological analyzer and generator for Polish"
  12 +!define INSTALLER_NAME "morfeusz-gui${VERSION}-Windows-${ARCHITECTURE}.exe"
  13 +!define MAIN_APP_EXE "morfeusz-gui.exe"
15 !define INSTALL_TYPE "SetShellVarContext all" 14 !define INSTALL_TYPE "SetShellVarContext all"
16 !define REG_ROOT "HKLM" 15 !define REG_ROOT "HKLM"
17 !define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${MAIN_APP_EXE}" 16 !define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${MAIN_APP_EXE}"
@@ -39,7 +38,7 @@ OutFile &quot;${INSTALLER_NAME}&quot; @@ -39,7 +38,7 @@ OutFile &quot;${INSTALLER_NAME}&quot;
39 BrandingText "${APP_NAME}" 38 BrandingText "${APP_NAME}"
40 XPStyle on 39 XPStyle on
41 InstallDirRegKey "${REG_ROOT}" "${REG_APP_PATH}" "" 40 InstallDirRegKey "${REG_ROOT}" "${REG_APP_PATH}" ""
42 -InstallDir "$PROGRAMFILES\Morfeusz 2.0" 41 +InstallDir "$PROGRAMFILES\Morfeusz 2"
43 42
44 ###################################################################### 43 ######################################################################
45 44
@@ -61,7 +60,7 @@ InstallDir &quot;$PROGRAMFILES\Morfeusz 2.0&quot; @@ -61,7 +60,7 @@ InstallDir &quot;$PROGRAMFILES\Morfeusz 2.0&quot;
61 !insertmacro MUI_PAGE_DIRECTORY 60 !insertmacro MUI_PAGE_DIRECTORY
62 61
63 !ifdef REG_START_MENU 62 !ifdef REG_START_MENU
64 -!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Morfeusz 2.0" 63 +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Morfeusz 2"
65 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${REG_ROOT}" 64 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${REG_ROOT}"
66 !define MUI_STARTMENUPAGE_REGISTRY_KEY "${UNINSTALL_PATH}" 65 !define MUI_STARTMENUPAGE_REGISTRY_KEY "${UNINSTALL_PATH}"
67 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${REG_START_MENU}" 66 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${REG_START_MENU}"
@@ -96,10 +95,12 @@ Section -MainProgram @@ -96,10 +95,12 @@ Section -MainProgram
96 ${INSTALL_TYPE} 95 ${INSTALL_TYPE}
97 SetOverwrite ifnewer 96 SetOverwrite ifnewer
98 SetOutPath "$INSTDIR" 97 SetOutPath "$INSTDIR"
99 -File "morfeusz32.exe"  
100 -File "jmorfeusz.dll"  
101 -File "morfeusz2.dll"  
102 -File "libwinpthread-1.dll" 98 +File "morfeusz-gui.exe"
  99 +File "morfeusz.jar"
  100 +#File "../morfeusz/wrappers/java/jmorfeusz.jar"
  101 +File "../morfeusz/wrappers/java/jmorfeusz.dll"
  102 +File "../morfeusz/morfeusz2.dll"
  103 +#File "/usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll"
103 SectionEnd 104 SectionEnd
104 105
105 ###################################################################### 106 ######################################################################
@@ -123,14 +124,14 @@ CreateShortCut &quot;$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk&quot; &quot;$INSTDIR\${APP_ @@ -123,14 +124,14 @@ CreateShortCut &quot;$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk&quot; &quot;$INSTDIR\${APP_
123 !endif 124 !endif
124 125
125 !ifndef REG_START_MENU 126 !ifndef REG_START_MENU
126 -CreateDirectory "$SMPROGRAMS\Morfeusz 2.0"  
127 -CreateShortCut "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}" 127 +CreateDirectory "$SMPROGRAMS\Morfeusz 2"
  128 +CreateShortCut "$SMPROGRAMS\Morfeusz 2\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"
128 CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}" 129 CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"
129 -CreateShortCut "$SMPROGRAMS\Morfeusz 2.0\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe" 130 +CreateShortCut "$SMPROGRAMS\Morfeusz 2\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"
130 131
131 !ifdef WEB_SITE 132 !ifdef WEB_SITE
132 WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}" 133 WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}"
133 -CreateShortCut "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url" 134 +CreateShortCut "$SMPROGRAMS\Morfeusz 2\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url"
134 !endif 135 !endif
135 !endif 136 !endif
136 137
@@ -174,14 +175,14 @@ RmDir &quot;$SMPROGRAMS\$SM_Folder&quot; @@ -174,14 +175,14 @@ RmDir &quot;$SMPROGRAMS\$SM_Folder&quot;
174 !endif 175 !endif
175 176
176 !ifndef REG_START_MENU 177 !ifndef REG_START_MENU
177 -Delete "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME}.lnk"  
178 -Delete "$SMPROGRAMS\Morfeusz 2.0\Uninstall ${APP_NAME}.lnk" 178 +Delete "$SMPROGRAMS\Morfeusz 2\${APP_NAME}.lnk"
  179 +Delete "$SMPROGRAMS\Morfeusz 2\Uninstall ${APP_NAME}.lnk"
179 !ifdef WEB_SITE 180 !ifdef WEB_SITE
180 -Delete "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME} Website.lnk" 181 +Delete "$SMPROGRAMS\Morfeusz 2\${APP_NAME} Website.lnk"
181 !endif 182 !endif
182 Delete "$DESKTOP\${APP_NAME}.lnk" 183 Delete "$DESKTOP\${APP_NAME}.lnk"
183 184
184 -RmDir "$SMPROGRAMS\Morfeusz 2.0" 185 +RmDir "$SMPROGRAMS\Morfeusz 2"
185 !endif 186 !endif
186 187
187 DeleteRegKey ${REG_ROOT} "${REG_APP_PATH}" 188 DeleteRegKey ${REG_ROOT} "${REG_APP_PATH}"
gui/morfeusz64.nsi deleted
1 -############################################################################################  
2 -# NSIS Installation Script created by NSIS Quick Setup Script Generator v1.09.18  
3 -# Entirely Edited with NullSoft Scriptable Installation System  
4 -# by Vlasis K. Barkas aka Red Wine red_wine@freemail.gr Sep 2006  
5 -############################################################################################  
6 -  
7 -!define APP_NAME "Morfeusz 2.0"  
8 -!define COMP_NAME "Institute of Computer Science, Polish Academy of Sciences"  
9 -!define WEB_SITE "sgjp.pl/morfeusz"  
10 -!define VERSION "02.00.00.00"  
11 -!define COPYRIGHT "Institute of Computer Science, Polish Academy of Sciences"  
12 -!define DESCRIPTION "Morfological analyzer for Polish"  
13 -!define INSTALLER_NAME "Morfeusz_Setup.exe"  
14 -!define MAIN_APP_EXE "morfeusz64.exe"  
15 -!define INSTALL_TYPE "SetShellVarContext all"  
16 -!define REG_ROOT "HKLM"  
17 -!define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${MAIN_APP_EXE}"  
18 -!define UNINSTALL_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"  
19 -  
20 -!define REG_START_MENU "Start Menu Folder"  
21 -  
22 -var SM_Folder  
23 -  
24 -######################################################################  
25 -  
26 -VIProductVersion "${VERSION}"  
27 -VIAddVersionKey "ProductName" "${APP_NAME}"  
28 -VIAddVersionKey "CompanyName" "${COMP_NAME}"  
29 -VIAddVersionKey "LegalCopyright" "${COPYRIGHT}"  
30 -VIAddVersionKey "FileDescription" "${DESCRIPTION}"  
31 -VIAddVersionKey "FileVersion" "${VERSION}"  
32 -  
33 -######################################################################  
34 -  
35 -SetCompressor ZLIB  
36 -Name "${APP_NAME}"  
37 -Caption "${APP_NAME}"  
38 -OutFile "${INSTALLER_NAME}"  
39 -BrandingText "${APP_NAME}"  
40 -XPStyle on  
41 -InstallDirRegKey "${REG_ROOT}" "${REG_APP_PATH}" ""  
42 -InstallDir "$PROGRAMFILES\Morfeusz 2.0"  
43 -  
44 -######################################################################  
45 -  
46 -!include "MUI.nsh"  
47 -  
48 -!define MUI_ABORTWARNING  
49 -!define MUI_UNABORTWARNING  
50 -  
51 -!define MUI_LANGDLL_REGISTRY_ROOT "${REG_ROOT}"  
52 -!define MUI_LANGDLL_REGISTRY_KEY "${UNINSTALL_PATH}"  
53 -!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"  
54 -  
55 -!insertmacro MUI_PAGE_WELCOME  
56 -  
57 -!ifdef LICENSE_TXT  
58 -!insertmacro MUI_PAGE_LICENSE "${LICENSE_TXT}"  
59 -!endif  
60 -  
61 -!insertmacro MUI_PAGE_DIRECTORY  
62 -  
63 -!ifdef REG_START_MENU  
64 -!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Morfeusz 2.0"  
65 -!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${REG_ROOT}"  
66 -!define MUI_STARTMENUPAGE_REGISTRY_KEY "${UNINSTALL_PATH}"  
67 -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${REG_START_MENU}"  
68 -!insertmacro MUI_PAGE_STARTMENU Application $SM_Folder  
69 -!endif  
70 -  
71 -!insertmacro MUI_PAGE_INSTFILES  
72 -  
73 -!define MUI_FINISHPAGE_RUN "$INSTDIR\${MAIN_APP_EXE}"  
74 -!insertmacro MUI_PAGE_FINISH  
75 -  
76 -!insertmacro MUI_UNPAGE_CONFIRM  
77 -  
78 -!insertmacro MUI_UNPAGE_INSTFILES  
79 -  
80 -!insertmacro MUI_UNPAGE_FINISH  
81 -  
82 -!insertmacro MUI_LANGUAGE "English"  
83 -!insertmacro MUI_LANGUAGE "Polish"  
84 -  
85 -!insertmacro MUI_RESERVEFILE_LANGDLL  
86 -  
87 -######################################################################  
88 -  
89 -Function .onInit  
90 -!insertmacro MUI_LANGDLL_DISPLAY  
91 -FunctionEnd  
92 -  
93 -######################################################################  
94 -  
95 -Section -MainProgram  
96 -${INSTALL_TYPE}  
97 -SetOverwrite ifnewer  
98 -SetOutPath "$INSTDIR"  
99 -File "morfeusz64.exe"  
100 -File "jmorfeusz.dll"  
101 -File "morfeusz2.dll"  
102 -File "libwinpthread-1.dll"  
103 -SectionEnd  
104 -  
105 -######################################################################  
106 -  
107 -Section -Icons_Reg  
108 -SetOutPath "$INSTDIR"  
109 -WriteUninstaller "$INSTDIR\uninstall.exe"  
110 -  
111 -!ifdef REG_START_MENU  
112 -!insertmacro MUI_STARTMENU_WRITE_BEGIN Application  
113 -CreateDirectory "$SMPROGRAMS\$SM_Folder"  
114 -CreateShortCut "$SMPROGRAMS\$SM_Folder\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"  
115 -CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"  
116 -CreateShortCut "$SMPROGRAMS\$SM_Folder\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"  
117 -  
118 -!ifdef WEB_SITE  
119 -WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}"  
120 -CreateShortCut "$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url"  
121 -!endif  
122 -!insertmacro MUI_STARTMENU_WRITE_END  
123 -!endif  
124 -  
125 -!ifndef REG_START_MENU  
126 -CreateDirectory "$SMPROGRAMS\Morfeusz 2.0"  
127 -CreateShortCut "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"  
128 -CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"  
129 -CreateShortCut "$SMPROGRAMS\Morfeusz 2.0\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"  
130 -  
131 -!ifdef WEB_SITE  
132 -WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}"  
133 -CreateShortCut "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url"  
134 -!endif  
135 -!endif  
136 -  
137 -WriteRegStr ${REG_ROOT} "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}"  
138 -WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayName" "${APP_NAME}"  
139 -WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "UninstallString" "$INSTDIR\uninstall.exe"  
140 -WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayIcon" "$INSTDIR\${MAIN_APP_EXE}"  
141 -WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "${VERSION}"  
142 -WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "${COMP_NAME}"  
143 -  
144 -!ifdef WEB_SITE  
145 -WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "URLInfoAbout" "${WEB_SITE}"  
146 -!endif  
147 -SectionEnd  
148 -  
149 -######################################################################  
150 -  
151 -Section Uninstall  
152 -${INSTALL_TYPE}  
153 -Delete "$INSTDIR\${MAIN_APP_EXE}"  
154 -Delete "$INSTDIR\jmorfeusz.dll"  
155 -Delete "$INSTDIR\morfeusz2.dll"  
156 -Delete "$INSTDIR\libwinpthread-1.dll"  
157 -Delete "$INSTDIR\uninstall.exe"  
158 -!ifdef WEB_SITE  
159 -Delete "$INSTDIR\${APP_NAME} website.url"  
160 -!endif  
161 -  
162 -RmDir "$INSTDIR"  
163 -  
164 -!ifdef REG_START_MENU  
165 -!insertmacro MUI_STARTMENU_GETFOLDER "Application" $SM_Folder  
166 -Delete "$SMPROGRAMS\$SM_Folder\${APP_NAME}.lnk"  
167 -Delete "$SMPROGRAMS\$SM_Folder\Uninstall ${APP_NAME}.lnk"  
168 -!ifdef WEB_SITE  
169 -Delete "$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk"  
170 -!endif  
171 -Delete "$DESKTOP\${APP_NAME}.lnk"  
172 -  
173 -RmDir "$SMPROGRAMS\$SM_Folder"  
174 -!endif  
175 -  
176 -!ifndef REG_START_MENU  
177 -Delete "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME}.lnk"  
178 -Delete "$SMPROGRAMS\Morfeusz 2.0\Uninstall ${APP_NAME}.lnk"  
179 -!ifdef WEB_SITE  
180 -Delete "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME} Website.lnk"  
181 -!endif  
182 -Delete "$DESKTOP\${APP_NAME}.lnk"  
183 -  
184 -RmDir "$SMPROGRAMS\Morfeusz 2.0"  
185 -!endif  
186 -  
187 -DeleteRegKey ${REG_ROOT} "${REG_APP_PATH}"  
188 -DeleteRegKey ${REG_ROOT} "${UNINSTALL_PATH}"  
189 -SectionEnd  
190 -  
191 -######################################################################  
192 -  
193 -Function un.onInit  
194 -!insertmacro MUI_UNGETLANGUAGE  
195 -FunctionEnd  
196 -  
197 -######################################################################