• Hi,

    ich wollte mal mein portable Autoit vorstellen.
    Über das Kontextmenü kann man Editieren, Kompilieren oder das Script starten.
    Desweitern kann man über ein Traymenü, SciTE- Wrapper- Wrapper_Gui- Tidy- sowie
    den Obfuscator starten.
    In SciTE ist OrganizeIncludes ( wirklich ein tolles Script ) eingebunden, und SciTE ist auf deutsch.

    Den Splash screen habe ich von hier:
    Autoit3Portable

    Spoiler anzeigen
    [autoit]

    ; AutoIt Version: 3.2.12.1
    ; Author: MadMax
    ; Version : 1.1.3.2
    #Region
    #AutoIt3Wrapper_Outfile=portableAutoIT.exe
    #AutoIt3Wrapper_Res_Description=AutoIT portable
    #AutoIt3Wrapper_Res_Fileversion=1.1.3.2
    #AutoIt3Wrapper_Res_LegalCopyright=©MadMax
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion

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

    If FileExists(@ScriptDir & '\läuft.txt') Then
    MsgBox(64, "Start wird abgebrochen !", "Portables Autoit läuft schon !!")
    Exit
    EndIf

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

    backupRegistry();Alle einstellungen in der Registry von Autoit im Scriptverzeichnis sichern
    $destination = @ScriptDir & "\Autoit3Portable.jpg"

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

    SplashImageOn("Splash Screen", $destination, 416, 249, -1, -1, 17)

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

    ; Registry schreiben
    $ver = FileGetVersion(@ScriptDir & '\AutoIt3\AutoIt3.exe')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastExeDir', 'Reg_sz', 'My Documents')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastScriptDir', 'Reg_sz', 'My Documents')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastIconDir', 'Reg_sz', @ScriptDir & '\AutoIt3\Aut2Exe\Icons')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastIcon', 'Reg_sz', '')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastCompression', 'Reg_Dword', '0x00000002')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'AllowDecompile', 'Reg_Dword', '0x00000001')
    RegWrite('HKLM\Software\AutoIt v3\AutoIt', 'InstallDir', 'Reg_sz', @ScriptDir & '\AutoIt3')
    RegWrite('HKLM\Software\AutoIt v3\AutoIt', 'Version', 'Reg_sz', $ver)
    RegWrite('HKCU\Software\Classes\.au3', 'PerceivedType', 'Reg_sz', 'text')
    RegWrite('HKCU\Software\Classes\.au3', '', 'Reg_sz', 'AutoIt3Script')
    RegWrite('HKCU\Software\Classes\AutoIt3Script', '', 'Reg_sz', 'AutoIt v3 Script')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\DefaultIcon', '', 'Reg_sz', @ScriptDir & '\AutoIt3\Icons\filetype1.ico')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell', '', 'Reg_sz', 'Edit Script')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Compile', '', 'Reg_sz', 'Compile Script')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Compile\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\Aut2Exe\Aut2Exe.exe" /in "%l"')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Edit', '', 'Reg_sz', 'Edit Script')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Edit\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\SciTE\SciTE.exe" "%1"')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Run', '', 'Reg_sz', 'Run Script')
    RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Run\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\AutoIt3.exe" "%1" %*')
    RegDelete("HKCU\Software\Classes\.au3", "PerceivedType")

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

    If Not FileExists(@ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\OrganizeIncludes4.3.au3') Then
    DirCreate(@ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\')
    FileCopy(@ScriptDir & '\Data\OrganizeIncludes\OrganizeIncludes4.3.au3', @ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\OrganizeIncludes4.3.au3', 1)
    EndIf
    If Not FileExists(@ScriptDir & '\AutoIt3\SciTE\locale.properties') Then
    FileCopy(@ScriptDir & '\Data\locale.properties', @ScriptDir & '\AutoIt3\SciTE\locale.properties', 1)
    EndIf
    FileCopy(@ScriptDir & '\Data\SciTEUser.properties', @UserProfileDir & '\SciTEUser.properties', 1)

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

    $file = FileOpen(@ScriptDir & '\läuft.txt', 1)
    FileWrite($file, "portable AutotIT " & $ver)
    FileClose($file)

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

    Sleep(2000)
    SplashOff()

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

    Opt("TrayMenuMode", 1)

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

    $aboutitem = TrayCreateItem("About")
    TrayCreateItem("")
    $helpau3item = TrayCreateItem("AutoIt 3 Hilfe")
    TrayCreateItem("")
    $SciTEitem = TrayCreateItem("SciTE Script Editor")
    $Wrapperitem = TrayCreateItem("Wrapper")
    $Wrapper_Guiitem = TrayCreateItem("Wrapper_Gui")
    $Tidyitem = TrayCreateItem("Tidy")
    $Obfuscatoritem = TrayCreateItem("Obfuscator")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")

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

    TraySetState()

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

    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $aboutitem
    MsgBox(0, "about:", @CRLF & "portable AutotIT " & $ver & @CRLF)
    Case $msg = $SciTEitem
    Run(@ScriptDir & "\AutoIt3\SciTE\SciTE.exe", @ScriptDir)
    Case $msg = $helpau3item
    Run(@ScriptDir & "\AutoIt3\AutoIt3Help.exe", @ScriptDir)
    Case $msg = $Wrapperitem
    Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper.exe", @ScriptDir)
    Case $msg = $Wrapper_Guiitem
    Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper_Gui.exe", @ScriptDir)
    Case $msg = $Tidyitem
    Run(@ScriptDir & "\Tidy\Tidy.exe", @ScriptDir)
    Case $msg = $Obfuscatoritem
    Run(@ScriptDir & "\Obfuscator\Obfuscator.exe", @ScriptDir)
    Case $msg = $exititem
    Call("regdel")
    Call("RestoreRegistry");Alle einstellungen in der Registry von Autoit aus dem Scriptverzeichnis wiederherstellen
    Call("filedel")
    ExitLoop
    EndSelect
    WEnd

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

    Exit

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

    Func regdel()
    RegDelete("HKCU\Software\AutoIt v3")
    RegDelete("HKLM\Software\AutoIt v3")
    RegDelete("HKCU\Software\Classes\.au3")
    RegDelete("HKCU\Software\Classes\AutoIt3Script")
    EndFunc ;==>regdel

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

    Func filedel()
    If ProcessExists('SciTE.exe') Then ProcessClose('SciTE.exe')
    FileDelete(@UserProfileDir & '\SciTEUser.properties')
    FileDelete(@UserProfileDir & '\SciTE.*')
    FileDelete(@ScriptDir & '\läuft.txt')
    FileDelete(@ScriptDir & '\autoit.reg')
    FileDelete(@ScriptDir & '\au3.reg')
    FileDelete(@ScriptDir & '\AutoitScript.reg')
    EndFunc ;==>filedel

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

    Func backupRegistry()
    RunWait(@SystemDir & '\Reg.exe EXPORT "HKLM\Software\AutoIt v3" "' & @ScriptDir & '\autoit.reg"', "", @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe EXPORT "HKCU\Software\Classes\.au3" "' & @ScriptDir & '\au3.reg"', "", @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe EXPORT "HKCU\Software\Classes\AutoIt3Script" "' & @ScriptDir & '\AutoitScript.reg"', "", @SW_HIDE)
    EndFunc ;==>backupRegistry

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

    Func RestoreRegistry()
    RunWait(@SystemDir & '\Reg.exe IMPORT autoit.reg', @ScriptDir, @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe IMPORT au3.reg', @ScriptDir, @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe IMPORT AutoitScript.reg', @ScriptDir, @SW_HIDE)
    EndFunc ;==>RestoreRegistry

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

    Func SciTE()
    Run(@ScriptDir & "\AutoIt3\SciTE\SciTE.exe", @ScriptDir)
    EndFunc ;==>SciTE

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

    Func Wrapper()
    Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper.exe", @ScriptDir)
    EndFunc ;==>Wrapper

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

    Func Wrapper_Gui()
    Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper_Gui.exe", @ScriptDir)
    EndFunc ;==>Wrapper_Gui

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

    Func Tidy()
    Run(@ScriptDir & "\Tidy\Tidy.exe", @ScriptDir)
    EndFunc ;==>Tidy

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

    Func Obfuscator()
    Run(@ScriptDir & "\Obfuscator\Obfuscator.exe", @ScriptDir)
    EndFunc ;==>Obfuscator

    [/autoit]


    Der Ordner "AutoItv3_portable" hat folgende Unterordner:
    - AutoIt3
    - Obfuscator
    - Tidy
    - Wrapper
    - Data

    Folgendes muss zusätzlich runtergeladen werden und in den dazugehörigen Ordner kopiert werden:
    AutoIt3
    Obfuscator
    Wrapper
    Wrapper_Gui
    Tidy

    Gruss
    MadMax
    mixer.zip

    und hier mal als komplett download:
    http://rapidshare.com/files/16669126…ortable_full.7z

    aktualisiert, dank an Raupi
    aktualisiert, dank an Micha_he

    5 Mal editiert, zuletzt von MadMax (23. November 2008 um 20:33)

  • Hallo zusammen.

    Wenn man es portabrel machen möchte, wie muß man da GENAU vorgehen ???
    Habe es versucht auf meinem Stick, aber das ging nicht.
    Habe ja auch gesehen das einiges zu entpacken ist und habe das auch gemacht, aber auch dieser Schritt führte nicht zum erhofften erfolg.

    So, warte ich doch mal ab. Geduld??? Was das denn??? :rofl:

    LG,
    Crazy-A.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    • Offizieller Beitrag

    Hab das Script mal kurz überflogen. Ich denke das die Install bei der jetzigen Version nur klappt wenn noch kein Autoit installiert ist . Des Script setzt voraus das SCITE auf dem Stick ist , muß aber erst mal da installiert werden .
    Mein Vorscglag wäre , die Registryeinträge des schon Installiertn Autoits und zusatzprogramme beim Scriptstart sichern . Dann die RegKeys der portabel Version schreiben und beim beenden die Original Reg wiederherstellen .Somit hat mein ein Autoit auf dem Key das nichts an der schon Installierten Version ändert .

  • Hallo MadMax !

    Glückwunsch, ist glaube ich Dein erstes Script hier ? :thumbup:

    Eine schöne Struktur und sauber mit viel Mühe gemacht. Weiter so ! ;)

    Tipp:
    1.Das Script mit in das Zip/7z-Paket legen, sowie Du zB. SiS auch bekommen hast.
    2.Die Au3-Datei noch einmal aufrufen und Strg+T (Tidy) drücken, dann bekommst Du die Einzüge richtig hin.
    3.Eine Installation auf meinen USB-Stick war mir nicht möglich, da ich AutoIT schon auf dem PC habe ?

    Viel Erfolg !

    • Offizieller Beitrag

    MadMax des Script ist Spitze.

    Ich habe mal an dem Script en bischen rumgebastelt.

    Spoiler anzeigen
    [autoit]

    ; AutoIt Version: 3.2.12.1
    ; Author : MadMax
    ; Version : 1.0.0.0
    #Region
    #AutoIt3Wrapper_Outfile=portableAutoIT.exe
    #AutoIt3Wrapper_Res_Description=AutoIT portable
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=©Goofy2000
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion

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

    If ProcessExists('portableAutoIT.exe') Then
    MsgBox(64, "Start wird abgebrochen !", "Portables Autoit läuft schon !!")
    Exit
    EndIf
    backupRegistry();Alle einstellungen in der Registry von Autoit im Scriptverzeichnis sichern
    $destination = @ScriptDir & "\Autoit3Portable.jpg"

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

    SplashImageOn("Splash Screen", $destination, 416, 249, -1, -1, 17)

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

    ; Registry schreiben
    $ver = FileGetVersion(@ScriptDir & '\AutoIt3\AutoIt3.exe')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastExeDir', 'Reg_sz', 'My Documents')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastScriptDir', 'Reg_sz', 'My Documents')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastIconDir', 'Reg_sz', @ScriptDir & '\AutoIt3\Aut2Exe\Icons')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastIcon', 'Reg_sz', '')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastCompression', 'Reg_Dword', '0x00000002')
    RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'AllowDecompile', 'Reg_Dword', '0x00000001')
    RegWrite('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir', 'Reg_sz', @ScriptDir & '\AutoIt3')
    RegWrite('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'Version', 'Reg_sz', $ver)
    RegWrite('HKLM\SOFTWARE\Classes\.au3', 'PerceivedType', 'Reg_sz', 'text')
    RegWrite('HKLM\SOFTWARE\Classes\.au3', '', 'Reg_sz', 'AutoIt3Script')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script', '', 'Reg_sz', 'AutoIt v3 Script')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\DefaultIcon', '', 'Reg_sz', @ScriptDir & '\AutoIt3\Icons\filetype1.ico')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell', '', 'Reg_sz', 'Edit Script')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Compile', '', 'Reg_sz', 'Compile Script')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Compile\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\Aut2Exe\Aut2Exe.exe" /in "%l"')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Edit', '', 'Reg_sz', 'Edit Script')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Edit\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\SciTE\SciTE.exe" "%1"')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Run', '', 'Reg_sz', 'Run Script')
    RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Run\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\AutoIt3.exe" "%1" %*')
    RegDelete("HKLM\SOFTWARE\Classes\.au3", "PerceivedType")

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

    If Not FileExists(@ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\OrganizeIncludes4.3.au3') Then
    DirCreate(@ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\')
    FileCopy(@ScriptDir & '\Data\OrganizeIncludes\OrganizeIncludes4.3.au3', @ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\OrganizeIncludes4.3.au3', 1)
    EndIf
    If Not FileExists(@ScriptDir & '\AutoIt3\SciTE\locale.properties') Then
    FileCopy(@ScriptDir & '\Data\locale.properties', @ScriptDir & '\AutoIt3\SciTE\locale.properties', 1)
    EndIf
    FileCopy(@ScriptDir & '\Data\SciTEUser.properties', @ScriptDir & '\AutoIt3\SciTE\SciTEUser.properties', 1)

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

    ;Call("regload")

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

    Sleep(2000)
    SplashOff()

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

    Opt("TrayMenuMode", 1)

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

    $aboutitem = TrayCreateItem("About")
    TrayCreateItem("")
    $helpau3item = TrayCreateItem("AutoIt 3 Hilfe")
    TrayCreateItem("")
    $SciTEitem = TrayCreateItem("SciTE Script Editor")
    $Wrapperitem = TrayCreateItem("Wrapper")
    $Wrapper_Guiitem = TrayCreateItem("Wrapper_Gui")
    $Tidyitem = TrayCreateItem("Tidy")
    $Obfuscatoritem = TrayCreateItem("Obfuscator")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")

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

    TraySetState()

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

    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $aboutitem
    MsgBox(0, "about:", @CRLF & "portable AutotIT " & $ver & @CRLF)
    Case $msg = $SciTEitem
    RunWait(@ScriptDir & "\AutoIt3\SciTE\SciTE.exe", @ScriptDir)
    Case $msg = $helpau3item
    RunWait(@ScriptDir & "\AutoIt3\AutoIt3Help.exe", @ScriptDir)
    Case $msg = $Wrapperitem
    RunWait(@ScriptDir & "\Wrapper\AutoIt3Wrapper.exe", @ScriptDir)
    Case $msg = $Wrapper_Guiitem
    RunWait(@ScriptDir & "\Wrapper\AutoIt3Wrapper_Gui.exe", @ScriptDir)
    Case $msg = $Tidyitem
    RunWait(@ScriptDir & "\Tidy\Tidy.exe", @ScriptDir)
    Case $msg = $Obfuscatoritem
    RunWait(@ScriptDir & "\Obfuscator\Obfuscator.exe", @ScriptDir)
    Case $msg = $exititem
    Call("regdel")
    Call("RestoreRegistry");Alle einstellungen in der Registry von Autoit aus dem Scriptverzeichnis wiederherstellen
    Call("filedel")
    ExitLoop
    EndSelect
    WEnd

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

    Exit

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

    Func regdel()
    RegDelete("HKCU\Software\AutoIt v3")
    RegDelete("HKLM\SOFTWARE\AutoIt v3")
    RegDelete("HKLM\SOFTWARE\Classes\.au3")
    RegDelete("HKLM\SOFTWARE\Classes\AutoIt3Script")
    EndFunc ;==>regdel

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

    Func filedel()
    If ProcessExists('SciTE.exe') Then ProcessClose('SciTE.exe')
    FileDelete(@UserProfileDir & '\SciTEUser.properties')
    FileDelete(@UserProfileDir & '\SciTE.*')
    EndFunc ;==>filedel
    Func backupRegistry()
    RunWait(@SystemDir & '\Reg.exe EXPORT "HKCU\Software\AutoIt v3" "' & @ScriptDir & '\autoit.reg"', "", @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe EXPORT "HKLM\SOFTWARE\Classes\.au3" "' & @ScriptDir & '\au3.reg"', "", @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe EXPORT "HKLM\SOFTWARE\Classes\AutoIt3Script" "' & @ScriptDir & '\AutoitScript.reg"', "", @SW_HIDE)
    EndFunc ;==>backupRegistry

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

    Func RestoreRegistry()
    RunWait(@SystemDir & '\Reg.exe IMPORT autoit.reg', @ScriptDir, @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe IMPORT au3.reg', @ScriptDir, @SW_HIDE)
    RunWait(@SystemDir & '\Reg.exe IMPORT AutoitScript.reg', @ScriptDir, @SW_HIDE)
    EndFunc ;==>RestoreRegistry

    [/autoit]

    In der Version kann man Autoit auch auf dem USB_Stick laufen lassen obwohl Autoit schon installiert ist . Beim Programmstart werden die Autoit RegKeys gesichert und nach dem Verlassen von portableAutoIT wieder hergestellt. Bei mir läuft des super . Testet mal . Hab einfach meine komplette install auf den Key gebannt .

  • Conan10
    das freut mich.

    @L3viathan2142
    hab ja nicht gesagt das es nicht schon sowas gibt.

    @Crazy-A
    Also du lädt die genannten sachen runter, enpackts dann die datei AutoItv3_portable.7z
    darin sind folgende Ordner vorhanden:
    - AutoIt3
    - Obfuscator
    - Tidy
    - Wrapper
    - Data
    sowie die Dateien Autoit3Portable.jpg und portableAutoIT.exe.

    In den Ordner AutoIT3 kommt der Inhalt des AutoIT Ordners den du runter geladen hast.
    In den Ordner Obfuscator kommt der Inhalt des Obfuscator den du runter geladen hast.
    usw.

    @PRO4
    Danke für das Lob, ja dies ist mein erstes Script hier und hoffe das es auch nicht das letzte ist. Aller anfang ist schwer.
    Habe das Script da zu gelegt, liegt im Ordner Data.

    Raupi
    SCITE muss nicht installiert werden, es liegt eine Lite version im Autoit Ordner.
    Danke für das Lob.
    Freue mich über jede verbesserung .
    Ich werde es mal testen und dann oben dann ändern.

    Gruss
    MadMax

  • @ Raupi
    sieht sehr gut aus, das einzige ich hatte probleme das es startet.
    Es wurde immer gesagt das die portable schon läuft, habe es
    noch etwas abgeändert, kannst dir es mal an schauen.

    Gruss
    MadMax

    • Offizieller Beitrag

    Hm, weiß nicht woran des bei dir liegt . Protableautoit mault bei mir
    nur wenn ich schon eine Instanz am laufen habe sonst nicht .Deine
    Version funzt auch gut . Spielt also keine Rolle welche man nimmt .Im
    zweifelsfalle deine Version is ja auch dein Script .Hab des im übrigen
    mit USb_Autorun hier aus dem Forum kombiniert jetz kann ich des auch
    von nicht U3 Sticks Autostarten :rock:

    Edit : Meine Scriptversion hat nen Denkfehler ich Frage mit If ProcessExists('portableAutoIT.exe') Then ab und es muß ja ein Fehler geben da es ja gestartet ist . Deine Version is besser . Hab des eben erst gemerkt. Auf meinem Stick habe ich ne andere Version in der ich einen RegKey geschrieben habe wenn portableAutoIT läuft und diesen dann abgefragt .

    Edit2: Wer interesse hat PortableAutoit in den U3 Launchpad zu installieren hier der Link für PackageFactory

    PackageFactory

  • Ich finde, so richtig portable ist das nicht. Ich meine, es wird in die Registry geschrieben!
    Klar, es wird nachher wieder gelöscht, aber AutoIt Portable brauch ich vorallem dann, wenn ich keine Rechte zum Installieren habe, also auch keinen Schreibzugriff auf die Registry.
    Solange das nicht geht, bleib ich bei dem hier .

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Ich finde, so richtig portable ist das nicht. Ich meine, es wird in die Registry geschrieben!
    Klar, es wird nachher wieder gelöscht, aber AutoIt Portable brauch ich vorallem dann, wenn ich keine Rechte zum Installieren habe, also auch keinen Schreibzugriff auf die Registry.

    Genau an der Stelle stand ich auch, als ich das erste mal dieses Thema gelesen habe. Ich habe das von MadMax entworfene Script um einige Teile erleichtert, so das es nur noch den HKEY_CURRENT_USER-Zweig nutzt und im Traymenue auch nur noch den SciTE und die Hilfe zusätzlich anbietet. Mehr brauche ich nicht, wenn ich auf einem fremden System, ggf. ohne Adminrechte mit AutoIT arbeiten will.
    AutoIT-Scripte ausführen und editieren mit SciTE geht so auch auf einem System ohne Adminrechte und z.B. ohne das AutoIT bereits installiert war.

    Nun pflege ich Anfang der Woche (wenn ich wieder im Dienst bin) noch nach, das das Script, wenn der User Adminrecht besitzt, auch den HKEY_LOCAL_MACHINE und HKEY_CLASSES_ROOT sichert und am Ende wieder herstellt. Es könnte ja etwas durch den Admin verändert worden sein.

    Und dann reicht mir dieses einfache Script

    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"

  • Desweiteren hat man dann auch ein Kontexmenü.

    Ich kann es jetzt zwar nicht 100%ig bezeugen, aber ich bin der Meinung, in meinem AutoIT-Portable setze ich das Kontexmenü auch im HKEY_CURRENT_USER und das ging auch. Jedenfalls für "AU3 starten" und editieren mit SciTE.

    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"

    • Offizieller Beitrag

    Hast aber den Sourcecode in deinem 1. Post nicht angepaßt . Oder?

  • Ich hatte ja versprochen, meine abgespeckte Variante vorzustellen. Es ist zwar nicht mehr ganz so aktuell (MadMax hat ja sein Kontextmenü angeblich jetzt auch ohne Adminrechte), aber ich poste es trotzdem mal:

    Spoiler anzeigen
    [autoit]

    Opt("MustDeclareVars",1)
    Opt("TrayMenuMode",1)

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

    Dim $KodaItem, $aboutitem, $helpau3item, $SciTEitem
    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]

    _BackupRegistry()
    _Setup_Registry()

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

    $aboutitem = TrayCreateItem("About")
    TrayCreateItem("")
    $helpau3item = TrayCreateItem("AutoIt 3 Hilfe")
    TrayCreateItem("")
    $SciTEitem = TrayCreateItem("SciTE Script Editor")
    TrayCreateItem("")
    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]

    While TimerDiff($time1) < 2000
    Sleep(100)
    Wend
    SplashOff()
    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $aboutitem
    MsgBox(0, "about:", @CRLF & "AutotITPortable V1.1" & @CRLF)
    Case $msg = $SciTEitem
    RunWait(@ScriptDir & "\SciTE\SciTE.exe", @ScriptDir)
    Case $msg = $KodaItem
    RunWait(@ScriptDir & "\Koda\FD.exe", @ScriptDir)
    Case $msg = $CompilerItem
    RunWait(@ScriptDir & "\Aut2Exe\Aut2Exe.exe", @ScriptDir)
    Case $msg = $helpau3item
    ShellExecuteWait(@ScriptDir & "\AutoIt.chm","",@ScriptDir)
    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","Run")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\Run","","REG_SZ","AutoIT Script ausführen")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\Run\command","","REG_SZ",'"' & @ScriptDir & '\AutoIt3.exe" "%1" %*')
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\Edit","","REG_SZ","AutoIT Script editieren")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\Edit\command","","REG_SZ",'"' & @ScriptDir & '\SciTE\SciTE.exe" "%1"')
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\Compile","","REG_SZ","AutoIT Script kompilieren")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\au3_auto_file\shell\Compile\command","","REG_SZ",'"' & @ScriptDir & '\Aut2Exe\Aut2Exe.exe" /in "%l"')
    EndFunc

    [/autoit]

    Wie gesagt, auf das notwendige reduziert. Ich will halt nur editieren und per Doppeklick starten. Kompilieren folgt demnächst noch. Ist eben noch in der Weiterentwicklung. Die Idee von MadMax war jedenfalls gut.... :thumbup:

    Edit: Nochmal einige Fehler beseitigt, kompilieren eingefügt, 'SplashImageOn' aus MadMax's-Version übernommen

    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"

    Einmal editiert, zuletzt von Micha_he (24. November 2008 um 16:00)