From fd5c2c29499acf525d08967b2ad0f1a770171ff4 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 6 Dec 2009 20:42:22 +0000 Subject: =?UTF-8?q?Fr=C3=BChe=20Version=20eines=20universalen=20Installati?= =?UTF-8?q?onsassistenten=20f=C3=BCr=20die=20Windowstreiber=20(NeoVars=20u?= =?UTF-8?q?nd=20kbdneo2=20mit/ohne=20AHK-Erweiterung).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kbdneo2_uninstall.reg aufgeräumt. git-svn-id: https://svn.neo-layout.org@2129 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/Neo2.0_installer.exe | Bin 0 -> 919635 bytes windows/Neo2.0_installer.nsi | 222 ++++++++++++++++++++++++++ windows/kbdneo2/Treiber/kbdneo2_uninstall.reg | Bin 2266 -> 574 bytes 3 files changed, 222 insertions(+) create mode 100644 windows/Neo2.0_installer.exe create mode 100644 windows/Neo2.0_installer.nsi diff --git a/windows/Neo2.0_installer.exe b/windows/Neo2.0_installer.exe new file mode 100644 index 0000000..4f06f60 Binary files /dev/null and b/windows/Neo2.0_installer.exe differ 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 index dddb968..fdc6669 100644 Binary files a/windows/kbdneo2/Treiber/kbdneo2_uninstall.reg and b/windows/kbdneo2/Treiber/kbdneo2_uninstall.reg differ -- cgit v1.2.3