Windows 7 & Programm - Probleme

  • Hey Leute, mein Programm hat auf manchen Windows 7 Rechnern Probleme, woran könnte das liegen ?

    Der Sourcecode hier mal beigelegt, die Zip.au3 gibts hier: Zip.au3

    Source
    [autoit]

    #RequireAdmin
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\Grafik\Icon.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ; Minecraft Downgrader
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <GUIListView.au3>
    #include <Zip.au3>
    HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 GTB6 (.NET CLR 2.0.50727)")
    Global $V = "1.1_02"
    Global $LGUI, $LabelState
    #Region ### START Koda GUI section ### Form=
    Global $Patcher = GUICreate("Minecraft Patcher", 400, 207, -1, -1)
    $Label1 = GUICtrlCreateLabel("Minecraft Patcher 1.1_02", 85, 8, 200, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("©Mattthias",340, 184, 56, 17)
    $Patch = GUICtrlCreateButton("Patch Minecraft", 163, 176, 91, 25, $WS_GROUP)
    $PatchListView = GUICtrlCreateListView("Version|Date|Note", 8, 48, 380, 126)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 110)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 110)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 150)
    #EndRegion ### END Koda GUI section ###

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

    Global $Update, $Patches, $Dates, $Notes
    _StartUp()
    Global $LPatches[UBound($Patches) - 1]
    _AddPatches()
    GUISetState(@SW_SHOW, $Patcher)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Patch
    _DownloadPatch()
    EndSwitch
    WEnd

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

    Func _StartUp()
    $LGUI = GUICreate("Loading Ressources", 250, 50, -1, -1, $WS_CAPTION)
    $LabelState = GUICtrlCreateLabel("Checking for Updates", 15, 7, 250, 50)
    GUISetState(@SW_SHOW, $LGUI)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Update = BinaryToString(InetRead("http://mattthias.bplaced.net/Info/Version.txt"))
    If $Update > $V Then
    MsgBox(0, "Update", "New Update avaible." & @CRLF & "Please visit us and download.")
    EndIf
    GUICtrlSetData($LabelState, "Checking for Patches")
    $Patches = StringSplit(BinaryToString(InetRead("http://mattthias.bplaced.net/Info/Patches.txt")), "#")
    $Dates = StringSplit(BinaryToString(InetRead("http://mattthias.bplaced.net/Info/Dates.txt")), "#")
    $Notes = StringSplit(BinaryToString(InetRead("http://mattthias.bplaced.net/Info/Notes.txt")), "#")
    GUICtrlSetData($LabelState, "Finished")
    Sleep(500)
    GUICtrlSetData($LabelState, "Finished.")
    Sleep(500)
    GUICtrlSetData($LabelState, "Finished..")
    Sleep(500)
    GUICtrlSetData($LabelState, "Finished...")
    Sleep(500)
    GUISetState(@SW_HIDE, $LGUI)
    EndFunc ;==>_StartUp
    Func _AddPatches()
    If $Patches[0] = 0 Or $Dates[0] = 0 Or $Notes[0] = 0 Then
    MsgBox(0, "Error", "Fail to get Data, please restart program.")
    Exit
    Else
    For $i = 1 To UBound($Patches) - 1
    $LPatches[$i - 1] = GUICtrlCreateListViewItem($Patches[$i] & "|" & $Dates[$i] & "|" & $Notes[$i], $PatchListView)
    Next
    EndIf
    EndFunc ;==>_AddPatches
    Func _DownloadPatch()
    Local $SelectPatch = _GUICtrlListView_GetSelectedIndices($PatchListView, True)
    If $SelectPatch[0] = 0 Then
    MsgBox(0, "Error", "No patch selected.")
    ElseIf $SelectPatch[0] > 1 Then
    MsgBox(0, "Error", "Select only one patch.")
    ElseIf $SelectPatch[0] = 1 Then
    Local $LPatch = _GUICtrlListView_GetItemText($PatchListView, $SelectPatch[1])
    __Download($LPatch)
    EndIf
    EndFunc ;==>_DownloadPatch
    Func __Download($LPatch)
    DirCreate(@ScriptDir & "\TMP")
    Local $DGUI = GUICreate("Patch", 157, 47, -1, -1)
    Local $DLabel = GUICtrlCreateLabel("Downloading", 8, 8, 126, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUISetState(@SW_HIDE, $Patcher)
    GUISetState(@SW_SHOW, $DGUI)
    InetGet("http://mattthias.bplaced.net/Patches/" & $LPatch & ".zip", @ScriptDir & "\TMP\TempPatch.zip")
    _Zip_UnZipAll(@ScriptDir & "\TMP\TempPatch.zip", @ScriptDir & "\TMP")
    DirMove(@ScriptDir & "\TMP\bin", @AppDataDir & "\.minecraft", 1)
    DirRemove(@ScriptDir & "\TMP", 1)
    GUICtrlSetData($DLabel, "Finish")
    Sleep(500)
    GUICtrlSetData($DLabel, "Finish.")
    Sleep(500)
    GUICtrlSetData($DLabel, "Finish..")
    Sleep(500)
    GUICtrlSetData($DLabel, "Finish...")
    Sleep(500)
    GUISetState(@SW_HIDE, $DGUI)
    GUISetState(@SW_SHOW, $Patcher)
    EndFunc ;==>__Download

    [/autoit]

    GIbt es irgendwelche Optionen zu beachten ?!?!?

    MfG Mattthias

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Wenn es 64Bit Rechner sind, guck mal ob es geht, wenn du es als 32Bit Skript kompilierst.
    Und ganz interessant, wäre auch zu wissen, was du meinst mit "macht Probleme". Welche Probleme denn?

  • Es installiert die gedownloadeten Files nicht, obwohl Minecraft installiert ist.
    Ich habe es nur als 32 Bit kompiliert da ich selber 32 Bit Winblöd XP benutze, allerdings scheint es auf manchen (!) Rechnern, sowohl 32 als auch 64 Bit, Win 7 nicht zu funktionieren.
    Die Personsn versicherten mir auch bereits, dass sie es als Admin ausgeführt haben.
    Bei einem Kumpel von mir tut sich gleiches auf :S

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Ich hoffe es geht, danke :)
    €: Nope funzt bei manchen immer noch nicht :(

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

    Einmal editiert, zuletzt von Mattthias (17. Januar 2011 um 22:06)

  • Hallo Matthias


    Versuch mal mit #RequiereAdmin.

    Bei mir ist ein Programm auf Win XP problemlos gelaufen und auf Win7 erst wieder, als ich #RequeireAdmin eingesetzt habe.

    In Zeile 95 machst du ein Download.

    Versuch mal den Download string vorher zusammen zu bauen und dann diese Variable übergeben. Mit solchen dingen hatte ich auch schon Probleme.


    Gruss Roger

  • Ich hätte auch noch eine Idee: Enthält @ScriptDir vielleicht Leerzeichen auf den fehlerhaften Rechnern ?

    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"

  • Bitte Source vor Kommentar anschauen.
    #Require Admin ist drin & der Code ist richtig, MC legt nur in einem Ordner ...

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal