Visual Basic Programm funktioniert auf anderen Computern nicht
Hallo,
ich habe ein Visual Basic Programm geschrieben, welches ein neues explorer Fester öffnet was sich mit einem FTP Server verbindet.
Nun habe ich das Programm mal an einen Freund von mir geschickt zum Testen. (Bei mir funktioniert das Programm perfekt)
Bei der aktuelles Version startet das Programm erst gar nicht, dort kommt dann nicht "Anwendung konnte nicht gestartet; Nach einem Problem suchen?"
Davor bei der Version kommt folgendes
Und bei der aller ersten Version kommt gar kein Fehler:
Hier mal mein Quelcode vom Programm.
Könnt Ihr mir sagen, wieso das Programm nicht startet. (auf jedem PC ist Net Framework 3.5)
Ich bin mir nicht sicher obs erlaubt ist so ein Link hier zu Posten, als falls verboten ist, bitte nicht steinigen.
http://npshare.de/files/f098865e/WindowsAPICodePack.rar
Das sind die DLL Dateien, welche ich benutzt habe um die Windows 7 Taskleistenfunktion hin zu bekommen.
Mfg. Meight
ich habe ein Visual Basic Programm geschrieben, welches ein neues explorer Fester öffnet was sich mit einem FTP Server verbindet.
Nun habe ich das Programm mal an einen Freund von mir geschickt zum Testen. (Bei mir funktioniert das Programm perfekt)
Bei der aktuelles Version startet das Programm erst gar nicht, dort kommt dann nicht "Anwendung konnte nicht gestartet; Nach einem Problem suchen?"
Davor bei der Version kommt folgendes
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
Ausnahmetext
System.Net.WebException: Der Server hat eine Protokollverletzung ausgeführt.. Section=ResponseHeader Detail=Auf CR muss LF folgen
bei System.Net.WebClient.OpenRead(Uri address)
bei System.Net.WebClient.OpenRead(String address)
bei Homeconnecter.Form1.Form1_Load(Object sender, EventArgs e)
bei System.EventHandler.Invoke(Object sender, EventArgs e)
bei System.Windows.Forms.Form.OnLoad(EventArgs e)
bei System.Windows.Forms.Form.OnCreateControl()
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.WmShowWindow(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
bei System.Windows.Forms.Form.WmShowWindow(Message& m)
bei System.Windows.Forms.Form.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Geladene Assemblys
mscorlib
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4952 (win7RTMGDR.050727-4900).
CodeBase: file:/C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
homeconnecter
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:/C:/Users/Patrick/Downloads/homeconnecterV1.2.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.
System.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:/C:/Windows/assembly/GAC_MSIL/System.resources/2.0.0.0_de_b77a5c561934e089/System.resources.dll.
mscorlib.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4952 (win7RTMGDR.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.
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
Ausnahmetext
System.Net.WebException: Der Server hat eine Protokollverletzung ausgeführt.. Section=ResponseHeader Detail=Auf CR muss LF folgen
bei System.Net.WebClient.OpenRead(Uri address)
bei System.Net.WebClient.OpenRead(String address)
bei Homeconnecter.Form1.Form1_Load(Object sender, EventArgs e)
bei System.EventHandler.Invoke(Object sender, EventArgs e)
bei System.Windows.Forms.Form.OnLoad(EventArgs e)
bei System.Windows.Forms.Form.OnCreateControl()
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.WmShowWindow(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
bei System.Windows.Forms.Form.WmShowWindow(Message& m)
bei System.Windows.Forms.Form.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Geladene Assemblys
mscorlib
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4952 (win7RTMGDR.050727-4900).
CodeBase: file:/C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
homeconnecter
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:/C:/Users/Patrick/Downloads/homeconnecterV1.2.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.
System.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:/C:/Windows/assembly/GAC_MSIL/System.resources/2.0.0.0_de_b77a5c561934e089/System.resources.dll.
mscorlib.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4952 (win7RTMGDR.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.
Und bei der aller ersten Version kommt gar kein Fehler:
Hier mal mein Quelcode vom Programm.
Könnt Ihr mir sagen, wieso das Programm nicht startet. (auf jedem PC ist Net Framework 3.5)
Imports System.Net
Imports System.IO
Imports Microsoft.WindowsAPICodePack.Taskbar
Public Class Form1
Dim TBM As TaskbarManager = TaskbarManager.Instance
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Update start
Dim Client As New WebClient()
Client.Headers.Add("user-agent", "Mozilla/4.0; Windows NT 6.1")
Dim txt As Stream = Client.OpenRead("http://webserver.kp/homeconnecter/version.txt")
Dim sr As New StreamReader(txt)
Dim zeile As String
Dim a As String
Dim aktuelle_version As String
'Aktuelle Version einstellen start
aktuelle_version = "1.3"
'Aktuelle Version einstellen ende
Do Until sr.Peek() = -1
zeile = sr.ReadLine()
If zeile <> aktuelle_version Then
a = MsgBox("ACHTUNG: Es ist ein neues Update verfügbar." & vbCrLf & "Möchtest du dieses nun Laden?", vbYesNo, "Update verfügbar")
If a = vbYes Then
Process.Start("http://webserver.kp/homeconnecter/download/homeconnecterV" & aktuelle_version & ".exe")
End
End If
End If
Loop
sr.Close()
'Update ende
Zeitanzeige.Text = DateTime.Today
prozessbar.Value = "1"
TBM.SetProgressValue("1", "100")
TBM.SetProgressState(TaskbarProgressBarState.Normal)
End Sub
Private Sub benutzername_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles benutzername.TextChanged
If benutzername.Text <> "" Then
prozessbar.Value = "50"
TBM.SetProgressValue("50", "100")
Else
prozessbar.Value = "1"
TBM.SetProgressValue("1", "100")
End If
End Sub
Private Sub passwort_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles passwort.TextChanged
If passwort.Text <> "" And benutzername.Text <> "" Then
prozessbar.Value = "100"
TBM.SetProgressValue("100", "100")
Else
prozessbar.Value = "50"
TBM.SetProgressValue("50", "100")
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Message Box
If laufwerk_home.Checked = False And laufwerk_schueler.Checked = False And laufwerk_klasse.Checked = False Then
TBM.SetProgressState(TaskbarProgressBarState.Error)
MsgBox("Es wurde kein Laufwerk angegeben", vbCritical, Title:="Error")
TBM.SetProgressState(TaskbarProgressBarState.Normal)
Exit Sub
End If
If benutzername.Text = "" Or passwort.Text = "" Then
TBM.SetProgressState(TaskbarProgressBarState.Error)
MsgBox("Bitte geben Sie einen Benutzername und ein Passwort an.", vbCritical, Title:="Error")
TBM.SetProgressState(TaskbarProgressBarState.Normal)
Exit Sub
End If
TBM.SetProgressState(TaskbarProgressBarState.Indeterminate)
MsgBox("Es kann bis zu 30 Sekunden dauern, bis sich ein neues Fenster öffnet.", vbInformation, Title:="Information")
'Verbinden
Dim CMDString_home As String
Dim CMDString_klasse As String
Dim CMDString_schueler As String
Dim ordner_home As String
Dim ordner_klasse As String
Dim ordner_schueler As String
If laufwerk_home.Checked = True Then
ordner_home = "windows"
CMDString_home = "cmd.exe /C start explorer.exe ftp://" & benutzername.Text & ":" & passwort.Text & "@10.1.1.253/" & ordner_home
Shell(CMDString_home)
End If
If laufwerk_klasse.Checked = True Then
ordner_klasse = "tausch_klasse"
CMDString_klasse = "cmd.exe /C start explorer.exe ftp://" & benutzername.Text & ":" & passwort.Text & "@10.1.1.253/" & ordner_klasse
Shell(CMDString_klasse)
End If
If laufwerk_schueler.Checked = True Then
ordner_schueler = "tausch_schueler"
CMDString_schueler = "cmd.exe /C start explorer.exe ftp://" & benutzername.Text & ":" & passwort.Text & "@10.1.1.253/" & ordner_schueler
Shell(CMDString_schueler)
End If
TBM.SetProgressState(TaskbarProgressBarState.Normal)
End Sub
Ich bin mir nicht sicher obs erlaubt ist so ein Link hier zu Posten, als falls verboten ist, bitte nicht steinigen.
http://npshare.de/files/f098865e/WindowsAPICodePack.rar
Das sind die DLL Dateien, welche ich benutzt habe um die Windows 7 Taskleistenfunktion hin zu bekommen.
Mfg. Meight
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 155002
Url: https://administrator.de/contentid/155002
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
4 Kommentare
Neuester Kommentar
Moin,
wenn ich das richtig lese, ist dass der Grund warum ich noch mit der MFC programmier.
Wenn bei .net was mit der laufzeitumgebung nicht stimmt oder diese fehlt kommt nicht etwa eine fehlermeldung, sondern das Programm stürzt einfach ab.
Du mußte Deinem Freund auch die notwendigen .net runtimes geben (oder ihn runterladen lassen). runtime .net ?redistribution? oder so ähnlich
Stefan
wenn ich das richtig lese, ist dass der Grund warum ich noch mit der MFC programmier.
Wenn bei .net was mit der laufzeitumgebung nicht stimmt oder diese fehlt kommt nicht etwa eine fehlermeldung, sondern das Programm stürzt einfach ab.
Du mußte Deinem Freund auch die notwendigen .net runtimes geben (oder ihn runterladen lassen). runtime .net ?redistribution? oder so ähnlich
Stefan