myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Datei von ftp server herunterladen & ausführen

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 24.07.10, 12:55   #1
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard Datei von ftp server herunterladen & ausführen

Hallo Leute

Habe eine Frage.

Wie kan ich per Button eine Datei (z.B name test.exe) downloaden und dan automatisch
ausführen?

Bitte um Antwort.

MfG moin2010
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 24.07.10, 14:11   #2
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

schaust du hier:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

damit kannst du das in eine .bat stecken.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 24.07.10, 14:25   #3
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

nein sorry hab mich ausversehen nicht richtig ausgedrückt.
Ich möchte via Visual Basic 2008 über einen Button eine datei
herunterlade und ausführen.
moin2010 ist offline   Mit Zitat antworten
Ungelesen 24.07.10, 20:56   #4
junior_no1
Anfänger
 
Registriert seit: Jun 2010
Beiträge: 28
Bedankt: 1
junior_no1 ist noch neu hier! | 0 Respekt Punkte
Standard

über die classe kommt erst mal:

'Imports System.Net'

dann dierekt unter Public Class Form1:

Public i As Integer
Public WithEvents download As New WebClient

dann für den button zum download:

download = New WebClient
download.DownloadFileAsync(New Uri("http://ftp.de/test.exe"), "dateipfad", "dateiname.exe")

zum öffnen:

shell ("dateipfad" + "/" + "dateiname.exe")
junior_no1 ist offline   Mit Zitat antworten
Ungelesen 25.07.10, 09:34   #5
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

Zitat:
Zitat von junior_no1 Beitrag anzeigen
shell ("dateipfad" + "/" + "dateiname.exe")
Wohl eher ein "\" und bei Strings rechnet man eigentlich auch nicht und benutzt somit lieber ein "&" was man aber eig. auch nicht braucht da man gleich den Pfad + Dateinamen angeben kann, also: "Dateipfad\datei.exe"
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Ungelesen 25.07.10, 13:39   #6
junior_no1
Anfänger
 
Registriert seit: Jun 2010
Beiträge: 28
Bedankt: 1
junior_no1 ist noch neu hier! | 0 Respekt Punkte
Standard

ja tut mir leid wegen dem fehler
aber wenn ich es gezeigt hätte wie du hätte man es auch falsch verstehn können
und ob + oder & das ist da egal
junior_no1 ist offline   Mit Zitat antworten
Ungelesen 25.07.10, 16:12   #7
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

Ja, beide funktionieren zwar, jedoch rechnet man trotzdem nicht mit Strings..aber ist ja jetz auch egal^^
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Ungelesen 30.07.10, 11:04   #8
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

weil es bei mir nicht so gut geklappt hat habe ich mir ein tut angesehen.
Und jetzt kommt der updater am pogramm start.
Es hat auch alles geklapp ausser das mit dem Form1-Load Ereignis.
Dort tacuht dan ein fehler auf.

Das ist der Code für das Form1-Load Ereignis:
Zitat:
My.Computer.Network.DownloadFile("http://programmierung.kilu.de/Anwendungen/wm-spiel-notierer/version", Environment.GetFolderPath(Environment.SpecialFolde r.ApplicationData) & "/version.ini", "", "", False, 60000, True)
Dim MeineVersion As Integer = CInt(Me.Label35.Text)
Dim ServerVersion As Integer = My.Computer.FileSystem.ReadAllText(Environment.Get FolderPath(Environment.SpecialFolder.ApplicationDa ta) & "/version.ini")
If ServerVersion > MeineVersion Then
My.Computer.FileSystem.WriteAllBytes(Environment.G etFolderPath(Environment.SpecialFolder.Application Data) & "\Update.exe", My.Resources.Updater, False)
MsgBox("Das Programm wird nun auf den aktuelsten stand gebracht!", MsgBoxStyle.Information, "Aktuell")
Shell(Environment.GetFolderPath(Environment.Specia lFolder.ApplicationData) & "\Update.exe")
End
End If
Jetzt kommt aber wen ich mein Programm starte kommt ein fenster mit diesem Fehler:

Zitat:
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.IO.FileNotFoundException: Die Datei wurde nicht gefunden.
bei Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
bei Updater.Form1.httpclient_DownloadFileCompleted(Obj ect sender, AsyncCompletedEventArgs e)
bei System.Net.WebClient.OnDownloadFileCompleted(Async CompletedEventArgs e)
bei System.Net.WebClient.DownloadFileOperationComplete d(Object arg)


************** Geladene Assemblys **************
mscorlib
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
Updater
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:///C:/Users/Kai/AppData/Roaming/update.exe.
----------------------------------------
Microsoft.VisualBasic
Assembly-Version: 8.0.0.0.
Win32-Version: 8.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
----------------------------------------
System
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Windows.Forms
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Runtime.Remoting
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
----------------------------------------
System.Configuration
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
System.Xml
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
Microsoft.VisualBasic.resources
Assembly-Version: 8.0.0.0.
Win32-Version: 8.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/8.0.0.0_de_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll.
----------------------------------------
mscorlib.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
System.Windows.Forms.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
Ich hoffe ihr könnt mir helfen.
moin2010 ist offline   Mit Zitat antworten
Ungelesen 30.07.10, 16:00   #9
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Code:
Shell(Environment.GetFolderPath(Environment.Specia lFolder.ApplicationData) & "\Update.exe")
ich könnte M$ immer noch dafür schlagen, daß sie den backslash als verzeichnistrenner eingeführt haben...

