Hey Leute!
Ich hab mal ein Setup Creator erstellt. Der Vorteil: er ladet automatisch die aktuelle Version runter! Man erstellt mit dem Creator die INI, dann ladet man sie hoch, trägt die URL ein und der Creator erstellt das Setup! Allerdings habe ich noch ein Problem mit dem Startmenüeintrag. Also könntet ihr mir vielleicht helfen? Denn ich habe ein 64 bit System und mehrere Beispiele funktionieren bei mir nicht. Das Setup und gleichzeitig das Demo findet ihr unter http://w938534.open.ge.tt/1/files/9kHwc8C/01/blob?download ! Hier ist der Quellcode:
Der Creator
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=SDK\Icons\Icon.ico
#AutoIt3Wrapper_Outfile=SDK\Creator.exe
#AutoIt3Wrapper_Res_Comment=Create your Setup!
#AutoIt3Wrapper_Res_Description=iEasySetup
#AutoIt3Wrapper_Res_Fileversion=0.1
#AutoIt3Wrapper_Res_LegalCopyright=(C) LimeSoft Solutions 2012
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <File.au3>
#Include <Array.au3>
MsgBox(0,"Welcome","Welcome to iEasySuite Alpha 1.0! Please make this sure: " & @CRLF & "1. You need webspace to upload the INI File!" & @CRLF & "2. Please name your Program 'Start.exe' because the setup will create an entry into the startmenu!" & @CRLF & "3. Pack your Program in .ZIP!")
#Region ### START Koda GUI section ### Form=c:\users\administrator\documents\stevenx media\limesoft downloader\creator.kxf
$Form1_1 = GUICreate("iEasySuite - Alpha 1", 584, 555, 192, 124)
$Label1 = GUICtrlCreateLabel("iEasySuite", 200, 48, 133, 36)
GUICtrlSetFont(-1, 20, 400, 0, "Myriad")
$MenuItem1 = GUICtrlCreateMenu("&iEasySuite")
$Menu_Help = GUICtrlCreateMenuItem("Help", $MenuItem1)
$Menu_About = GUICtrlCreateMenuItem("About", $MenuItem1)
GUICtrlSetFont(-1, 20, 400, 0, "Myriad")
$Label2 = GUICtrlCreateLabel("Program Name", 24, 104, 74, 17)
$Prog_Name = GUICtrlCreateInput("eg.: iEasySuite", 24, 128, 537, 21)
$Prog_Version = GUICtrlCreateInput("eg.: 0.1", 20, 186, 537, 21)
$Label3 = GUICtrlCreateLabel("Program Version", 24, 168, 81, 17)
$Prog_Ext = GUICtrlCreateInput("eg.: exe WITHOUT '.'!", 24, 234, 537, 21)
$Label4 = GUICtrlCreateLabel("Program Extension", 24, 216, 92, 17)
$Save_Ini = GUICtrlCreateButton("Save", 24, 368, 179, 25)
$Label5 = GUICtrlCreateLabel("Upload the file and fill the URL here in:", 24, 408, 186, 17)
$Prog_URL = GUICtrlCreateInput("http://", 20, 281, 537, 21)
$Label6 = GUICtrlCreateLabel("Download URL", 24, 264, 77, 17)
$Ini_URL = GUICtrlCreateInput("http://", 232, 408, 321, 21)
$Create = GUICtrlCreateButton("Create", 24, 450, 531, 49)
$Prog_FolderPath = GUICtrlCreateInput("eg.: \LimeSoft\iEasySuite\", 24, 335, 537, 21)
$Label7 = GUICtrlCreateLabel("Folder", 24, 312, 33, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Save_Ini
$Ini_Path = FileSaveDialog( "Where to save it?","", "INI(*.ini)")
$INI_Write1 = IniWrite( $Ini_Path, "Information", "Name", GUICtrlRead( $Prog_Name))
$INI_Write2 = IniWrite( $Ini_Path, "Information", "Version", GUICtrlRead( $Prog_Version))
$INI_Write3 = IniWrite( $Ini_Path, "Information", "Extension", GUICtrlRead( $Prog_Ext))
$INI_Write4 = IniWrite( $Ini_Path, "Information", "URL", GUICtrlRead( $Prog_URL))
$INI_Write5 = IniWrite( $Ini_Path, "Information", "Path", GUICtrlRead( $Prog_FolderPath))
If $INI_Write1 AND $INI_Write2 AND $INI_Write3 AND $INI_Write4 AND $INI_Write5 = 1 Then
MsgBox(0,"iEasySuite", "INI Created")
Else
MsgBox(0, "iEasySuite", "ERROR")
EndIf
Case $Create
$AU3_Path = FileSaveDialog("Where to save script?", "", "AU3(*.au3)")
$Icon = FileOpenDialog("Icon", "", "Icon(*.ico)")
$Setup_Path = FileSaveDialog("Where to save setup?", "", "EXE(*.exe)")
FileCopy("Client.au3", $AU3_Path,1)
_FileWriteToLine($AU3_Path , 2, "$INI_Path = " & '"' & GUICtrlRead($Ini_URL) & '"',1)
ShellExecute( "Aut2exe.exe", "/in " & '"' & $AU3_Path & '"' & ' /out' & " " & '"' & $Setup_Path & '"' & " /icon" & " " & '"' & $Icon & '"' )
MsgBox(0, "Created!", "You will find your setup under: " & $Setup_Path & " !")
EndSwitch
WEnd
Das Setup:
[autoit]Global $INI_Path
[/autoit][autoit][/autoit][autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Icon.ico
#AutoIt3Wrapper_Outfile=LimeSoft DownloaderExtended.exe
#AutoIt3Wrapper_Res_Comment=Download our Software!
#AutoIt3Wrapper_Res_Description=LimeSoft Downloader Client
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=(C) LimeSoft Solutions 2012
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs
LimeSoft Downloader
This Program is registered under GNU Public!
#ce
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <Array.au3>
#include <Zip.au3>
InetGet( $INI_Path, "Cache.ini")
$FileName1 = IniRead( "Cache.ini", "Information", "Name", "ERROR")
$FileVersion = IniRead("Cache.ini", "Information", "Version", "ERROR")
$FileURL1 = IniRead( "Cache.ini", "Information", "URL", "ERROR")
$FileExtension = IniRead( "Cache.ini", "Information", "Extension", "ERROR")
$FilePath = IniRead("Cache.ini", "Information", "Path","ERROR")
Global $FileURL1
#Region ### START Koda GUI section ### Form=C:\Users\Administrator\Documents\StevenX Media\LimeSoft Downloader\guiextended.kxf
$Form1_1 = GUICreate("LimeSoft Downloader (C) LimeSoft Solutions 2012", 942, 306, 194, 145)
$About_Menu = GUICtrlCreateMenu("&Program")
$About_Item = GUICtrlCreateMenuItem("&About", $About_Menu)
$Label1 = GUICtrlCreateLabel($FileName1 & " " & $FileVersion, 176, 16, 627, 49)
GUICtrlSetFont(-1, 30, 400, 0, "Myriad")
$Download = GUICtrlCreateButton("Download", 16, 224, 147, 25)
$Progress1 = GUICtrlCreateProgress(16, 200, 862, 17)
$Progress_Label = GUICtrlCreateLabel("Progress", 16, 176, 500, 17)
$Downloads_Patch = GUICtrlCreateLabel("All Downloads are placed under: '" & @UserProfileDir & '\Downloads\' & "' !", 384, 88, 500, 18)
GUICtrlSetFont(-1, 8, 400, 0, "Myriad")
$Label2 = GUICtrlCreateLabel("Program: " & $FileURL1, 16, 136, 800, 27)
GUICtrlSetData($Label2, $FileURL1)
GUICtrlSetFont(-1, 15, 400, 0, "Myriad")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Download
$Program1 = $FileURL1
_DownloadProgress($FileURL1, $FileName1, $Program1)
Case $About_Item
MsgBox(64,"LimeSoft Downloader Client", "(C) LimeSoft Solutions 2012" & @CRLF & "The Program is registered under the GNU Public License" & @CRLF & "LimeSoft.us.tf")
EndSwitch
WEnd
Func _DownloadProgress($FileURL, $FileName, $ProgramName)
GUICtrlSetState( $Download, $GUI_Disable)
$FileSaveLocation = @UserProfileDir & '\Downloads\' & $FileName & "_" & $FileVersion & "." & $FileExtension
$FileSize = InetGetSize($FileURL)
$FileDownload = InetGet($FileURL, $FileSaveLocation, 0, 1)
Do
$Percentage = InetGetInfo($FileDownload, 0) * 100 / $FileSize
GUICtrlSetData($Progress1,$Percentage)
;Round($Percentage, 0) & "% Downloaded " & Round(InetGetInfo($FileDownload, 0) / 1048576, 2) & " of " & Round($FileSize / 1048576, 2) & " MB", "Downloading " & $ProgramName)
GUICtrlSetData($Progress_Label, Round($Percentage, 0) & "% Downloaded " & Round(InetGetInfo($FileDownload, 0) / 1048576, 2) & " of " & Round($FileSize / 1048576, 2) & " MB")
Sleep(250)
Until InetGetInfo($FileDownload, 2)
_Buildinzip( @UserProfileDir & '\Downloads\' & $FileName & "_" & $FileVersion & ".zip", @ProgramFilesDir & $FilePath,True)
FileCreateShortcut( @ProgramFilesDir & $FilePath & '\Start.exe',@startMenuDir & "\Programs\" & $ProgramName & ".lnk")
MsgBox(64, "Finished", "Click <OK> to start the program")
Run(@UserProfileDir & '\Downloads\' & $FileName & "_" & $FileVersion & "." & $FileExtension)
GUICtrlSetState( $Download, $GUI_Enable)
EndFunc
Also, probierts einfach aus!
MFG