Kombination C-Proggie auf CE5.0 und AutoIt auf PC
-
Hallo zusammen,
da ich nicht wusste wo ich das hinpacken sollte hab ich das mal hier gepostet. Falls das hier nicht richtig sein sollte, bitte verschieben...
Folgende Problemstellung:
Ich benutze eine Setup.exe auf AutoIt-Basis auf dem PC und installiere damit Programme auf einem über USB und Actve Sync angeschlossenen Gerät mit CE 5.0.
Die Setup.exe kopiert Dateien und Ordner über CECopy /s auf das CE-System und schiebt dann einen Installer auf dem CE-System an. Nachdem der Installer dann fertig ist, müssen im AutoIt-Proggie noch Fehlerroutinen ablaufen. Ich muss also in AutoIt feststellen können, wann der Installer auf dem CE-Gerät fertig ist, damit ich:
- nicht zu früh mit den Fehlerroutinen anfange
- nicht zu lange Sleeps einbauen muss
Bislang mache ich das so, dass ich im Installer auf dem CE-Gerät am Ende eine kleine Textdatei erstelle:
src = _wfopen(L"\\Storage Card\\setup.txt\0", L"w"); wcscpy(variable, L"-\n"); fputws(variable, src); fclose(src);
In AutoIt warte ich dann in einer While-Schleife auf die Setup.txt:
While 1 GUICtrlSetData($progress, $x) ;~ Fortschrittsbalken hoch stellen Run($pfad & 'cecopy.exe ' & $setuptxt & ' ' & '"' & @ScriptDir & '\setup.txt' & '"', @ScriptDir, @SW_HIDE) If WinExists("No Device Connected") Then ;~ Sicherheits-Abfrage, ob der User den PNA ausgemacht hat... WinClose("No Device Connected") MsgBox(16, "Installation abgebrochen", "Bitte das Gerät während der Installation angeschlossen lassen!", 10) Exit EndIf Sleep(1000) ;~ Sleep eingefügt um die Systembelastung zu minimieren $x = $x + 4 ;~ Fortschrittsbalken If $x > 90 Then $x = 90 If FileExists(@ScriptDir & '\setup.txt') Then ExitLoop WEnd
Das funktioniert auch so weit...
Ich würde aber gerne wissen, ob es evtl. eine bessere Lösung für diese Geschichte gibt?!?Hat da jemand ne Idee zu???
-
Hmmm... ist die Fragestellung so ungewöhnlich, oder nur zu DAU-mässig?
-
Pitter (c) schrieb:
Hallo zusammen,
da ich nicht wusste wo ich das hinpacken sollte hab ich das mal hier gepostet. Falls das hier nicht richtig sein sollte, bitte verschieben...
Folgende Problemstellung:
Ich benutze eine Setup.exe auf AutoIt-Basis auf dem PC und installiere damit Programme auf einem über USB und Actve Sync angeschlossenen Gerät mit CE 5.0.
Die Setup.exe kopiert Dateien und Ordner über CECopy /s auf das CE-System und schiebt dann einen Installer auf dem CE-System an. Nachdem der Installer dann fertig ist, müssen im AutoIt-Proggie noch Fehlerroutinen ablaufen. Ich muss also in AutoIt feststellen können, wann der Installer auf dem CE-Gerät fertig ist, damit ich:
- nicht zu früh mit den Fehlerroutinen anfange
- nicht zu lange Sleeps einbauen muss
Bislang mache ich das so, dass ich im Installer auf dem CE-Gerät am Ende eine kleine Textdatei erstelle:
src = _wfopen(L"\\Storage Card\\setup.txt\0", L"w"); wcscpy(variable, L"-\n"); fputws(variable, src); fclose(src);
In AutoIt warte ich dann in einer While-Schleife auf die Setup.txt:
While 1 GUICtrlSetData($progress, $x) ;~ Fortschrittsbalken hoch stellen Run($pfad & 'cecopy.exe ' & $setuptxt & ' ' & '"' & @ScriptDir & '\setup.txt' & '"', @ScriptDir, @SW_HIDE) If WinExists("No Device Connected") Then ;~ Sicherheits-Abfrage, ob der User den PNA ausgemacht hat... WinClose("No Device Connected") MsgBox(16, "Installation abgebrochen", "Bitte das Gerät während der Installation angeschlossen lassen!", 10) Exit EndIf Sleep(1000) ;~ Sleep eingefügt um die Systembelastung zu minimieren $x = $x + 4 ;~ Fortschrittsbalken If $x > 90 Then $x = 90 If FileExists(@ScriptDir & '\setup.txt') Then ExitLoop WEnd
Das funktioniert auch so weit...
Ich würde aber gerne wissen, ob es evtl. eine bessere Lösung für diese Geschichte gibt?!?Hat da jemand ne Idee zu???
-
...und was soll jetzt bitteschön das Komplett-Zitat, ohne irgendeine Antwort, oder Korrektur?
Aber Danke für das pushen...
Die Fragestellung ist nämlich immer noch aktuell.