summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2011-05-19 15:03:09 +0000
committerflorian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2011-05-19 15:03:09 +0000
commit829cf90989c0977cd0c44d25829ce52fc94496a4 (patch)
tree4030f59a195f6950dccb0195d1062076fbe8c400
parent65aa6dc3037d2b5d11ff9f808590c60efbb14565 (diff)
Installer aufgefrischt (Neo-Icon, Logo, Adminrechte-Aufruf verbessert.
git-svn-id: https://svn.neo-layout.org@2393 b9310e46-f624-0410-8ea1-cfbb3a30dc96
-rw-r--r--windows/Neo2.0_installer.nsi63
-rw-r--r--windows/Neo2.0_setup.exebin852842 -> 858009 bytes
2 files changed, 44 insertions, 19 deletions
diff --git a/windows/Neo2.0_installer.nsi b/windows/Neo2.0_installer.nsi
index 018157c..03485e9 100644
--- a/windows/Neo2.0_installer.nsi
+++ b/windows/Neo2.0_installer.nsi
@@ -26,6 +26,7 @@
!include "x64.nsh"
!include "LogicLib.nsh"
!include "UAC.nsh"
+ !include "WinVer.nsh"
@@ -33,7 +34,6 @@
;Allgemeines
;Name und Name der Datei
-
!define /date ZEIT "%y%m%d.%H"
Name "Neo 2.0 - Das ergonomische Tastaturlayout"
OutFile "Neo2.0_setup.exe"
@@ -53,7 +53,8 @@
;Warnung bei Abbruch
!define MUI_ABORTWARNING ;Warnt falls Installations abgebrochen wird
-
+ Var pre_sel
+ Var DlgItem
;--------------------------------
;Seiten des Installers
@@ -63,9 +64,14 @@
!define FINISH_TITLE "Die Installation von Neo 2.0 wurde erfolgreich beendet."
!define UNFINISH_TITLE "Die Deinstallation von Neo 2.0 wurde erfolgreich beendet."
!define MUI_COMPONENTSPAGE_SMALLDESC
+ !define MUI_ICON "kbdneo2\Treiber\AHK_für_kbdneo2\neo_enabled.ico"
+ !define MUI_HEADERIMAGE
+ !define MUI_HEADERIMAGE_RIGHT
+ !define MUI_HEADERIMAGE_BITMAP logo.bmp
!define MUI_WELCOMEPAGE_TITLE "${WELCOME_TITLE}"
!define MUI_WELCOMEPAGE_TITLE_3LINES ;3 Zeilen für den Titel
+ !define MUI_PAGE_CUSTOMFUNCTION_PRE preAdmin1
!insertmacro MUI_PAGE_WELCOME
;!insertmacro MUI_PAGE_LICENSE "lizenz.txt"
@@ -82,6 +88,7 @@
!define MUI_FINISHPAGE_TITLE "${FINISH_TITLE}"
!define MUI_FINISHPAGE_TITLE_3LINES
+ ;!define MUI_FINISHPAGE_RUN "$INSTDIR\neo20.exe"
!insertmacro MUI_PAGE_FINISH
@@ -208,10 +215,14 @@
;--------------------------------
; Functions
+ Function .onInit
+ StrCpy $pre_sel ${installiereKbdneoPlusAHK}
+ FunctionEnd
+
;nur ein Installationszweig auswählbar
Function .onSelChange
- !insertmacro StartRadioButtons $1
+ !insertmacro StartRadioButtons $pre_sel
!insertmacro RadioButton ${installiereKbdneoOhneAHK}
!insertmacro RadioButton ${installiereKbdneoPlusAHK}
!insertmacro RadioButton ${installiereAHK}
@@ -219,13 +230,26 @@
FunctionEnd
-;UAC Zauberei
- Function .onInit
- StrCpy $1 ${installiereKbdneoPlusAHK}
+;Durch Erwerb der Adminrechte neu gestartet, dann Willkommens_Seite überspringen
+ Function preAdmin1
+ ${IfNot} ${AtLeastWinVista}
+ goto noSkip
+ ${EndIf}
+ userInfo::getAccountType
+ pop $R0
+ strCmp $R0 "Admin" +2
+ goto noSkip
+ StrCpy $pre_sel ${installiereKbdneoPlusAHK}
+ Abort
+ noSkip:
+ FunctionEnd
+
+;UAC Zauberei
+ Function preComp
uac_tryagain:
!insertmacro UAC_RunElevated
- #MessageBox mb_TopMost "0=$0 1=$1 2=$2 3=$3"
+;MessageBox mb_TopMost "0=$0 1=$1 2=$2 3=$3"
${Switch} $0
${Case} 0
${IfThen} $1 = 1 ${|} Quit ${|} ;we are the outer process, the inner process has done its work, we are done
@@ -235,10 +259,10 @@
${EndIf}
;fall-through and die
${Case} 1223 ;hier kommt der Ausstieg falls der User keine Adminrechte erwerben kann.
- MessageBox MB_YESNO|mb_IconStop|mb_TopMost|mb_SetForeground "Für die Installation des Windowstreibers werden Adminrechte benötigt. Mit NeoVars kann jedoch auch ohne Adminrechte das Neo2.0-Tastaturlayout installiert werden. Bitte die Hinweise auf der Website beachten. Soll Neo-Vars gestartet werden?" IDYES gogogo
- ExecShell "open" "http://neo-layout.org/windows"
- Quit
- gogogo:
+ ;MessageBox MB_YESNO|mb_IconStop|mb_TopMost|mb_SetForeground "Für die Installation des Windowstreibers werden Adminrechte benötigt. Mit NeoVars kann jedoch auch ohne Adminrechte das Neo2.0-Tastaturlayout installiert werden. Bitte die Hinweise auf der Website beachten. Soll Neo-Vars gestartet werden?" IDYES gogogo
+ ;ExecShell "open" "http://neo-layout.org/windows"
+ ;Quit
+ ;gogogo:
ExecShell "open" http://neo-layout.org/windows
goto end
${Case} 1062
@@ -249,18 +273,17 @@
Quit
${EndSwitch}
end:
- FunctionEnd
-
-
;Sperrt ohne Adminrechte alles außer NeoVars
- Function preComp
+GetDlgItem $DlgItem $HWNDPARENT 3 ; Back button
+EnableWindow $DlgItem 0
userInfo::getAccountType
pop $R0
- strCmp $R0 "Admin" +5 ;falls Admin hüpf 5 Commandozeilen weiter
+ strCmp $R0 "Admin" +6 ;falls Admin hüpf 6 Commandozeilen weiter
;wenn kein Admin wird das hier angezeigt:
- messageBox MB_OK "›$R0‹, Optionen mit Admin-Rechten werden deaktiviert."
+ messageBox MB_OK "Nur $R0-Rechte. Ohne Adminrechte ist nur der NeoVars-Treiber verfügbar."
SectionSetFlags ${installiereKbdneoPlusAHK} ${SF_RO} ;Installationsarten mit Adminrechten werden gesperrt
SectionSetFlags ${installiereKbdneoOhneAHK} ${SF_RO} ;Installationsarten mit Adminrechten werden gesperrt
+ SectionSetFlags ${installiereAHK} ${SF_SELECTED}
return
;messageBox MB_OK "Wir sind Admin"
FunctionEnd
@@ -285,13 +308,15 @@
;Verschafft etwas Zeit zum Kucken
Function leaveInst
- sleep 3000 ;Ein bisschen Pause, damit man was sieht.
+ sleep 1500 ;Ein bisschen Pause, damit man was sieht.
FunctionEnd
;Layout beim User Aktivieren (hoffentlich ;)
;Function makeKBDactive
-; System::Call "user32::LoadKeyboardLayout(t "b0000407",${KLF_ACTIVATE})"
+; System::Call "user32::LoadKeyboardLayout(t "b0000407",i 0x00000001) i .r1 ?e"
+; Pop $2
+; MessageBox mb_TopMost "0:$0 1:$1 2:$2 3:$3"
;FunctionEnd
diff --git a/windows/Neo2.0_setup.exe b/windows/Neo2.0_setup.exe
index 1102e82..dce219d 100644
--- a/windows/Neo2.0_setup.exe
+++ b/windows/Neo2.0_setup.exe
Binary files differ