hi @ all,
ich habe ein programm geschrieben mit dem man einen Launcher für ein spiel erstellen kann.
Es ist ganz simpel:
Man gibt die benötigten daten ein klickt auf "Erstellen" und dann wird der Code generiert.
jetzt meine frage:
wie kann man das AutoIT Script ohne AutoIT in eine .exe umwandeln?
MfG Roggazzz
Script ohne AutoIT Compilen
-
- [ gelöst ]
-
Lololo124 -
6. August 2009 um 11:48 -
Geschlossen -
Erledigt
-
-
Du könntest die Aut2Exe.exe von AutoIT mit FileInstall in dein script includen und dann per Command Line dein erstelltes Script compilen. In der Hilfe unter "Compiling Scripts" findest du die Command Line Parameter
Edit : Du müsstest auch noch die Datei AutoITISC.bin und upx.exe aus dem Aut2Exe Ordner includen sonst funktioniert das nicht.
MfG eMkay
-
ichn finde nur in der englischen hilfe etwas und mein englisch ist nicht gerade das beste.
[autoit]
wie benutze ich die Comando Lines?
ich hab hier mal ein bsp. Script:$Auttoexe=FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exe.exe","")
[/autoit][autoit][/autoit][autoit]
$UPX=FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\upx.exe","")
$BIN=FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItSC_x64.bin","")
#include-once <$Auttoexe>
#include-once <$UPX>
#include-once <$BIN>/in @ScriptDir&"\Explorer".au3 /out @ScriptDir&"\Explorer".exe
[/autoit]
Gruß ROggazzz -
- Offizieller Beitrag
Ini-Dateien sind hundertmal einfacher :).
peethebee
-
peethebee :
könntest du mir sagen wie ich das mit inis anstellen soll? also was da rein muss? -
Die variablen Daten können ja auch aus einer .ini geholt werden, dann muss man nicht jedes mal eine neue .exe erstellen.
Darumherum kann man eine Gui basteln um die .ini zu editieren. -
achso, okay kann mir wer jetzt erstmal mit dem compilen helfen?
-
Also wenn ich folgende INI Datei (Dateiname: meineDatei.ini) habe:
Spoiler anzeigen
[autoit]
[/autoit]
[Script]
Name=test
Endung=exekann ich mit folgenden Script das ganze automatisch zur exe-Datei umwandeln.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Scriptname = IniRead(@ScriptDir & "meineDatei.ini", "Script", "Name", "test")
$ScriptnameEXT = IniRead(@ScriptDir & "meineDatei.ini", "Script", "Endung", "exe")_CreateDirs() ;
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_Compile($Scriptname)Func _Compile($Scriptname)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Run("C:\Scripts\Aut2Exe\Aut2Exe.exe /in " & @ScriptDir & "\" & $Scriptname & ".au3 /out " & _
@ScriptDir & "\" & $Scriptname & "2.exe /icon C:\Scripts\Aut2Exe\Icons\SETUP03.ICO")
EndFunc ;_Compile;Func _RemoveExtension($ScriptnameEXT)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;$Scriptname = stringleft($ScriptnameEXT, stringlen($ScriptnameEXT)-4)
;Return $Scriptname
;EndFunc ;_RemoveExtensionFunc _CreateDirs()
[/autoit]
If Not FileExists ("C:\Scripts\Aut2Exe") Then
DirCreate("C:\Scripts\Aut2Exe\Icons")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\Aut2exe.exe", "C:\Scripts\Aut2Exe\Aut2exe.exe")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\Aut2exe_x64.exe", "C:\Scripts\Aut2Exe\Aut2exe_x64.exe")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\Aut2exeA.exe", "C:\Scripts\Aut2Exe\Aut2exeA.exe")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\AutoItASC.bin", "C:\Scripts\Aut2Exe\AutoItASC.bin")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\AutoItSC.bin", "C:\Scripts\Aut2Exe\AutoItSC.bin")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\AutoItSC_x64.bin", "C:\Scripts\Aut2Exe\AutoItSC_x64.bin")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\upx.exe", "C:\Scripts\Aut2Exe\upx.exe")
FileInstall("c:\Programme\AutoIt3\Aut2Exe\Icons\Setup03.ico", "C:\Scripts\Aut2Exe\Icons\Setup03.ico")
EndIf
EndFunc ;_CreateDirsDu mußt na klar noch die Dateipfade anpassen, da AutoIt3 ja bei Dir wo anders ist als bei mir oder einem anderen User.
Evtl. noch den Ordner C:\Scripts\ löschen lassen, aber das ist nebensächlich und nur nicht zu vergessen, das da nach dem ausführen noch was auf C:\Scripts\ ist.
-
- Offizieller Beitrag
Wenn du eine Exe-Datei machst, die beliebige Spiele startet (die es aus einer Ini-Datei liest), dann brauchst du nichts kompilieren.
peethebee
-
Ich hab des jetzt mal ohne ini file auf mich angepasst...
ich bekomme aber einen Error beim Compilen das ein include fehlt.... warum?hier der code:
[autoit]Func _Compile()
[/autoit][autoit][/autoit][autoit]
$Dialog=FileSaveDialog("Speichern...",@DesktopDIr,"Anwendungen(*.exe)")
FileWrite(@Tempdir&"\launcher.au3",GuiCtrlread($Edit1))
Run("C:\Scripts\Aut2Exe\Aut2Exe.exe /in " & @Tempdir&"\launcher.au3")DirRemove("C:\Scripts\Aut2Exe")
[/autoit]
EndFunc ;_Compile
Func _CreateDirs()
If Not FileExists ("C:\Scripts\Aut2Exe\Icons") Then
DirCreate("C:\Scripts\Aut2Exe\Icons")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exe.exe", "C:\Scripts\Aut2Exe\Aut2exe.exe")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exe_x64.exe", "C:\Scripts\Aut2Exe\Aut2exe_x64.exe")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exeA.exe", "C:\Scripts\Aut2Exe\Aut2exeA.exe")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItASC.bin", "C:\Scripts\Aut2Exe\AutoItASC.bin")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItSC.bin", "C:\Scripts\Aut2Exe\AutoItSC.bin")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItSC_x64.bin", "C:\Scripts\Aut2Exe\AutoItSC_x64.bin")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\upx.exe", "C:\Scripts\Aut2Exe\upx.exe")
FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Icons\Setup03.ico", "C:\Scripts\Aut2Exe\Icons\SETUP03.ICO")
EndIf
EndFunc -
Moin Roggazzz.
Also ich habe Dein Script mal getestet. Da es nicht vollständig ist, habe ich die nicht veröffentlichten Var. kurz erstellt und kann keinen Fehler fest stellen.
Wenn das problem noch besteht, bitte das Script komplett posten, denn dann kann man besser sehen wo evtl. noch ein Fehler sein könnte.Bist Du eigentlich "Sylvia"
-
Edit: Habs selbst gelöst musste nur die Includes einfügen danke an alle
Gruß Roggazzz
P.S. Alina nein das ist der name meiner mutter da ich ihren pc benutze weil mein Laptop spinnt...