From 8f55cd7838b65f88690c4701a52618f6b4d3cb93 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Fri, 14 Jun 2019 12:01:14 -0700 Subject: [PATCH] Change USB driver detection logic --- ChangeLog.md | 3 ++- deploy/qgroundcontrol_installer.nsi | 14 ++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 468917cc0..5ab0a2163 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -8,7 +8,8 @@ Note: This file only contains high level features or important fixes. * Major rewrite and bug fix pass through Structure Scan. Previous version had such bad problems that it can no longer be supported. Plans with Structure Scan will need to be recreated. New QGC will not load old Structure Scan plans. -### 3.5.3 - Not yet released +### 3.5.3 - Stable +* Change Windows driver detection logic * Fix crash when clicking on GeoFence polygon vertex * PX4: Fix missing ```MC_YAW_FF``` parameter in PID Tuning * ArduPilot: Fix parameter file save generating bad characters from git hash diff --git a/deploy/qgroundcontrol_installer.nsi b/deploy/qgroundcontrol_installer.nsi index 60ee26780..e58c820ec 100644 --- a/deploy/qgroundcontrol_installer.nsi +++ b/deploy/qgroundcontrol_installer.nsi @@ -62,6 +62,7 @@ Section ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" StrCmp $R0 "" doinstall + DetailPrint "Uninstalling previous version..." ExecWait "$R0 /S _?=$INSTDIR -LEAVE_DATA=1" IntCmp $0 0 doinstall @@ -82,24 +83,21 @@ doinstall: WriteRegExpandStr HKLM "SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\${EXENAME}.exe" "DumpFolder" "%LOCALAPPDATA%\QGCCrashDumps" ; Only attempt to install the PX4 driver if the version isn't present - !define ROOTKEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\434608CF2B6E31F0DDBA5C511053F957B55F098E" + !define DRIVERKEY "SOFTWARE\MichaelOborne\driver" SetRegView 64 - ReadRegStr $0 HKLM "${ROOTKEY}" "Publisher" - StrCmp $0 "3D Robotics" found_provider notfound + ReadRegDWORD $0 HKCU "${DRIVERKEY}" "installed" + IntCmp $0 1 found_provider notfound notfound found_provider: - ReadRegStr $0 HKLM "${ROOTKEY}" "DisplayVersion" - DetailPrint "Checking USB driver version... $0" - StrCmp $0 "04/11/2013 2.0.0.4" skip_driver notfound + DetailPrint "USB Drivers already installed" + goto done notfound: DetailPrint "USB Driver not found... installing" ExecWait '"msiexec" /i "px4driver.msi"' goto done -skip_driver: - DetailPrint "USB Driver found... skipping install" done: SetRegView lastused SectionEnd -- 2.22.0