[offen] Registry -Eintäge von AutoIt | Liste

  • Hey :)
    Ich suche eine Liste die alle Registry Einträge beinhaltet, die AutoIt bei der Installation erstellt.
    Im Internet habe ich nicht so eine Liste gefunden :x

    Bitte verweißt mich nicht in die Hilfe :D Dort sind nämlich nicht alle Einträge dokumentiert!

    >> Ich möchte mir AUtoIt für den USB Stick zurecht wurschteln :)
    >> Z.B. In der Schule oder sonst so :P
    >> Aber ich möchte auch die Registry Einträge dazu haben. (Um mit Rechtsklick auf den entsprechenden Rechner agieren zu können)
    >> Diese müssen sich ja schliesslich auch auf den Laufwerksbuchstabe meines Sticks beziehen.

    Ich bedanke mich schonmal :P
    (Bin ernsthaft zu Faul um per Hand jeden Registry eintrag von AutoIt heraus zu schreiben...)

  • am einfachsten sowas zu bekommen ist ne clean VM starten dann per Regshot die Registry auslesen und dann installieren und nochmals Regshot.
    Regshot vergleicht dir dann die beiden Zustände und du hast deine kompletten Unterschiede.

  • Ich kann Dir zwar auch nicht versprechen ob in dem von mir genutzten Script alle Registry-Schlüssel beachtet sind, aber folgendes habe ich schon seit mehr wie 2 Jahren im 'portablen' Einsatz:

    Spoiler anzeigen
    [autoit]

    #cs
    ****************************************************************************
    Titel: AutoIt3Portable.au3
    Autor: [email='micha_he@autoit.de'][/email]
    Datum: 05.11.2012
    Info: Erzeugt ein Tray-Symbol mit Kontextmenues für ein portables
    AutoIt. Es werden mögliche alte Registryeinträge (Standard-
    aktionen für den AU3-Dateityp und Kontextmenüs) gesichert,
    vorrübergehend auf die portable Version umkonfiguriert und
    am Programmende wieder hergestellt.
    AutoIt-Version: 3.3.8.1
    History: 1.00 - Erstrelease
    1.01 - Pfad RJTextEd angepasst
    ****************************************************************************
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    #Include <Constants.au3>
    Opt("MustDeclareVars",1)
    Opt("TrayMenuMode",1)

    [/autoit] [autoit][/autoit] [autoit]

    Dim $KodaItem, $aboutitem, $helpau3item, $RJItem
    Dim $exititem, $CompilerItem, $time1, $msg

    [/autoit] [autoit][/autoit] [autoit]

    $time1 = TimerInit()
    If FileExists(@ScriptDir & "\AutoIT3Portable.jpg") Then SplashImageOn("Splash Screen",@ScriptDir & "\Autoit3Portable.jpg",416,249,-1,-1,17)
    If RegRead("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe","CurrentStartTyp") = "Portable" Then
    SplashOff()
    MsgBox(64, "Start wird abgebrochen !", "Portables Autoit läuft schon !!")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $aboutitem = TrayCreateItem("About")
    TrayCreateItem("")
    $helpau3item = TrayCreateItem("AutoIt 3 Hilfe")
    TrayCreateItem("")
    If FileExists(StringLeft(@ScriptDir, 2) & "\Tools\Editor & Viewer\RJ TextEd\TextEd.exe") Then
    $RJItem = TrayCreateItem("RJ TextEd")
    TrayCreateItem("")
    EndIf
    If FileExists(@ScriptDir & "\Koda\FD.exe") Then
    $KodaItem = TrayCreateItem("KODA GUI Designer")
    TrayCreateItem("")
    EndIf
    If FileExists(@ScriptDir & "\Aut2Exe\Aut2Exe.exe") Then
    $CompilerItem = TrayCreateItem("AutoIT Compiler")
    TrayCreateItem("")
    EndIf
    $exititem = TrayCreateItem("Exit")
    TraySetState()

    [/autoit] [autoit][/autoit] [autoit]

    _BackupRegistry()
    _Setup_Registry()

    [/autoit] [autoit][/autoit] [autoit]

    While TimerDiff($time1) < 2000
    Sleep(100)
    Wend
    SplashOff()
    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $aboutitem
    TrayItemSetState($aboutitem, $TRAY_UNCHECKED)
    MsgBox(0, "about:", @CRLF & "AutotITPortable V1.2" & @CRLF)
    Case $msg = $RJItem
    TrayItemSetState($RJItem, $TRAY_UNCHECKED)
    Run(StringLeft(@ScriptDir, 2) & "\Tools\Editor & Viewer\RJ TextEd\TextEd.exe", @TempDir)
    Case $msg = $KodaItem
    TrayItemSetState($KodaItem, $TRAY_UNCHECKED)
    Run(@ScriptDir & "\Koda\FD.exe", @TempDir)
    Case $msg = $CompilerItem
    TrayItemSetState($CompilerItem, $TRAY_UNCHECKED)
    Run(@ScriptDir & "\Aut2Exe\Aut2Exe.exe", @TempDir)
    Case $msg = $helpau3item
    TrayItemSetState($helpau3item, $TRAY_UNCHECKED)
    ShellExecute(@ScriptDir & "\AutoIt.chm","",@TempDir)
    Case $msg = $exititem
    $time1 = TimerInit()
    If FileExists(@ScriptDir & "\AutoIT3Portable.jpg") Then SplashImageOn("Splash Screen",@ScriptDir & "\Autoit3Portable.jpg",416,249,-1,-1,17)
    RegDelete("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe","CurrentStartTyp")
    _RestoreRegistry()
    While TimerDiff($time1) < 2000
    Sleep(100)
    Wend
    SplashOff()
    Exit
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _BackupRegistry()
    If Not FileExists(@ScriptDir & '\RegBackup') Then DirCreate(@ScriptDir & '\RegBackup')
    RunWait('RegEdit.exe /E ' & @ScriptDir & '\RegBackup\userclass.reg "HKEY_CURRENT_USER\Software\Classes"',"", @SW_HIDE)
    RunWait('RegEdit.exe /E ' & @ScriptDir & '\RegBackup\autoit.reg "HKEY_CURRENT_USER\Software\AutoIt v3"',"", @SW_HIDE)
    If IsAdmin() Then
    RunWait('RegEdit.exe /E ' & @ScriptDir & '\RegBackup\au3.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.au3"',"", @SW_HIDE)
    RunWait('RegEdit.exe /E ' & @ScriptDir & '\RegBackup\autoitscript.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script"',"", @SW_HIDE)
    EndIf
    EndFunc ;==>backupRegistry

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _RestoreRegistry()
    RegDelete("HKEY_CURRENT_USER\Software\Classes\.au3")
    RegDelete("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe")
    RegDelete("HKEY_CURRENT_USER\Software\Classes\au3_auto_file")
    If FileExists(@ScriptDir & '\RegBackup\userclass.reg') Then RunWait('RegEdit.exe /S userclass.reg', @ScriptDir & '\RegBackup', @SW_HIDE)
    If FileExists(@ScriptDir & '\RegBackup\autoit.reg') Then RunWait('RegEdit.exe /S autoit.reg', @ScriptDir & '\RegBackup', @SW_HIDE)
    If IsAdmin() Then
    If FileExists(@ScriptDir & '\RegBackup\au3.reg') Then RunWait('RegEdit.exe /S au3.reg', @ScriptDir & '\RegBackup', @SW_HIDE)
    If FileExists(@ScriptDir & '\RegBackup\autoitscript.reg') Then RunWait('RegEdit.exe /S autoitscript.reg', @ScriptDir & '\RegBackup', @SW_HIDE)
    EndIf
    DirRemove(@ScriptDir & '\RegBackup',1)
    EndFunc ;==>RestoreRegistry

    [/autoit] [autoit][/autoit] [autoit]

    Func _Setup_Registry()
    RegWrite("HKEY_CURRENT_USER\Software\Classes\.au3","","REG_SZ","au3_auto_file")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe","CurrentStartTyp","REG_SZ","Portable")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe\shell\open\command","","REG_SZ",'"' & @ScriptDir & '\AutoIt3.exe" "%1"')
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell","","REG_SZ","1_Run")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\1_Run","","REG_SZ","AutoIT Script ausführen")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\1_Run\command","","REG_SZ",'"' & @ScriptDir & '\AutoIt3.exe" "%1" %*')
    If $RJItem <> 0 Then
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\2_Edit","","REG_SZ","AutoIT Script editieren")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\2_Edit\command","","REG_SZ",'"' & StringLeft(@ScriptDir, 2) & '\Tools\Editor & Viewer\RJ TextEd\TextEd.exe" "%1"')
    EndIf
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\3_Compile","","REG_SZ","AutoIT Script kompilieren")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\3_Compile\command","","REG_SZ",'"' & @ScriptDir & '\Aut2Exe\Aut2Exe.exe" /in "%l"')
    If FileExists(@ScriptDir & "\Aut2Exe_wOpt\Aut2Exe_wOpt.exe") Then
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\4_Compile with Options","","REG_SZ","AutoIT Script kompilieren mit Optionen")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\4_Compile with Options\command","","REG_SZ",'"' & @ScriptDir & '\Aut2Exe_wOpt\Aut2Exe_wOpt.exe" "%l"')
    EndIf
    EndFunc

    [/autoit]

    Du musst ggf. relative Pfad zu den Tools anpassen und eigene/andere Tools (z.B. anderen Editor, obwohl der RJTextEd gut ist) nachtragen.

    Hier noch das von mir verwendete Bild beim Start:
    autoit.de/wcf/attachment/17242/

    Die Grundidee stammt von einem anderen User entweder hier aus dem deutschen oder aus dem englischen Forum. Ich weiß nicht mehr von wem.

    Gruß
    Micha

    Dateien

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Also ich hab AutoIt immer auf meinem USB-Stick - ohne Installation einfach draufkopieren, funktioniert wunderbar!

    Du brauchst im Endeffekt nur die *.au3 mit "SciTe" verknüpfen (Datei öffnen mit...), mehr isses nicht :thumbup:

    Gruß
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Micha_he:
    Danke :) Das wird mir schonmal weiterhelfen :)
    >> Allerdings denke ich, dass ich das ganze noch erweitern werde.
    (Für die aktuelle Beta usw...)

    x0r:
    Ja, ich könnte es mir auch einfach auf dem USB-Stick ziehen. Allerdings geht es mir auch gleichzeitig um die bequemlichkeit die mit den Regisry einträgen erzeugt werden.
    (Mit Rechtsklick direkt kompilieren usw...)

    Okey, in Micha_he's Script sind nicht alle Registry Einträge vermerkt. (Wenn ich mich nicht verguckt habe :O)
    >> Wenn jemand noch so eine Liste hat, würde ich mich sehr freue :)

  • ...mit Rechtsklick kompilieren?!

    Vielleicht sollt ich es doch mal installieren :rofl:

    €dit:
    Warum schreibst du dir kein Programm, das die komplette Registry nach "Keywords" durchsucht?
    z.B. "autoit" oder "scite".

    Da müsstest auch alle finden?

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Zitat von Make-Grafik

    >> Aber ich möchte auch die Registry Einträge dazu haben. (Um mit Rechtsklick auf den entsprechenden Rechner agieren zu können)


    Das macht meiner Meinung nach nicht viel Sinn für ein portables AutoIt.
    Für mich heißt portabel, dass gerade diese Registry Einträge nicht genutzt/erstellt werden und das Programm keine (wenige) eigenen Spuren auf dem PC hinterlässt (oft auch aufgrund fehlender Rechte).
    Da könntest du doch genauso gut den offiziellen Installer auf dem Zielrechner nutzen, wenn du sowieso schon Registry Einträge vornimmst. ;)

    Dir sollten allerdings Programme wie Smarty Uninstaller oder Advanced Uninstaller, die eine Installation dokumentieren, dabei helfen.
    Auch nützlich kann Procmon.exe aus der SysinternalsSuite (btw sehr gute Programmsammlung) sein, denn das Programm hört ab, welche Änderungen ein Prozess am PC vornimmt.

  • @CyRoX:
    Nene :D Die Sache ist die, diese will ich ja (nachdem ich fertig bin) wieder entfernen ^^
    Immer neu zu Installieren möchte ich nicht. Es ist viel einfacher (wenns fertig ist :D) und schneller wenn man einfach nur die Registry Einträge anpasst.
    AutoIt an sich hab ich ja schon auf den Stick :O

    Ist ja nur das ich es bequemer habe ^^


    Ansonsten, danke für den Hinweis ^^