Commit 3727078a410d0f8ee48c3ccd93511212b0238722

Authored by Marcin Woliński
1 parent 1678503d

budowanie instalatorów GUI dla Windows

CMakeLists.txt
... ... @@ -14,22 +14,20 @@ else ()
14 14 endif ()
15 15  
16 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 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 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 31 endif ()
34 32  
35 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 16 install -D "$BIN_DIR/morfeusz.jar" "$PKG_DIR/usr/share/java/morfeusz.jar"
17 17 install -D "$SRC_DIR/gui/morfeusz.svg" "$PKG_DIR/usr/share/morfeusz2/morfeusz.svg"
18 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 22 #SRC_DIR="$( cd "$( dirname "$0" )" && pwd )"
... ...
gui/CMakeLists.txt
... ... @@ -48,17 +48,22 @@ add_jar (gui-proto-jar
48 48 # INCLUDE_JARS jmorfeusz.jar QuitAboutPreferencesHandler.jar images.jar
49 49 # INCLUDE_JARS ${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/jmorfeusz.jar QuitAboutPreferencesHandler.jar Images/*.png
50 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 57 OUTPUT_NAME morfeusz
54 58 )
55 59  
56 60 add_dependencies(gui-proto-jar jmorfeusz)
57 61  
58 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 64 COMMAND zip -q morfeusz.jar "quitaboutpreferenceshandler/*"
  65 + COMMAND ln -s ../morfeusz/wrappers/java/pl .
  66 + COMMAND zip -qr morfeusz.jar "pl"
62 67 DEPENDS gui-proto-jar
63 68 )
64 69  
... ... @@ -68,14 +73,31 @@ add_custom_target (gui-deb
68 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 91 if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
72 92 set(MAC_APP_DIR "dmg/Morfeusz.app")
73 93 file(COPY Morfeusz.app/ DESTINATION "${MAC_APP_DIR}")
  94 +
74 95 add_custom_target(gui-dmg
75 96 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/libmorfeusz2.dylib" "${MAC_APP_DIR}/Contents/MacOS/libmorfeusz2.dylib"
76 97 COMMAND install -D "${CMAKE_CURRENT_BINARY_DIR}/../morfeusz/wrappers/java/libjmorfeusz.jnilib" "${MAC_APP_DIR}/Contents/MacOS/libjmorfeusz.jnilib"
77 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 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 5 Comment=Morphological analyzer and generator Morfeusz 2
6 6 Comment[pl]=Analizator i generator fleksyjny Morfeusz 2
7 7 Icon=/usr/share/morfeusz2/morfeusz.svg
8   -Exec=/usr/bin/morfeusz2-gui
  8 +Exec=/usr/bin/morfeusz-gui
9 9 Terminal=false
10 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 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 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 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 14 !define INSTALL_TYPE "SetShellVarContext all"
16 15 !define REG_ROOT "HKLM"
17 16 !define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${MAIN_APP_EXE}"
... ... @@ -39,7 +38,7 @@ OutFile &quot;${INSTALLER_NAME}&quot;
39 38 BrandingText "${APP_NAME}"
40 39 XPStyle on
41 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 60 !insertmacro MUI_PAGE_DIRECTORY
62 61  
63 62 !ifdef REG_START_MENU
64   -!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Morfeusz 2.0"
  63 +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Morfeusz 2"
65 64 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${REG_ROOT}"
66 65 !define MUI_STARTMENUPAGE_REGISTRY_KEY "${UNINSTALL_PATH}"
67 66 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${REG_START_MENU}"
... ... @@ -96,10 +95,12 @@ Section -MainProgram
96 95 ${INSTALL_TYPE}
97 96 SetOverwrite ifnewer
98 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 104 SectionEnd
104 105  
105 106 ######################################################################
... ... @@ -123,14 +124,14 @@ CreateShortCut &quot;$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk&quot; &quot;$INSTDIR\${APP_
123 124 !endif
124 125  
125 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 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 132 !ifdef WEB_SITE
132 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 135 !endif
135 136 !endif
136 137  
... ... @@ -174,14 +175,14 @@ RmDir &quot;$SMPROGRAMS\$SM_Folder&quot;
174 175 !endif
175 176  
176 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 180 !ifdef WEB_SITE
180   -Delete "$SMPROGRAMS\Morfeusz 2.0\${APP_NAME} Website.lnk"
  181 +Delete "$SMPROGRAMS\Morfeusz 2\${APP_NAME} Website.lnk"
181 182 !endif
182 183 Delete "$DESKTOP\${APP_NAME}.lnk"
183 184  
184   -RmDir "$SMPROGRAMS\Morfeusz 2.0"
  185 +RmDir "$SMPROGRAMS\Morfeusz 2"
185 186 !endif
186 187  
187 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   -######################################################################