diff --git a/packaging/nsis/uninstall.nsi b/packaging/nsis/uninstall.nsi index 739c7571d8..d65d30c67a 100755 --- a/packaging/nsis/uninstall.nsi +++ b/packaging/nsis/uninstall.nsi @@ -170,6 +170,7 @@ Delete "$INSTDIR\share\themes\Default\gtk-2.0\*.*" Delete "$INSTDIR\snmp\*.*" Delete "$INSTDIR\snmp\mibs\*.*" Delete "$INSTDIR\tpncp\*.*" +Delete "$INSTDIR\translations\*.*" Delete "$INSTDIR\ui\*.*" Delete "$INSTDIR\wimaxasncp\*.*" Delete "$INSTDIR\ws.css" @@ -243,6 +244,7 @@ RMDir "$INSTDIR\snmp" RMDir "$INSTDIR\radius" RMDir "$INSTDIR\dtds" RMDir "$INSTDIR\tpncp" +RMDir "$INSTDIR\translations" RMDir "$INSTDIR\ui" RMDir "$INSTDIR\wimaxasncp" RMDir "$INSTDIR" diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi index df3b1fdab0..a8ef88dc04 100644 --- a/packaging/nsis/wireshark.nsi +++ b/packaging/nsis/wireshark.nsi @@ -13,6 +13,22 @@ SetCompressorDictSize 64 ; MB !include "common.nsh" !include 'LogicLib.nsh' +; See http://nsis.sourceforge.net/Check_if_a_file_exists_at_compile_time for documentation +!macro !defineifexist _VAR_NAME _FILE_NAME + !tempfile _TEMPFILE + !ifdef NSIS_WIN32_MAKENSIS + ; Windows - cmd.exe + !system 'if exist "${_FILE_NAME}" echo !define ${_VAR_NAME} > "${_TEMPFILE}"' + !else + ; Posix - sh + !system 'if [ -e "${_FILE_NAME}" ]; then echo "!define ${_VAR_NAME}" > "${_TEMPFILE}"; fi' + !endif + !include '${_TEMPFILE}' + !delfile '${_TEMPFILE}' + !undef _TEMPFILE +!macroend +!define !defineifexist "!insertmacro !defineifexist" + ; ============================================================================ ; Header configuration ; ============================================================================ @@ -820,7 +836,13 @@ Section "${PROGRAM_NAME}" SecWiresharkQt SetOutPath $INSTDIR File "${QT_DIR}\${PROGRAM_NAME_PATH_QT}" !include qt-dll-manifest.nsh -File "${QT_DIR}\*.qm" +${!defineifexist} TRANSLATIONS_FOLDER "${QT_DIR}\translations" +!ifdef TRANSLATIONS_FOLDER + ; Starting from Qt 5.5, *.qm files are put in a translations subfolder + File /r "${QT_DIR}\translations" +!else + File "${QT_DIR}\*.qm" +!endif Push $0 ;SectionGetFlags ${SecWiresharkQt} $0