diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index fd7233eb2..e0db4adf4 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -303,7 +303,7 @@ set(companion_UIS ) if(WIN32) - set(icon_RC icon.rc) + set(icon_RC images/winicons/icon.rc) endif() qt5_wrap_ui(companion_SRCS ${companion_UIS}) @@ -362,13 +362,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") elseif(WIN32) - set(QT_DLL_DIR ${QT_LIB_DIR}) - set(INSTALL_TEMP_QTDLL_FILES Qt5Core Qt5Gui Qt5Widgets Qt5Xml Qt5Network Qt5PrintSupport Qt5Multimedia Qt5Svg) - set(INSTALL_TEMP_ICUDLL_FILES icudt54.dll icuin54.dll icuuc54.dll) - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(INSTALL_TEMP_QTDLL_SFX "d") - endif() - if(NOT WIN_DO_FULL_INSTALL) # Just copy supporting DLLs to build folder set(INSTALL_DESTINATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") @@ -382,106 +375,90 @@ elseif(WIN32) install(TARGETS ${SIMULATOR_NAME} DESTINATION ${INSTALL_DESTINATION}) install(FILES ${simulator_plugins} DESTINATION "${INSTALL_DESTINATION}") # supporting utilities - set(INSTALL_TEMP_FILES avrdude.exe avrdude.conf dfu-util.exe libusb0.dll libusb-1.0.dll) + set(INSTALL_TEMP_FILES avrdude.exe avrdude.conf dfu-util.exe libusb0.dll libusb-1.0.dll license.txt) foreach(tmpfile ${INSTALL_TEMP_FILES}) install(FILES "${COMPANION_SRC_DIRECTORY}/../targets/windows/${tmpfile}" DESTINATION ${INSTALL_DESTINATION}) endforeach() endif() # WIN_DO_FULL_INSTALL - # Qt dlls - foreach(tmpfile ${INSTALL_TEMP_QTDLL_FILES}) - install(FILES ${QT_DLL_DIR}/${tmpfile}${INSTALL_TEMP_QTDLL_SFX}.dll DESTINATION ${INSTALL_DESTINATION}) - endforeach() - install(FILES ${QT_DLL_DIR}/../plugins/platforms/qwindows${INSTALL_TEMP_QTDLL_SFX}.dll DESTINATION ${INSTALL_DESTINATION}/platforms) - # ICU dlls - foreach(tmpfile ${INSTALL_TEMP_ICUDLL_FILES}) - # Qt5.7+ doesn't use icu dlls anymore, hence optional - install(FILES ${QT_DLL_DIR}/${tmpfile}.dll DESTINATION ${INSTALL_DESTINATION} OPTIONAL) - endforeach() + # Qt dlls (using windeployqt) + ## Qt translations are already packaged into our custom qrc. Pckg size could be further reduced with: [--no-system-d3d-compiler] [--no-angle] + set(wdqtopts --no-translations --no-opengl-sw) + if(CMAKE_BUILD_TYPE STREQUAL "Release") + set(wdqtopts ${wdqtopts} --release) # release builds aren't always properly detected with mingw + endif() + if(MSVC) + set(wdqtopts ${wdqtopts} --no-compiler-runtime) # --compiler-runtime includes vcredist_x86, but we just copy the required DLLs manually + endif() + set(wdqtopts ${wdqtopts} -dir "${INSTALL_DESTINATION}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${COMPANION_NAME}.exe" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${SIMULATOR_NAME}.exe") + # Add installer command to execute windeployqt + install(CODE "execute_process(COMMAND \"${QT_BIN_DIR}/windeployqt.exe\" ${wdqtopts})") + # SDL dll - if(SDL_FOUND AND SDL_LIBRARY_PATH AND EXISTS "${SDL_LIBRARY_PATH}/SDL.dll") + if(SDL_FOUND AND EXISTS "${SDL_LIBRARY_PATH}/SDL.dll") set(SDL_DIR ${SDL_LIBRARY_PATH}) # this is also used by NSIS installer script install(FILES ${SDL_DIR}/SDL.dll DESTINATION ${INSTALL_DESTINATION}) elseif(SDL_FOUND) - message(WARNING "Installer: SDL.dll not found!") + message(WARNING "Installer: SDL.dll not found, set SDL_LIBRARY_PATH manually.") endif() - # libeay (SSL) dlls (used by QtNetwork) - set(EAY_LIB_DIR "") # this is also used by NSIS installer script - # Mingw-w64 comes with the required DLLs - if (MINGW AND IS_DIRECTORY "${MINGW_DIR}/../opt/bin/libeay32.dll") - set(EAY_LIB_DIR "${MINGW_DIR}/../opt/bin") - # check the user-configured WIN_EXTRA_LIBS_PATH for an OpenSSL folder - elseif(EXISTS "${WIN_EXTRA_LIBS_PATH}/OpenSSL/libeay32.dll") - set(EAY_LIB_DIR "${WIN_EXTRA_LIBS_PATH}/OpenSSL") - # most build setups will still have the (now legacy) PyQt dependency, so check for that next - elseif(EXISTS "${PYTHON_DIRECTORY}/lib/site-packages/PyQt4/libeay32.dll") - set(EAY_LIB_DIR "${PYTHON_DIRECTORY}/lib/site-packages/PyQt4") - else() - # the "slow" way -- look for an OpenSSL install - find_package("OpenSSL") - if (OPENSSL_FOUND) - set(EAY_LIB_DIR "${OPENSSL_INCLUDE_DIR}/../bin") - endif() - endif() + # libeay (SSL) dlls (used by QtNetwork) -- not strictly required but avoids possible issues with downloads and Qt warnings. + file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" WIN_PROGRAM_FILES) + find_path(EAY_LIB_DIR libeay32.dll HINTS + "${WIN_PROGRAM_FILES}/OpenSSL" "${WIN_PROGRAM_FILES}/OpenSSL-Win32" + "C:/OpenSSL/" "C:/OpenSSL-Win32/" + "${WIN_EXTRA_LIBS_PATH}" "${WIN_EXTRA_LIBS_PATH}/OpenSSL" "${WIN_EXTRA_LIBS_PATH}/OpenSSL-Win32" + "${MINGW_DIR}/../opt/bin" + "${PYTHON_DIRECTORY}/lib/site-packages/PyQt4" + PATH_SUFFIXES bin + DOC "Path to libeay32.dll and ssleay32.dll (OpenSSL)" + ) if (EAY_LIB_DIR) install(FILES "${EAY_LIB_DIR}/libeay32.dll" "${EAY_LIB_DIR}/ssleay32.dll" DESTINATION ${INSTALL_DESTINATION} OPTIONAL) + else() + message(WARNING "Installer: SSL libs not found, set EAY_LIB_DIR manually.") endif() # C++/system dlls, depends on compiler if(MSVC) - string(REPLACE "\\" "/" WIN_SYSDIR "$ENV{windir}") - set(WIN_SYSDIR "${WIN_SYSDIR}/SysWOW64") # This would be "system32" for a 64-bit build or on x86... but how to tell? - if(IS_DIRECTORY "${WIN_SYSDIR}") - install(FILES "${WIN_SYSDIR}/msvcp140.dll" "${WIN_SYSDIR}/vcruntime140.dll" DESTINATION ${INSTALL_DESTINATION} OPTIONAL) + file(TO_CMAKE_PATH "$ENV{windir}/SysWOW64" WIN_SYSDIR) # This would be "system32" for a 64-bit build or on x86... but how to tell? + if (NOT EXISTS "${WIN_SYSDIR}") + file(TO_CMAKE_PATH "$ENV{windir}/system32" WIN_SYSDIR) # Must be 32-bit Windows. endif() + install(FILES "${WIN_SYSDIR}/msvcp140.dll" "${WIN_SYSDIR}/vcruntime140.dll" DESTINATION ${INSTALL_DESTINATION} OPTIONAL) if(WIN_PTHREAD_DLL) install(FILES "${WIN_PTHREAD_DLL}" DESTINATION ${INSTALL_DESTINATION}) endif() - elseif(MINGW) - install(FILES "${MINGW_DIR}/libgcc_s_dw2-1.dll" "${MINGW_DIR}/libstdc++-6.dll" "${MINGW_DIR}/libwinpthread-1.dll" DESTINATION ${INSTALL_DESTINATION}) endif() endif() # WIN32 install ############# Packaging #################### -# Create Windows installer with NSIS (only works for MSVC for now) +# Create Windows installer with NSIS if(WIN32) - if(MSVC) - set(COMPANION_NSI_IN_FILE companion-vs.nsi.in) - set(SIMULATOR_NSI_IN_FILE simulator-vs.nsi.in) - else() - set(COMPANION_NSI_IN_FILE companion-msys.nsi.in) - set(SIMULATOR_NSI_IN_FILE simulator-msys.nsi.in) - endif() - - set(SYSDIR "$ENV{windir}/system32") - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../targets/windows/${COMPANION_NSI_IN_FILE} ${PROJECT_BINARY_DIR}/companion/companion.nsi @ONLY) - #configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../targets/windows/${SIMULATOR_NSI_IN_FILE} ${PROJECT_BINARY_DIR}/companion/simulator.nsi @ONLY) find_program(NSIS_EXE makensis.exe PATHS "C:/Program Files/NSIS" "C:/Program Files (x86)/NSIS" "C:/Programs/NSIS" + "${WIN_EXTRA_LIBS_PATH}/NSIS" + ) + + if (NSIS_EXE) + file(TO_NATIVE_PATH "${INSTALL_DESTINATION}" NSIS_DISTRO) # all files in here will be included in installer + set(NSI_FILE "${PROJECT_BINARY_DIR}/companion/companion.nsi") + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../targets/windows/companion.nsi.in" "${NSI_FILE}" @ONLY) + + add_custom_target(installer + # The 'install' target prepares all the distro files, make sure it has been executed first. + COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target install + COMMAND "${NSIS_EXE}" "${NSI_FILE}" + DEPENDS "${NSI_FILE}" + COMMENT "Building Windows NSIS installer..." ) + endif() - add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/companion/companion-windows.exe - COMMAND "${NSIS_EXE}" ARGS ${PROJECT_BINARY_DIR}/companion/companion.nsi - DEPENDS companion simulator opentx-simulators ${PROJECT_BINARY_DIR}/companion/companion.nsi - COMMENT "Companion Windows NSIS Installer") - -# add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/companion/simulator-install.exe -# COMMAND "${NSIS_EXE}" ARGS ${PROJECT_BINARY_DIR}/companion/simulator.nsi -# DEPENDS simulator ${PROJECT_BINARY_DIR}/companion/simulator.nsi -# COMMENT "Simulator Windows NSIS Installer") - - add_custom_target(installer - DEPENDS ${PROJECT_BINARY_DIR}/companion/companion-windows.exe -# DEPENDS ${PROJECT_BINARY_DIR}/companion/simulator-windows.exe - SOURCES ${PROJECT_BINARY_DIR}/companion/companion.nsi -# SOURCES ${PROJECT_BINARY_DIR}/companion/simulator.nsi - ) endif() set(CPACK_PACKAGE_NAME "companion${C9X_NAME_SUFFIX}") diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc index 568d6a66d..4fa2a8c80 100644 --- a/companion/src/companion.qrc +++ b/companion/src/companion.qrc @@ -1,7 +1,7 @@ images/customize.png - icon.png + images/icon.png ../../CREDITS.txt ../releasenotes.txt images/screenshot.png diff --git a/companion/src/icon.ico b/companion/src/icon.ico deleted file mode 100644 index e81c703b7..000000000 Binary files a/companion/src/icon.ico and /dev/null differ diff --git a/companion/src/icon.rc b/companion/src/icon.rc deleted file mode 100644 index 8f9d9ca03..000000000 --- a/companion/src/icon.rc +++ /dev/null @@ -1 +0,0 @@ -IDI_ICON1 ICON DISCARDABLE "icon.ico" diff --git a/companion/src/icon.png b/companion/src/images/icon.png similarity index 100% rename from companion/src/icon.png rename to companion/src/images/icon.png diff --git a/companion/src/images/winicons/icon.rc b/companion/src/images/winicons/icon.rc new file mode 100644 index 000000000..298347189 --- /dev/null +++ b/companion/src/images/winicons/icon.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON DISCARDABLE "opentx.ico" diff --git a/companion/src/images/winicons/opentx.ico b/companion/src/images/winicons/opentx.ico new file mode 100644 index 000000000..903ad9098 Binary files /dev/null and b/companion/src/images/winicons/opentx.ico differ diff --git a/companion/src/images/winicons/opentx_128.ico b/companion/src/images/winicons/opentx_128.ico new file mode 100644 index 000000000..ca4eb0950 Binary files /dev/null and b/companion/src/images/winicons/opentx_128.ico differ diff --git a/companion/src/images/winicons/opentx_16.ico b/companion/src/images/winicons/opentx_16.ico new file mode 100644 index 000000000..9b138b9d1 Binary files /dev/null and b/companion/src/images/winicons/opentx_16.ico differ diff --git a/companion/src/images/winicons/opentx_20.ico b/companion/src/images/winicons/opentx_20.ico new file mode 100644 index 000000000..bb4a484ad Binary files /dev/null and b/companion/src/images/winicons/opentx_20.ico differ diff --git a/companion/src/images/winicons/opentx_24.ico b/companion/src/images/winicons/opentx_24.ico new file mode 100644 index 000000000..d90107c1b Binary files /dev/null and b/companion/src/images/winicons/opentx_24.ico differ diff --git a/companion/src/images/winicons/opentx_256.ico b/companion/src/images/winicons/opentx_256.ico new file mode 100644 index 000000000..40aabf00e Binary files /dev/null and b/companion/src/images/winicons/opentx_256.ico differ diff --git a/companion/src/images/winicons/opentx_30.ico b/companion/src/images/winicons/opentx_30.ico new file mode 100644 index 000000000..8e2965dfd Binary files /dev/null and b/companion/src/images/winicons/opentx_30.ico differ diff --git a/companion/src/images/winicons/opentx_32.ico b/companion/src/images/winicons/opentx_32.ico new file mode 100644 index 000000000..c9768b74b Binary files /dev/null and b/companion/src/images/winicons/opentx_32.ico differ diff --git a/companion/src/images/winicons/opentx_36.ico b/companion/src/images/winicons/opentx_36.ico new file mode 100644 index 000000000..bdad904ee Binary files /dev/null and b/companion/src/images/winicons/opentx_36.ico differ diff --git a/companion/src/images/winicons/opentx_40.ico b/companion/src/images/winicons/opentx_40.ico new file mode 100644 index 000000000..4b2fd415a Binary files /dev/null and b/companion/src/images/winicons/opentx_40.ico differ diff --git a/companion/src/images/winicons/opentx_48.ico b/companion/src/images/winicons/opentx_48.ico new file mode 100644 index 000000000..d282bb528 Binary files /dev/null and b/companion/src/images/winicons/opentx_48.ico differ diff --git a/companion/src/images/winicons/opentx_60.ico b/companion/src/images/winicons/opentx_60.ico new file mode 100644 index 000000000..3a1d16313 Binary files /dev/null and b/companion/src/images/winicons/opentx_60.ico differ diff --git a/companion/src/images/winicons/opentx_64.ico b/companion/src/images/winicons/opentx_64.ico new file mode 100644 index 000000000..58161533e Binary files /dev/null and b/companion/src/images/winicons/opentx_64.ico differ diff --git a/companion/src/images/winicons/opentx_72.ico b/companion/src/images/winicons/opentx_72.ico new file mode 100644 index 000000000..195efbe11 Binary files /dev/null and b/companion/src/images/winicons/opentx_72.ico differ diff --git a/companion/src/images/winicons/opentx_80.ico b/companion/src/images/winicons/opentx_80.ico new file mode 100644 index 000000000..459064f92 Binary files /dev/null and b/companion/src/images/winicons/opentx_80.ico differ diff --git a/companion/src/images/winicons/opentx_96.ico b/companion/src/images/winicons/opentx_96.ico new file mode 100644 index 000000000..ac784e5e3 Binary files /dev/null and b/companion/src/images/winicons/opentx_96.ico differ diff --git a/companion/targets/windows/companion-msys.nsi.in b/companion/targets/windows/companion-msys.nsi.in deleted file mode 100644 index 1d1a31139..000000000 --- a/companion/targets/windows/companion-msys.nsi.in +++ /dev/null @@ -1,200 +0,0 @@ -;NSIS Modern User Interface -;Start Menu Folder Selection Example Script -;Written by Joost Verburg - -;-------------------------------- -;Include Modern UI - - !include "MUI2.nsh" - !include "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\FileAssociation.nsh" - -;-------------------------------- -;General - - ;Name and file - Name "OpenTX companion" - OutFile "companion-windows-v@VERSION@.exe" - - ;Default installation folder - InstallDir "$PROGRAMFILES\OpenTX companion" - - ;Get installation folder from registry if available - InstallDirRegKey HKCU "Software\companion9x" "" - - ;Compressor options - SetCompressor /FINAL /SOLID lzma - SetCompressorDictSize 64 - - ;Request application privileges for Windows Vista - RequestExecutionLevel admin - -;-------------------------------- -;Variables - - Var StartMenuFolder - -;-------------------------------- -;Interface Settings - - !define MUI_ABORTWARNING - -;-------------------------------- -;Pages - - !insertmacro MUI_PAGE_LICENSE "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" - !insertmacro MUI_PAGE_COMPONENTS - !insertmacro MUI_PAGE_DIRECTORY - - ;Start Menu Folder Page Configuration - !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" - !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\companion9x" - !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" - - !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder - - !insertmacro MUI_PAGE_INSTFILES - - # These indented statements modify settings for MUI_PAGE_FINISH - !define MUI_FINISHPAGE_NOAUTOCLOSE - !define MUI_FINISHPAGE_RUN - !define MUI_FINISHPAGE_RUN_CHECKED - !define MUI_FINISHPAGE_RUN_TEXT "Launch companion" - !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink" - # !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED - # !define MUI_FINISHPAGE_SHOWREADME $INSTDIR\readme.txt - !insertmacro MUI_PAGE_FINISH - - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - -;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" - !insertmacro MUI_LANGUAGE "French" - -;-------------------------------- -;Installer Sections - -Section "OpenTX companion" SecDummy - - SetOutPath "$INSTDIR" - - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" - File "companion.exe" - File "C:\Programs\xerces\src\.libs\libxerces-c-3-1.dll" - File "C:\MinGW\bin\libgcc_s_dw2-1.dll" - File "C:\MinGW\bin\mingwm10.dll" - File "C:\MinGW\bin\libstdc++-6.dll" - File "@QT_BINARY_DIR@\QtCore4.dll" - File "@QT_BINARY_DIR@\QtGui4.dll" - File "@QT_BINARY_DIR@\QtXml4.dll" - File "@QT_BINARY_DIR@\QtNetwork4.dll" - File "@QT_BINARY_DIR@\Phonon4.dll" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\avrdude.exe" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\avrdude.conf" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\libusb0.dll" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\dfu-util.exe" - - CreateDirectory "$INSTDIR\phonon_backend" - SetOutPath "$INSTDIR\phonon_backend" - File "@QT_BINARY_DIR@\..\plugins\phonon_backend\Phonon_ds94.dll" - - CreateDirectory "$INSTDIR\lang" - SetOutPath "$INSTDIR\lang" - File "*.qm" - - SetOutPath "$INSTDIR" - ;Store installation folder - WriteRegStr HKCU "Software\companion9x" "" $INSTDIR - - ;Associate with extentions ,bin and .hex - ${registerExtension} "$INSTDIR\companion.exe" ".bin" "BIN_File" - ${registerExtension} "$INSTDIR\companion.exe" ".hex" "HEX_File" - ${registerExtension} "$INSTDIR\companion.exe" ".companion" "EEPE_File" - ${registerExtension} "$INSTDIR\companion.exe" ".eepm" "EEPM_File" - - ;Create uninstaller - WriteUninstaller "$INSTDIR\Uninstall.exe" - - ;Registry information for add/remove programs - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayName" "OpenTX Companion" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\"" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayIcon" "$\"$INSTDIR\companion.exe$\"" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "Publisher" "OpenTX" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "URLInfoAbout" "http://www.open-tx.org" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S" - - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - - ;Create shortcuts - CreateDirectory "$SMPROGRAMS\$StartMenuFolder" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\companion.lnk" "$INSTDIR\companion.exe" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - - !insertmacro MUI_STARTMENU_WRITE_END - -SectionEnd - -;-------------------------------- -;Descriptions - - ;Language strings - LangString DESC_SecDummy ${LANG_ENGLISH} "Models and settings editor for OpenTX" - LangString DESC_SecDummy ${LANG_FRENCH} "Editeur de r�glages et mod�les pour OpenTX" - - ;Assign language strings to sections - !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy) - !insertmacro MUI_FUNCTION_DESCRIPTION_END - -;-------------------------------- -;Uninstaller Section - -Section "Uninstall" - - ;ADD YOUR OWN FILES HERE... - - Delete "$INSTDIR\license.txt" - Delete "$INSTDIR\companion.exe" - Delete "$INSTDIR\libxerces-c-3-1.dll" - Delete "$INSTDIR\libgcc_s_dw2-1.dll" - Delete "$INSTDIR\mingwm10.dll" - Delete "$INSTDIR\libstdc++-6.dll" - Delete "$INSTDIR\QtCore4.dll" - Delete "$INSTDIR\QtGui4.dll" - Delete "$INSTDIR\QtNetwork4.dll" - Delete "$INSTDIR\Phonon4.dll" - Delete "$INSTDIR\QtXml4.dll" - Delete "$INSTDIR\avrdude.exe" - Delete "$INSTDIR\avrdude.conf" - Delete "$INSTDIR\libusb0.dll" - Delete "$INSTDIR\dfu-util.exe" - Delete "$INSTDIR\Uninstall.exe" - - Delete "$INSTDIR\lang\*.*" - Delete "$INSTDIR\phonon_backend\*.*" - - RMDir "$INSTDIR\lang" - RMDir "$INSTDIR\phonon_backend" - RMDir "$INSTDIR" - - ${unregisterExtension} ".bin" "BIN File" - ${unregisterExtension} ".hex" "HEX File" - ${unregisterExtension} ".eepm" "EEPE File" - ${unregisterExtension} ".companion" "EEPM File" - - !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder - - Delete "$SMPROGRAMS\$StartMenuFolder\companion.lnk" - Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" - RMDir "$SMPROGRAMS\$StartMenuFolder" - - DeleteRegKey /ifempty HKCU "Software\companion9x" - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" - -SectionEnd - -Function LaunchLink - ExecShell "" "$INSTDIR\companion.exe" -FunctionEnd diff --git a/companion/targets/windows/companion-vs.nsi.in b/companion/targets/windows/companion.nsi.in similarity index 66% rename from companion/targets/windows/companion-vs.nsi.in rename to companion/targets/windows/companion.nsi.in index 00e86b4d4..7ea693a1a 100644 --- a/companion/targets/windows/companion-vs.nsi.in +++ b/companion/targets/windows/companion.nsi.in @@ -60,7 +60,7 @@ ;-------------------------------- ;Pages - !insertmacro MUI_PAGE_LICENSE "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" + !insertmacro MUI_PAGE_LICENSE "@NSIS_DISTRO@\license.txt" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY @@ -98,70 +98,18 @@ Section "OpenTX Companion @VERSION_FAMILY@" SecDummy Delete "$INSTDIR\opentx-*-simulator.dll" - Delete "$INSTDIR\lang\*.*" - RMDir "$INSTDIR\lang" - SetOutPath "$INSTDIR\platforms" - File "@QT_DLL_DIR@\..\plugins\platforms\qwindows.dll" + RMDir /r "$INSTDIR\lang" + RMDir /r "$INSTDIR\phonon_backend" SetOutPath "$INSTDIR" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" - File "..\Release\companion.exe" - File "..\Release\simulator.exe" - File "..\Release\opentx-*-simulator.dll" - ${!defineifexist} PTHREAD_WINDIR "C:\Programs\pthreads\Pre-built.2\lib\pthreadVC2.dll" - !ifdef PTHREAD_WINDIR - File "C:\Programs\pthreads\Pre-built.2\lib\pthreadVC2.dll" - !else - File "@SYSDIR@\system32\pthreadVC2.dll" - !endif - File "@SYSDIR@\msvcp140.dll" - File "@SYSDIR@\vcruntime140.dll" - File "@QT_DLL_DIR@\Qt5Core.dll" - File "@QT_DLL_DIR@\Qt5Gui.dll" - File "@QT_DLL_DIR@\Qt5Widgets.dll" - File "@QT_DLL_DIR@\Qt5PrintSupport.dll" - File "@QT_DLL_DIR@\Qt5Network.dll" - File "@QT_DLL_DIR@\Qt5Multimedia.dll" - File "@QT_DLL_DIR@\Qt5Svg.dll" - File "@QT_DLL_DIR@\Qt5Xml.dll" - ${!defineifexist} EAY_LIB_WINDIR "@EAY_LIB_DIR@\libeay32.dll" - !ifdef EAY_LIB_WINDIR - File "@EAY_LIB_DIR@\libeay32.dll" - File "@EAY_LIB_DIR@\ssleay32.dll" - !endif + ; Copy the complete distribution folder contents + File /r "@NSIS_DISTRO@\*" - File "@SDL_DIR@\SDL.dll" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\avrdude.exe" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\avrdude.conf" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\libusb0.dll" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\dfu-util.exe" - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\libusb-1.0.dll" - - SetOutPath "$INSTDIR\printsupport" - File "@QT_DLL_DIR@\..\plugins\printsupport\windowsprintersupport.dll" - - SetOutPath "$INSTDIR\imageformats" - File "@QT_DLL_DIR@\..\plugins\imageformats\qjpeg.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qsvg.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qdds.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qgif.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qicns.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qico.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qtga.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qtiff.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qwbmp.dll" - File "@QT_DLL_DIR@\..\plugins\imageformats\qwebp.dll" - - SetOutPath "$INSTDIR\mediaservice" - File "@QT_DLL_DIR@\..\plugins\mediaservice\dsengine.dll" - - SetOutPath "$INSTDIR" ;Store installation folder WriteRegStr HKCU "Software\OpenTX\Companion @VERSION_FAMILY@" "" $INSTDIR - ;Associate with extentions .otx, .bin (TODO: remove .bin) - ${registerExtension} "$INSTDIR\companion.exe" ".bin" "BIN File" + ;Associate with extentions .otx ${registerExtension} "$INSTDIR\companion.exe" ".otx" "OpenTX Settings File" ;Create uninstaller @@ -206,46 +154,46 @@ Section "un.OpenTX Companion @VERSION_FAMILY@" SectionIn RO ; Not deselectable - ;ADD YOUR OWN FILES HERE... - Delete "$INSTDIR\license.txt" Delete "$INSTDIR\companion.exe" Delete "$INSTDIR\simulator.exe" - Delete "$INSTDIR\opentx-*-simulator.dll" - Delete "$INSTDIR\pthreadVC2.dll" + Delete "$INSTDIR\*opentx-*-simulator.dll" Delete "$INSTDIR\SDL.dll" + ; MSVC-specific libs Delete "$INSTDIR\msvcp140.dll" Delete "$INSTDIR\vcruntime140.dll" - Delete "$INSTDIR\Qt5Core.dll" - Delete "$INSTDIR\Qt5Gui.dll" - Delete "$INSTDIR\Qt5Widgets.dll" - Delete "$INSTDIR\Qt5PrintSupport.dll" - Delete "$INSTDIR\Qt5Network.dll" - Delete "$INSTDIR\Qt5Multimedia.dll" - Delete "$INSTDIR\Qt5Xml.dll" - Delete "$INSTDIR\Qt5Svg.dll" + Delete "$INSTDIR\pthreadVC2.dll" + ; Qt libs + Delete "$INSTDIR\Qt5*.dll" + Delete "$INSTDIR\d3dcompiler_47.dll" + Delete "$INSTDIR\libEGL.dll" + Delete "$INSTDIR\libGLESV2.dll" + ; flashing utils Delete "$INSTDIR\avrdude.exe" Delete "$INSTDIR\avrdude.conf" - Delete "$INSTDIR\libusb0.dll" Delete "$INSTDIR\dfu-util.exe" + Delete "$INSTDIR\libusb0.dll" Delete "$INSTDIR\libusb-1.0.dll" + ; OpenSSL libs Delete "$INSTDIR\libeay32.dll" Delete "$INSTDIR\ssleay32.dll" + ; MinGW libs + Delete "$INSTDIR\libgcc_s_dw2-1.dll" + Delete "$INSTDIR\libstdc++-6.dll" + Delete "$INSTDIR\libwinpthread-1.dll" + Delete "$INSTDIR\Uninstall.exe" - Delete "$INSTDIR\lang\*.*" - Delete "$INSTDIR\phonon_backend\*.*" - Delete "$INSTDIR\platforms\*.*" - Delete "$INSTDIR\printsupport\*.*" - Delete "$INSTDIR\mediaservice\*.*" - Delete "$INSTDIR\imageformats\*.*" + ; Qt plugin folders + RMDir /r "$INSTDIR\audio" + RMDir /r "$INSTDIR\bearer" + RMDir /r "$INSTDIR\iconengines" + RMDir /r "$INSTDIR\imageformats" + RMDir /r "$INSTDIR\mediaservice" + RMDir /r "$INSTDIR\platforms" + RMDir /r "$INSTDIR\playlistformats" + RMDir /r "$INSTDIR\printsupport" - RMDir "$INSTDIR\lang" - RMDir "$INSTDIR\phonon_backend" - RMDir "$INSTDIR\platforms" - RMDir "$INSTDIR\printsupport" - RMDir "$INSTDIR\mediaservice" - RMDir "$INSTDIR\imageformats" RMDir "$INSTDIR" ${unregisterExtension} ".bin" "BIN File" diff --git a/companion/targets/windows/simulator-msys.nsi.in b/companion/targets/windows/simulator-msys.nsi.in deleted file mode 100644 index 1b479e0c3..000000000 --- a/companion/targets/windows/simulator-msys.nsi.in +++ /dev/null @@ -1,204 +0,0 @@ -;NSIS Modern User Interface -;Start Menu Folder Selection Example Script -;Written by Joost Verburg - -;-------------------------------- -;Include Modern UI - - !include "MUI2.nsh" - -;-------------------------------- -;General - - ;Name and file - Name "OpenTX Simulator" - OutFile "simulator-windows-@VERSION@.exe" - - ;Default installation folder - InstallDir "$PROGRAMFILES\OpenTX" - - ;Get installation folder from registry if available - InstallDirRegKey HKCU "Software\OpenTX" "" - - ;Compressor options - SetCompressor /FINAL /SOLID lzma - SetCompressorDictSize 64 - - ;Request application privileges for Windows Vista - RequestExecutionLevel admin - -;-------------------------------- -;Variables - - Var StartMenuFolder - -;-------------------------------- -;Interface Settings - - !define MUI_ABORTWARNING - -;-------------------------------- -;File Exists Macro - -; 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" - -;-------------------------------- -;Pages - - !insertmacro MUI_PAGE_LICENSE "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" - !insertmacro MUI_PAGE_COMPONENTS - !insertmacro MUI_PAGE_DIRECTORY - - ;Start Menu Folder Page Configuration - !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" - !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenTX" - !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" - - !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder - - !insertmacro MUI_PAGE_INSTFILES - - # These indented statements modify settings for MUI_PAGE_FINISH - !define MUI_FINISHPAGE_NOAUTOCLOSE - !define MUI_FINISHPAGE_RUN - !define MUI_FINISHPAGE_RUN_CHECKED - !define MUI_FINISHPAGE_RUN_TEXT "Launch OpenTX Simulator" - !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink" - !insertmacro MUI_PAGE_FINISH - - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - -;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" - !insertmacro MUI_LANGUAGE "French" - -;-------------------------------- -;Installer Sections - -Section "OpenTX Simulator" SecDummy - - SetOutPath "$INSTDIR" - - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" - File "Release\simulator.exe" - File "Release\opentx-*-simulator.dll" - - ${!defineifexist} PTHREAD_WINDIR "C:\Programs\pthreads\Pre-built.2\lib\pthreadVC2.dll" - !ifdef PTHREAD_WINDIR - File "C:\Programs\pthreads\Pre-built.2\lib\pthreadVC2.dll" - !else - File "@SYSDIR@\system32\pthreadVC2.dll" - !endif - File "C:\Programs\xerces-vc\bin\xerces-c_3_1.dll" - File "C:\Programs\SDL\lib\SDL.dll" - File "@SYSDIR@\msvcp100.dll" - File "@SYSDIR@\msvcr100.dll" - File "@QT_BINARY_DIR@\QtCore4.dll" - File "@QT_BINARY_DIR@\QtGui4.dll" - File "@QT_BINARY_DIR@\QtNetwork4.dll" - File "@QT_BINARY_DIR@\Phonon4.dll" - File "@QT_BINARY_DIR@\QtXml4.dll" - - CreateDirectory "$INSTDIR\phonon_backend" - SetOutPath "$INSTDIR\phonon_backend" - File "@QT_BINARY_DIR@\..\plugins\phonon_backend\Phonon_ds94.dll" - - CreateDirectory "$INSTDIR\lang" - SetOutPath "$INSTDIR\lang" - File "src\*.qm" - - SetOutPath "$INSTDIR" - ;Store installation folder - WriteRegStr HKCU "Software\OpenTX" "" $INSTDIR - - ;Create uninstaller - WriteUninstaller "$INSTDIR\Uninstall.exe" - - ;Registry information for add/remove programs - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayName" "OpenTX Simulator" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\"" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayIcon" "$\"$INSTDIR\simulator.exe$\"" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "Publisher" "OpenTX" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "URLInfoAbout" "http://www.open-tx.org" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S" - - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - - ;Create shortcuts - CreateDirectory "$SMPROGRAMS\$StartMenuFolder" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\simulator.lnk" "$INSTDIR\simulator.exe" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - - !insertmacro MUI_STARTMENU_WRITE_END - -SectionEnd - -;-------------------------------- -;Descriptions - - ;Language strings - LangString DESC_SecDummy ${LANG_ENGLISH} "Simulator for OpenTX" - LangString DESC_SecDummy ${LANG_FRENCH} "Simulateur pour OpenTX" - - ;Assign language strings to sections - !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy) - !insertmacro MUI_FUNCTION_DESCRIPTION_END - -;-------------------------------- -;Uninstaller Section - -Section "Uninstall" - - ;ADD YOUR OWN FILES HERE... - - Delete "$INSTDIR\license.txt" - Delete "$INSTDIR\simulator.exe" - Delete "$INSTDIR\pthreadVC2.dll" - Delete "$INSTDIR\xerces-c_3_1.dll" - Delete "$INSTDIR\SDL.dll" - Delete "$INSTDIR\msvcp100.dll" - Delete "$INSTDIR\msvcr100.dll" - Delete "$INSTDIR\QtCore4.dll" - Delete "$INSTDIR\QtGui4.dll" - Delete "$INSTDIR\QtXml4.dll" - Delete "$INSTDIR\QtNetwork4.dll" - Delete "$INSTDIR\Phonon4.dll" - Delete "$INSTDIR\Uninstall.exe" - Delete "$INSTDIR\lang\*.*" - Delete "$INSTDIR\opentx-*-simulator.dll" - - RMDir "$INSTDIR\lang" - RMDir "$INSTDIR" - - !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder - - Delete "$SMPROGRAMS\$StartMenuFolder\simulator.lnk" - Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" - RMDir "$SMPROGRAMS\$StartMenuFolder" - - DeleteRegKey /ifempty HKCU "Software\OpenTX" - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" - -SectionEnd - -Function LaunchLink - ExecShell "" "$INSTDIR\simulator.exe" -FunctionEnd diff --git a/companion/targets/windows/simulator-vs.nsi.in b/companion/targets/windows/simulator-vs.nsi.in deleted file mode 100644 index 1b479e0c3..000000000 --- a/companion/targets/windows/simulator-vs.nsi.in +++ /dev/null @@ -1,204 +0,0 @@ -;NSIS Modern User Interface -;Start Menu Folder Selection Example Script -;Written by Joost Verburg - -;-------------------------------- -;Include Modern UI - - !include "MUI2.nsh" - -;-------------------------------- -;General - - ;Name and file - Name "OpenTX Simulator" - OutFile "simulator-windows-@VERSION@.exe" - - ;Default installation folder - InstallDir "$PROGRAMFILES\OpenTX" - - ;Get installation folder from registry if available - InstallDirRegKey HKCU "Software\OpenTX" "" - - ;Compressor options - SetCompressor /FINAL /SOLID lzma - SetCompressorDictSize 64 - - ;Request application privileges for Windows Vista - RequestExecutionLevel admin - -;-------------------------------- -;Variables - - Var StartMenuFolder - -;-------------------------------- -;Interface Settings - - !define MUI_ABORTWARNING - -;-------------------------------- -;File Exists Macro - -; 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" - -;-------------------------------- -;Pages - - !insertmacro MUI_PAGE_LICENSE "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" - !insertmacro MUI_PAGE_COMPONENTS - !insertmacro MUI_PAGE_DIRECTORY - - ;Start Menu Folder Page Configuration - !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" - !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenTX" - !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" - - !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder - - !insertmacro MUI_PAGE_INSTFILES - - # These indented statements modify settings for MUI_PAGE_FINISH - !define MUI_FINISHPAGE_NOAUTOCLOSE - !define MUI_FINISHPAGE_RUN - !define MUI_FINISHPAGE_RUN_CHECKED - !define MUI_FINISHPAGE_RUN_TEXT "Launch OpenTX Simulator" - !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink" - !insertmacro MUI_PAGE_FINISH - - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - -;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" - !insertmacro MUI_LANGUAGE "French" - -;-------------------------------- -;Installer Sections - -Section "OpenTX Simulator" SecDummy - - SetOutPath "$INSTDIR" - - File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\license.txt" - File "Release\simulator.exe" - File "Release\opentx-*-simulator.dll" - - ${!defineifexist} PTHREAD_WINDIR "C:\Programs\pthreads\Pre-built.2\lib\pthreadVC2.dll" - !ifdef PTHREAD_WINDIR - File "C:\Programs\pthreads\Pre-built.2\lib\pthreadVC2.dll" - !else - File "@SYSDIR@\system32\pthreadVC2.dll" - !endif - File "C:\Programs\xerces-vc\bin\xerces-c_3_1.dll" - File "C:\Programs\SDL\lib\SDL.dll" - File "@SYSDIR@\msvcp100.dll" - File "@SYSDIR@\msvcr100.dll" - File "@QT_BINARY_DIR@\QtCore4.dll" - File "@QT_BINARY_DIR@\QtGui4.dll" - File "@QT_BINARY_DIR@\QtNetwork4.dll" - File "@QT_BINARY_DIR@\Phonon4.dll" - File "@QT_BINARY_DIR@\QtXml4.dll" - - CreateDirectory "$INSTDIR\phonon_backend" - SetOutPath "$INSTDIR\phonon_backend" - File "@QT_BINARY_DIR@\..\plugins\phonon_backend\Phonon_ds94.dll" - - CreateDirectory "$INSTDIR\lang" - SetOutPath "$INSTDIR\lang" - File "src\*.qm" - - SetOutPath "$INSTDIR" - ;Store installation folder - WriteRegStr HKCU "Software\OpenTX" "" $INSTDIR - - ;Create uninstaller - WriteUninstaller "$INSTDIR\Uninstall.exe" - - ;Registry information for add/remove programs - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayName" "OpenTX Simulator" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\"" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayIcon" "$\"$INSTDIR\simulator.exe$\"" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "Publisher" "OpenTX" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "URLInfoAbout" "http://www.open-tx.org" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S" - - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - - ;Create shortcuts - CreateDirectory "$SMPROGRAMS\$StartMenuFolder" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\simulator.lnk" "$INSTDIR\simulator.exe" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - - !insertmacro MUI_STARTMENU_WRITE_END - -SectionEnd - -;-------------------------------- -;Descriptions - - ;Language strings - LangString DESC_SecDummy ${LANG_ENGLISH} "Simulator for OpenTX" - LangString DESC_SecDummy ${LANG_FRENCH} "Simulateur pour OpenTX" - - ;Assign language strings to sections - !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy) - !insertmacro MUI_FUNCTION_DESCRIPTION_END - -;-------------------------------- -;Uninstaller Section - -Section "Uninstall" - - ;ADD YOUR OWN FILES HERE... - - Delete "$INSTDIR\license.txt" - Delete "$INSTDIR\simulator.exe" - Delete "$INSTDIR\pthreadVC2.dll" - Delete "$INSTDIR\xerces-c_3_1.dll" - Delete "$INSTDIR\SDL.dll" - Delete "$INSTDIR\msvcp100.dll" - Delete "$INSTDIR\msvcr100.dll" - Delete "$INSTDIR\QtCore4.dll" - Delete "$INSTDIR\QtGui4.dll" - Delete "$INSTDIR\QtXml4.dll" - Delete "$INSTDIR\QtNetwork4.dll" - Delete "$INSTDIR\Phonon4.dll" - Delete "$INSTDIR\Uninstall.exe" - Delete "$INSTDIR\lang\*.*" - Delete "$INSTDIR\opentx-*-simulator.dll" - - RMDir "$INSTDIR\lang" - RMDir "$INSTDIR" - - !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder - - Delete "$SMPROGRAMS\$StartMenuFolder\simulator.lnk" - Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" - RMDir "$SMPROGRAMS\$StartMenuFolder" - - DeleteRegKey /ifempty HKCU "Software\OpenTX" - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" - -SectionEnd - -Function LaunchLink - ExecShell "" "$INSTDIR\simulator.exe" -FunctionEnd