|
@@ -1,5 +1,10 @@
|
|
|
Unicode true
|
|
|
ManifestDPIAware true
|
|
|
+; Add in `dpiAwareness` `PerMonitorV2` to manifest for Windows 10 1607+ (note this should not affect lower versions since they should be able to ignore this and pick up `dpiAware` `true` set by `ManifestDPIAware true`)
|
|
|
+; Currently undocumented on NSIS's website but is in the Docs folder of source tree, see
|
|
|
+; https://github.com/kichik/nsis/blob/5fc0b87b819a9eec006df4967d08e522ddd651c9/Docs/src/attributes.but#L286-L300
|
|
|
+; https://github.com/tauri-apps/tauri/pull/10106
|
|
|
+ManifestDPIAwareness PerMonitorV2
|
|
|
|
|
|
!if "{{compression}}" == "none"
|
|
|
SetCompress off
|
|
@@ -364,19 +369,37 @@ Var DeleteAppDataCheckboxState
|
|
|
!define /ifndef WS_EX_LAYOUTRTL 0x00400000
|
|
|
!define MUI_PAGE_CUSTOMFUNCTION_SHOW un.ConfirmShow
|
|
|
Function un.ConfirmShow ; Add add a `Delete app data` check box
|
|
|
- FindWindow $1 "#32770" "" $HWNDPARENT ; Find inner dialog
|
|
|
- ${If} $(^RTL) = 1
|
|
|
- System::Call 'USER32::CreateWindowEx(i${__NSD_CheckBox_EXSTYLE}|${WS_EX_LAYOUTRTL},t"${__NSD_CheckBox_CLASS}",t "$(deleteAppData)",i${__NSD_CheckBox_STYLE},i 50,i 100,i 400, i 25,i$1,i0,i0,i0)i.s'
|
|
|
- ${Else}
|
|
|
- System::Call 'USER32::CreateWindowEx(i${__NSD_CheckBox_EXSTYLE},t"${__NSD_CheckBox_CLASS}",t "$(deleteAppData)",i${__NSD_CheckBox_STYLE},i 0,i 100,i 400, i 25,i$1,i0,i0,i0)i.s'
|
|
|
- ${EndIf}
|
|
|
- Pop $DeleteAppDataCheckbox
|
|
|
- SendMessage $HWNDPARENT ${WM_GETFONT} 0 0 $1
|
|
|
- SendMessage $DeleteAppDataCheckbox ${WM_SETFONT} $1 1
|
|
|
+ ; $1 inner dialog HWND
|
|
|
+ ; $2 window DPI
|
|
|
+ ; $3 style
|
|
|
+ ; $4 x
|
|
|
+ ; $5 y
|
|
|
+ ; $6 width
|
|
|
+ ; $7 height
|
|
|
+ FindWindow $1 "#32770" "" $HWNDPARENT ; Find inner dialog
|
|
|
+ System::Call "user32::GetDpiForWindow(p r1) i .r2"
|
|
|
+ ${If} $(^RTL) = 1
|
|
|
+ StrCpy $3 "${__NSD_CheckBox_EXSTYLE} | ${WS_EX_LAYOUTRTL}"
|
|
|
+ IntOp $4 50 * $2
|
|
|
+ ${Else}
|
|
|
+ StrCpy $3 "${__NSD_CheckBox_EXSTYLE}"
|
|
|
+ IntOp $4 0 * $2
|
|
|
+ ${EndIf}
|
|
|
+ IntOp $5 100 * $2
|
|
|
+ IntOp $6 400 * $2
|
|
|
+ IntOp $7 25 * $2
|
|
|
+ IntOp $4 $4 / 96
|
|
|
+ IntOp $5 $5 / 96
|
|
|
+ IntOp $6 $6 / 96
|
|
|
+ IntOp $7 $7 / 96
|
|
|
+ System::Call 'user32::CreateWindowEx(i r3, w "${__NSD_CheckBox_CLASS}", w "$(deleteAppData)", i ${__NSD_CheckBox_STYLE}, i r4, i r5, i r6, i r7, p r1, i0, i0, i0) i .s'
|
|
|
+ Pop $DeleteAppDataCheckbox
|
|
|
+ SendMessage $HWNDPARENT ${WM_GETFONT} 0 0 $1
|
|
|
+ SendMessage $DeleteAppDataCheckbox ${WM_SETFONT} $1 1
|
|
|
FunctionEnd
|
|
|
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.ConfirmLeave
|
|
|
Function un.ConfirmLeave
|
|
|
- SendMessage $DeleteAppDataCheckbox ${BM_GETCHECK} 0 0 $DeleteAppDataCheckboxState
|
|
|
+ SendMessage $DeleteAppDataCheckbox ${BM_GETCHECK} 0 0 $DeleteAppDataCheckboxState
|
|
|
FunctionEnd
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
|
|