diff options
author | florian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2009-12-06 20:42:22 +0000 |
---|---|---|
committer | florian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2009-12-06 20:42:22 +0000 |
commit | fd5c2c29499acf525d08967b2ad0f1a770171ff4 (patch) | |
tree | f2fd41cf832a70da6c3b8df1f7e0ee93a28cc5c7 | |
parent | c67379bdb88a366843cb27436e9035ced48fcb38 (diff) |
Frühe Version eines universalen Installationsassistenten für die Windowstreiber (NeoVars und kbdneo2 mit/ohne AHK-Erweiterung).
kbdneo2_uninstall.reg aufgeräumt.
git-svn-id: https://svn.neo-layout.org@2129 b9310e46-f624-0410-8ea1-cfbb3a30dc96
-rw-r--r-- | windows/Neo2.0_installer.exe | bin | 0 -> 919635 bytes | |||
-rw-r--r-- | windows/Neo2.0_installer.nsi | 222 | ||||
-rw-r--r-- | windows/kbdneo2/Treiber/kbdneo2_uninstall.reg | bin | 2266 -> 574 bytes |
3 files changed, 222 insertions, 0 deletions
diff --git a/windows/Neo2.0_installer.exe b/windows/Neo2.0_installer.exe Binary files differnew file mode 100644 index 0000000..4f06f60 --- /dev/null +++ b/windows/Neo2.0_installer.exe diff --git a/windows/Neo2.0_installer.nsi b/windows/Neo2.0_installer.nsi new file mode 100644 index 0000000..e88ae4b --- /dev/null +++ b/windows/Neo2.0_installer.nsi @@ -0,0 +1,222 @@ +;NSIS-Installer für alle Windowstreiber
+;Geschrieben von Florian Janßen
+;
+; Offene Punkte:
+; - Rechteverwaltung bei Vista und 7
+; - Uninstaller
+; - Keine Ordnerabfrage bei Installation ohne AHK
+; - Startmenu
+;- Autostart (Abfrage)
+;
+; Status:
+; - Installiert bislang nur kbdneo (mit und ohne Zustatzskript)
+; - Benötigt Admin-Rechte
+; - Erkennt 32- und 64bit Systeme und wählt entsprechenden Treiber aus.
+; - Kann auf die 64bit Registry und 64bit-Systemordner von Vista und 7 zugreifen
+
+
+;--------------------------------
+;MUI Oberfläche
+;Nur eine Section auswählbar
+;64bit Zauberei
+
+ !include "MUI2.nsh"
+ !include "Sections.nsh"
+ !include "x64.nsh"
+
+;--------------------------------
+;Allgemeines
+
+;Name und Name der Datei
+ Name "Neo 2.0 - Das ergonomische Tastaturlayout"
+ OutFile "Neo2.0_universal_installer.exe"
+
+;Standardordner (für AHK)
+ InstallDir "$PROGRAMFILES\Neo2"
+
+;Mal sehen ob Neo schon mal da war
+ InstallDirRegKey HKCU "Software\Neo 2.0" ""
+
+;Rechte anfordern
+ RequestExecutionLevel admin
+
+;Warnung bei Abbruch
+ !define MUI_ABORTWARNING
+
+;--------------------------------
+;Seiten des Installers
+!define WELCOME_TITLE 'Willkommen zum Installations- Assistenten für Neo 2.0'
+!define UNWELCOME_TITLE 'Willkommen zum Deinstallations- Assistenten für Neo 2.0'
+!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_WELCOMEPAGE_TITLE '${WELCOME_TITLE}'
+ !define MUI_WELCOMEPAGE_TITLE_3LINES
+ !insertmacro MUI_PAGE_WELCOME
+ !insertmacro MUI_PAGE_LICENSE "lizenz.txt"
+ !insertmacro MUI_PAGE_COMPONENTS
+; !insertmacro MUI_PAGE_DIRECTORY
+ !insertmacro MUI_PAGE_INSTFILES
+ !define MUI_FINISHPAGE_TITLE '${FINISH_TITLE}'
+ !define MUI_FINISHPAGE_TITLE_3LINES
+ !insertmacro MUI_PAGE_FINISH
+
+ !define MUI_WELCOMEPAGE_TITLE '${UNWELCOME_TITLE}'
+ !define MUI_WELCOMEPAGE_TITLE_3LINES
+ !insertmacro MUI_UNPAGE_WELCOME
+ !insertmacro MUI_UNPAGE_CONFIRM
+ !insertmacro MUI_UNPAGE_INSTFILES
+ !define MUI_FINISHPAGE_TITLE '${UNFINISH_TITLE}'
+ !define MUI_FINISHPAGE_TITLE_3LINES
+ !insertmacro MUI_UNPAGE_FINISH
+
+;--------------------------------
+;Deutsche Oberflächen
+
+ !insertmacro MUI_LANGUAGE "German"
+
+;--------------------------------
+;Installer Sections
+
+;Verschiedene Installationstypen
+InstType "Vollständig"
+InstType "Nur Teiber kein Skript"
+;InstType "Nur neo20.exe"
+;InstType /NOCUSTOM
+
+
+Section /o "Neo-2.0-Treiber" installiereKbdneoOhneAHK
+SectionIn 2
+
+ SetOutPath "$SYSDIR"
+ ${If} ${RunningX64}
+ SetRegView 64
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Text" "Deutsch (Neo 2.0 ergonomisch)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout File" "kbdneo2.dll"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Id" "00c0"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1000"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Name" "German (Germany)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1100"
+ SetRegView 32
+ ${DisableX64FSRedirection}
+ file kbdneo2\Treiber\64bit_Windows\kbdneo2.dll
+ ${Else}
+ SetRegView 32
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Text" "Deutsch (Neo 2.0 ergonomisch)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout File" "kbdneo2.dll"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Id" "00c0"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1000"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Name" "German (Germany)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1100"
+ ${EnableX64FSRedirection}
+ file kbdneo2\Treiber\32bit_Windows\kbdneo2.dll
+ ${EndIf}
+
+;UnInstaller erstellen
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+Section "Neo-2.0-Treiber und AHK-Erweiterung" installiereKbdneoPlusAHK
+SectionIn 1
+ SetOutPath "$INSTDIR"
+;Zustatz Skript kopieren (immer als 32bit)
+ file kbdneo2\Treiber\AHK_für_kbdneo2\kbdneo_ahk.exe
+
+;Installationspfad speichern (immer 32bit)
+ WriteRegStr HKCU "Software\Neo 2.0" "" $INSTDIR
+
+ SetOutPath "$SYSDIR"
+ ${If} ${RunningX64}
+ SetRegView 64
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Text" "Deutsch (Neo 2.0 ergonomisch)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout File" "kbdneo2.dll"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Id" "00c0"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1000"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Name" "German (Germany)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1100"
+ SetRegView 32
+ ${DisableX64FSRedirection}
+ file kbdneo2\Treiber\64bit_Windows\kbdneo2.dll
+ ${Else}
+ SetRegView 32
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Text" "Deutsch (Neo 2.0 ergonomisch)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout File" "kbdneo2.dll"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Id" "00c0"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Layout Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1000"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Name" "German (Germany)"
+ WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\b0000407" "Custom Language Display Name" "@%SystemRoot%\system32\kbdneo2.dll,-1100"
+ ${EnableX64FSRedirection}
+ file kbdneo2\Treiber\32bit_Windows\kbdneo2.dll
+ ${EndIf}
+
+;UnInstaller erstellen
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+; Section /o "Eigenständiges Neo2.0-AHK-Skript (neo-vars)" installiereAHK
+; SectionIn 3
+ ; SetOutPath "$INSTDIR"
+ ; file neo-vars\out\neo20.exe
+
+
+ ; WriteRegStr HKCU "Software\Neo 2.0" "" $INSTDIR
+
+
+ ; WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+; SectionEnd
+
+;--------------------------------
+;Functions
+
+Function .onInit
+
+ StrCpy $1 ${installiereKbdneoPlusAHK}
+
+FunctionEnd
+
+Function .onSelChange
+; !insertmacro SectionRadioButtons "${installiereKbdneoPlusAHK}" "${installiereKbdneoPlusAHK},${installiereKbdneoOhneAHK},${installiereAHK}"
+
+ !insertmacro StartRadioButtons $1
+ !insertmacro RadioButton ${installiereKbdneoPlusAHK}
+ !insertmacro RadioButton ${installiereKbdneoOhneAHK}
+ ; !insertmacro RadioButton ${installiereAHK}
+ !insertmacro EndRadioButtons
+
+FunctionEnd
+
+
+
+;--------------------------------
+;Beschreibung der Installationstypen
+
+ ;LangsStrings (nur Deutsch)
+ LangString DESC_installiereKbdneoPlusAHK ${LANG_GERMAN} "Installiert den nativen Neo2.0-Treiber (kbdneo2.dll) und die AHK-Erweiterung (kbdneo.ahk) - Administratorrechte erforderlich!"
+ LangString DESC_installiereKbdneoOhneAHK ${LANG_GERMAN} "Installiert nur den nativen Neo2.0-Treiber (kbdneo2.dll) - Administratorrechte erforderlich!"
+ LangString DESC_installiereAHK ${LANG_GERMAN} "Installiert den Neo2.0-AHK-Standalone-Treiber Neo-Vars (keine Adminrechte nötig)"
+
+ ;LangsStrings den Sections zuordnen
+ !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${installiereKbdneoPlusAHK} $(DESC_installiereKbdneoPlusAHK)
+ !insertmacro MUI_DESCRIPTION_TEXT ${installiereKbdneoOhneAHK} $(DESC_installiereKbdneoOhneAHK)
+ ; !insertmacro MUI_DESCRIPTION_TEXT ${installiereAHK} $(DESC_installiereAHK)
+ !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+;Uninstaller Section (Nicht fertig)
+
+Section "Uninstall"
+
+
+
+ Delete "$INSTDIR\Uninstall.exe"
+
+ RMDir "$INSTDIR"
+
+ DeleteRegKey /ifempty HKCU "Software\Neo 2.0"
+
+SectionEnd
\ No newline at end of file diff --git a/windows/kbdneo2/Treiber/kbdneo2_uninstall.reg b/windows/kbdneo2/Treiber/kbdneo2_uninstall.reg Binary files differindex dddb968..fdc6669 100644 --- a/windows/kbdneo2/Treiber/kbdneo2_uninstall.reg +++ b/windows/kbdneo2/Treiber/kbdneo2_uninstall.reg |