[Pkg-owncloud-commits] [owncloud-client] 132/175: Revert "NSIS: Fix NSIS error handling"

Sandro Knauß hefee-guest at moszumanska.debian.org
Sat Aug 8 10:36:35 UTC 2015


This is an automated email from the git hooks/post-receive script.

hefee-guest pushed a commit to branch master
in repository owncloud-client.

commit eb6d29a2231f5b86684d1a9988f656bcb0758c34
Author: Daniel Molkentin <danimo at owncloud.com>
Date:   Fri Jun 5 09:15:14 2015 +0200

    Revert "NSIS: Fix NSIS error handling"
    
    This reverts commit 3df26ef189e97201bd0ccf955cce7b5bfb97f592.
---
 admin/win/nsi/l10n/English.nsh          |  1 -
 admin/win/nsi/l10n/declarations.nsh     |  1 -
 admin/win/nsi/l10n/pofiles/messages.pot |  4 --
 cmake/modules/NSIS.template.in          | 78 ++++++++++++++++-----------------
 4 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/admin/win/nsi/l10n/English.nsh b/admin/win/nsi/l10n/English.nsh
index 81900bb..b6237a6 100644
--- a/admin/win/nsi/l10n/English.nsh
+++ b/admin/win/nsi/l10n/English.nsh
@@ -42,6 +42,5 @@ StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:"
 StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "This installer requires admin access, try again"
 StrCpy $INIT_INSTALLER_RUNNING "The installer is already running."
 StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "This uninstaller requires admin access, try again"
-StrCpy $UAC_ERROR_LOGON_SERVICE "Logon service is not running, aborting!"
 StrCpy $INIT_UNINSTALLER_RUNNING "The uninstaller is already running."
 StrCpy $SectionGroup_Shortcuts "Shortcuts"
diff --git a/admin/win/nsi/l10n/declarations.nsh b/admin/win/nsi/l10n/declarations.nsh
index b43a17d..b5eb598 100644
--- a/admin/win/nsi/l10n/declarations.nsh
+++ b/admin/win/nsi/l10n/declarations.nsh
@@ -42,6 +42,5 @@ Var UAC_ERROR_ELEVATE
 Var UAC_INSTALLER_REQUIRE_ADMIN
 Var INIT_INSTALLER_RUNNING
 Var UAC_UNINSTALLER_REQUIRE_ADMIN
-Var UAC_ERROR_LOGON_SERVICE
 Var INIT_UNINSTALLER_RUNNING
 Var SectionGroup_Shortcuts
diff --git a/admin/win/nsi/l10n/pofiles/messages.pot b/admin/win/nsi/l10n/pofiles/messages.pot
index 8cd8b18..330723e 100644
--- a/admin/win/nsi/l10n/pofiles/messages.pot
+++ b/admin/win/nsi/l10n/pofiles/messages.pot
@@ -198,10 +198,6 @@ msgstr "The installer is already running."
 msgid "This uninstaller requires admin access, try again"
 msgstr "This uninstaller requires admin access, try again"
 
-#. UAC_ERROR_LOGON_SERVICE
-msgid "Logon service is not running, aborting!"
-msgstr "Logon service is not running, aborting!"
-
 #. INIT_UNINSTALLER_RUNNING
 msgid "The uninstaller is already running."
 msgstr "The uninstaller is already running."
diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in
index ae86cdb..ec8fa1d 100644
--- a/cmake/modules/NSIS.template.in
+++ b/cmake/modules/NSIS.template.in
@@ -756,26 +756,25 @@ Function .onInit
 
    ${MementoSectionRestore}
 
-   UAC_TryAgain:
-      ${Switch} $0
-      ${Case} 0
-          ${IfThen} $1 = 1 ${|} Quit ${|} ;we are the outer process, the inner process has done its work, we are done
-          ${IfThen} $3 <> 0 ${|} ${Break} ${|} ;we are admin, let the show go on
-          ${If} $1 = 3 ;RunAs completed successfully, but with a non-admin user
-             MessageBox mb_YesNo|mb_ICONEXCLAMATION|MB_TOPMOST|MB_SETFOREGROUND $UAC_INSTALLER_REQUIRE_ADMIN /SD IDNO IDYES UAC_TryAgain IDNO 0
-          ${EndIf}
-          ;fall-through and die
-      ${Case} 1223
-         MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_INSTALLER_REQUIRE_ADMIN
-         Quit
-      ${Case} 1062
-         MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_ERROR_LOGON_SERVICE
-         Quit
-      ${Default}
-         MessageBox MB_ICONSTOP "$UAC_ERROR_ELEVATE $0"
-         Abort
-         Quit
-      ${EndSwitch}
+   UAC_Elevate:
+      !insertmacro UAC_RunElevated
+      StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user?
+      StrCmp 0 $0 0 UAC_Err ; Error?
+      StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper?
+      Quit
+
+   UAC_Err:
+      MessageBox MB_ICONSTOP "$UAC_ERROR_ELEVATE $0"
+      Abort
+
+   UAC_ElevationAborted:
+      Abort
+
+   UAC_Success:
+      StrCmp 1 $3 +4 ;Admin?
+      StrCmp 3 $1 0 UAC_ElevationAborted ;Try again?
+      MessageBox MB_ICONSTOP $UAC_INSTALLER_REQUIRE_ADMIN
+      goto UAC_Elevate
 
    ;Prevent multiple instances.
    System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${APPLICATION_SHORTNAME}Installer") i .r1 ?e'
@@ -820,26 +819,25 @@ FunctionEnd
 Function un.onInit
    Call un.SetLang
 
-   UAC_TryAgain:
-      ${Switch} $0
-      ${Case} 0
-          ${IfThen} $1 = 1 ${|} Quit ${|} ;we are the outer process, the inner process has done its work, we are done
-          ${IfThen} $3 <> 0 ${|} ${Break} ${|} ;we are admin, let the show go on
-          ${If} $1 = 3 ;RunAs completed successfully, but with a non-admin user
-             MessageBox mb_YesNo|mb_ICONEXCLAMATION|MB_TOPMOST|MB_SETFOREGROUND $UAC_UNINSTALLER_REQUIRE_ADMIN /SD IDNO IDYES UAC_TryAgain IDNO 0
-          ${EndIf}
-          ;fall-through and die
-      ${Case} 1223
-         MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_UNINSTALLER_REQUIRE_ADMIN
-         Quit
-      ${Case} 1062
-         MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_ERROR_LOGON_SERVICE
-         Quit
-      ${Default}
-         MessageBox MB_ICONSTOP "$UAC_ERROR_ELEVATE $0"
-         Abort
-         Quit
-      ${EndSwitch}
+   UAC_Elevate:
+      !insertmacro UAC_RunElevated
+      StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user?
+      StrCmp 0 $0 0 UAC_Err ; Error?
+      StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper?
+      Quit
+
+   UAC_Err:
+      MessageBox MB_ICONSTOP "$UAC_ERROR_ELEVATE $0"
+      Abort
+
+   UAC_ElevationAborted:
+      Abort
+
+   UAC_Success:
+      StrCmp 1 $3 +4 ;Admin?
+      StrCmp 3 $1 0 UAC_ElevationAborted ;Try again?
+      MessageBox MB_ICONSTOP $UAC_UNINSTALLER_REQUIRE_ADMIN
+      goto UAC_Elevate
 
    ;Prevent multiple instances.
    System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${APPLICATION_SHORTNAME}Uninstaller") i .r1 ?e'

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git



More information about the Pkg-owncloud-commits mailing list