Code:
& "\\Update.exe"
oder
& @"\Update.exe"
version.ini wird wohl auch nicht korrekt gespeichert...
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 30.07.10, 16:19   #10
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ne hat immer noch nicht geklappt
du kannst dir das tut mal anschauen: [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
davon habe ich das
moin2010 ist offline   Mit Zitat antworten
Ungelesen 30.07.10, 16:31   #11
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
System.IO.FileNotFoundException: Die Datei wurde nicht gefunden.
bei Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
der fehler besagt ja, daß die datei PathName nicht gefunden wurde.
schau doch mal, ob nach My.Computer.FileSystem.WriteAllBytes()
die Update.exe tatsächlich auf der festplatte liegt.

ich hab' mir das video mal angeschaut, ist ganz gut erklärt.
aber warum er den updater in 2 anwendungen aufsplittet und dann noch die update.exe in die ressourcen der anderen anwendung aufnimmt und dann nach Environment.SpecialFolder.ApplicationData kopiert ist mir nicht ganz klar. das verwirrt m.e. eher.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 30.07.10, 18:04   #12
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

also die datei liegt auf der festplatte.
das problem ist ja das er die gespeicherte datei nicht ausführt.
Das Downloaden macht er ja.
Kan man vieleicht das ändern das er zum beispiel die datei
dahin speichert wo er selbst ist und dan auch startet?
Das würde doch teorätisch gehen.
moin2010 ist offline   Mit Zitat antworten
Ungelesen 30.07.10, 18:14   #13
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

wenn du dich an das video gehalten hast,
funzt denn das update programm als solches ?
wenn ja, dann erweitere das update programm doch einfach um den versionscheck, und verzichte auf ein zweites programm.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 30.07.10, 21:08   #14
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ich hab mich ja genau an das video gehalten.
ich muss mal darüber nachdenken ob ich das 2. programm weg lass.
moin2010 ist offline   Mit Zitat antworten
Ungelesen 03.08.10, 18:15   #15
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ok das zwiete programm lasse ich jetzt weg.

und wie muss ich jetzt diesen text so umschreiben
das wen eine neue version verfügbar ist das er ein kleines fenster öffnet mit einem text.
Und das soll dan über ein button sein:

Zitat:
My.Computer.Network.DownloadFile("http://meine-domain/Anwendungen/mein-programm/version", Environment.GetFolderPath(Environment.SpecialFolde r.ApplicationData) & "\version.ini", "", "", False, 60000, True)
Dim MeineVersion As Integer = CInt(Me.Label35.Text)
Dim ServerVersion As Integer = My.Computer.FileSystem.ReadAllText(Environment.Get FolderPath(Environment.SpecialFolder.ApplicationDa ta) & "\version.ini")
If ServerVersion > MeineVersion Then
My.Computer.FileSystem.WriteAllBytes(Environment.G etFolderPath(Environment.SpecialFolder.Application Data) & "\update.exe", My.Resources.Updater, False)
MsgBox("Es sind neue Programm Updates verfügbar. Bitte besuchen sie unsere Hompage: http://meine-domain!", MsgBoxStyle.Information, "Aktuell")
End
End If
moin2010 ist offline   Mit Zitat antworten
Ungelesen 03.08.10, 18:42   #16
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Code:
If ServerVersion > MeineVersion Then
* der code aus dem ersten programm um per ftp die datei zu ziehen
* bzw:
download = New WebClient
download.DownloadFileAsync(New Uri("http://ftp.de/test.exe"), "dateipfad", "dateiname.exe")
end if
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 03.08.10, 19:07   #17
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ich verstehe jetzt nicht ganz wie ich den einfügen muss
moin2010 ist offline   Mit Zitat antworten
Ungelesen 03.08.10, 19:09   #18
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

also das ist der code vom anderen prog:

Das ist das Form-Load Ereignis:

Zitat:
Me.Hide()
ShowDialog:
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName = Nothing Then
GoTo ShowDialog
End If
Pfad = SaveFileDialog1.FileName

Try
Me.Show()
httpclient = New WebClient
Dim URL As String = "http://meine-domain/ordner/ordner/programm.exe"
Application.DoEvents()
httpclient.DownloadFileAsync(New Uri(URL), Pfad)
Application.DoEvents()
Catch ex As Exception
MsgBox("Es ist folgender Fehler aufgetreten:" & vbNewLine & ex.ToString, MsgBoxStyle.Critical, "Es ist ein Fehler aufgetreten!")
End
End Try
Und das ist der code vom httpclient-downloadfilecompledet:

Zitat:
MsgBox("Die aktuelle Version wurde im angegebenen Verzeichnis gespeichert!", MsgBoxStyle.Information, "Erfolg")
Shell(Pfad)
moin2010 ist offline   Mit Zitat antworten
Ungelesen 03.08.10, 19:26   #19
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

du hast alle bausteine um das programm zu bauen. ich wüsste nicht, wie ich dir noch weiter helfen könnte, ausser es selbst nachzuprogrammieren und dann hier den code zu posten. aber dann hast du keinen wirklichen lerneffekt.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 03.08.10, 20:04   #20
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

aber welchen code muss ich in den code einfügen den du gepostet hast einfügen?

Also den hier:

Zitat:
If ServerVersion > MeineVersion Then
* der code aus dem ersten programm um per ftp die datei zu ziehen
* bzw:
download = New WebClient
download.DownloadFileAsync(New Uri("http://ftp.de/test.exe"), "dateipfad", "dateiname.exe")
end if
und erscheint dan überhaupt ein fenster?
moin2010 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.


Sitemap

().