Warning, /graphics/digikam/project/bundles/mxe/installer/reboot_required.nsh is written in an unsupported language. File is not indexed.
0001 ;; ============================================================ 0002 ; 0003 ; This file is a part of digiKam project 0004 ; https://www.digikam.org 0005 ; 0006 ; Date : 2010-11-08 0007 ; Description : Functions to check if reboot is required. 0008 ; Note: NSIS >= 3 is required to be compatible with Windows 10. 0009 ; 0010 ; SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 ; 0012 ; SPDX-License-Identifier: GPL-2.0-or-later 0013 ; 0014 ; ============================================================ ;; 0015 0016 !ifndef REBOOT_REQUIRED_INCLUDED 0017 !define REBOOT_REQUIRED_INCLUDED 0018 0019 Function DirectoryLeave 0020 0021 Call NotifyIfRebootRequired 0022 0023 FunctionEnd 0024 0025 ;------------------------------------------- 0026 0027 Function NotifyIfRebootRequired 0028 0029 Call IsRebootRequired 0030 Exch $0 0031 0032 ${If} $0 == 1 0033 0034 ;TODO: consider adding a RunOnce entry for the installer to HKCU instead of telling the user they need to run the installer 0035 ;themselves (can't add to HKLM because basic user wouldn't have access, only admins do). 0036 ;this would require using the UAC plugin to handle elevation by starting as a normal user, elevating, and then dropping back to normal when writing to HKCU 0037 ;TODO: need to internationalize string (see VLC / clementine / etc) 0038 0039 MessageBox MB_YESNO|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND "You must reboot to complete uninstallation of a previous install of ${MY_PRODUCT} before ${MY_PRODUCT} ${VERSION} can be installed.$\r$\n$\r$\n\ 0040 Would you like to reboot now?$\r$\n$\r$\n\ 0041 (You will have to run the installer again after reboot to continue setup)" /SD IDNO IDNO noInstall 0042 Reboot 0043 0044 ${Else} 0045 0046 Goto done 0047 0048 ${EndIf} 0049 0050 noInstall: 0051 Abort 0052 0053 done: 0054 Pop $0 0055 0056 FunctionEnd 0057 0058 Function IsRebootRequired 0059 0060 Push $0 0061 Push $1 0062 Push $2 0063 Push $3 0064 0065 ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager" "PendingFileRenameOperations" 0066 0067 ${If} $0 != "" 0068 0069 StrLen $2 "$INSTDIR" 0070 ${StrStr} $1 "$0" "$INSTDIR" 0071 StrCpy $3 $1 $2 0072 ${AndIf} $3 == "$INSTDIR" 0073 StrCpy $0 1 0074 0075 ${Else} 0076 0077 StrCpy $0 0 0078 0079 ${EndIf} 0080 0081 Pop $3 0082 Pop $2 0083 Pop $1 0084 Exch $0 0085 0086 FunctionEnd 0087 0088 !endif ;REBOOT_REQUIRED_INCLUDED