|
|
|
@ -1,4 +1,40 @@
@@ -1,4 +1,40 @@
|
|
|
|
|
!include "MUI2.nsh" |
|
|
|
|
!include LogicLib.nsh |
|
|
|
|
!include Win\COM.nsh |
|
|
|
|
!include Win\Propkey.nsh |
|
|
|
|
|
|
|
|
|
!macro DemoteShortCut target |
|
|
|
|
!insertmacro ComHlpr_CreateInProcInstance ${CLSID_ShellLink} ${IID_IShellLink} r0 "" |
|
|
|
|
${If} $0 <> 0 |
|
|
|
|
${IUnknown::QueryInterface} $0 '("${IID_IPersistFile}",.r1)' |
|
|
|
|
${If} $1 P<> 0 |
|
|
|
|
${IPersistFile::Load} $1 '("${target}",1)' |
|
|
|
|
${IUnknown::Release} $1 "" |
|
|
|
|
${EndIf} |
|
|
|
|
${IUnknown::QueryInterface} $0 '("${IID_IPropertyStore}",.r1)' |
|
|
|
|
${If} $1 P<> 0 |
|
|
|
|
System::Call '*${SYSSTRUCT_PROPERTYKEY}(${PKEY_AppUserModel_StartPinOption})p.r2' |
|
|
|
|
System::Call '*${SYSSTRUCT_PROPVARIANT}(${VT_UI4},,&i4 ${APPUSERMODEL_STARTPINOPTION_NOPINONINSTALL})p.r3' |
|
|
|
|
${IPropertyStore::SetValue} $1 '($2,$3)' |
|
|
|
|
|
|
|
|
|
; Reuse the PROPERTYKEY & PROPVARIANT buffers to set another property |
|
|
|
|
System::Call '*$2${SYSSTRUCT_PROPERTYKEY}(${PKEY_AppUserModel_ExcludeFromShowInNewInstall})' |
|
|
|
|
System::Call '*$3${SYSSTRUCT_PROPVARIANT}(${VT_BOOL},,&i2 ${VARIANT_TRUE})' |
|
|
|
|
${IPropertyStore::SetValue} $1 '($2,$3)' |
|
|
|
|
|
|
|
|
|
System::Free $2 |
|
|
|
|
System::Free $3 |
|
|
|
|
${IPropertyStore::Commit} $1 "" |
|
|
|
|
${IUnknown::Release} $1 "" |
|
|
|
|
${EndIf} |
|
|
|
|
${IUnknown::QueryInterface} $0 '("${IID_IPersistFile}",.r1)' |
|
|
|
|
${If} $1 P<> 0 |
|
|
|
|
${IPersistFile::Save} $1 '("${target}",1)' |
|
|
|
|
${IUnknown::Release} $1 "" |
|
|
|
|
${EndIf} |
|
|
|
|
${IUnknown::Release} $0 "" |
|
|
|
|
${EndIf} |
|
|
|
|
!macroend |
|
|
|
|
|
|
|
|
|
Name "QGroundcontrol" |
|
|
|
|
Var StartMenuFolder |
|
|
|
@ -71,7 +107,9 @@ Section "create Start Menu Shortcuts"
@@ -71,7 +107,9 @@ Section "create Start Menu Shortcuts"
|
|
|
|
|
CreateDirectory "$SMPROGRAMS\$StartMenuFolder" |
|
|
|
|
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\QGroundControl.lnk" "$INSTDIR\qgroundcontrol.exe" "" "$INSTDIR\qgroundcontrol.exe" 0 |
|
|
|
|
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\QGroundControl (GPU Compatibility Mode).lnk" "$INSTDIR\qgroundcontrol.exe" "-angle" "$INSTDIR\qgroundcontrol.exe" 0 |
|
|
|
|
!insertmacro DemoteShortCut "$SMPROGRAMS\$StartMenuFolder\QGroundControl (GPU Compatibility Mode).lnk" |
|
|
|
|
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\QGroundControl (GPU Safe Mode).lnk" "$INSTDIR\qgroundcontrol.exe" "-swrast" "$INSTDIR\qgroundcontrol.exe" 0 |
|
|
|
|
!insertmacro DemoteShortCut "$SMPROGRAMS\$StartMenuFolder\QGroundControl (GPU Safe Mode).lnk" |
|
|
|
|
SectionEnd |
|
|
|
|
|
|
|
|
|
Function .onInit |
|
|
|
|