meight
Goto Top

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

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.


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

Content-ID: 155002

Url: https://administrator.de/contentid/155002

Ausgedruckt am: 26.11.2024 um 12:11 Uhr

StefanKittel
StefanKittel 12.11.2010 um 23:10:21 Uhr
Goto Top
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 face-smile
Stefan
meight
meight 13.11.2010 um 02:01:33 Uhr
Goto Top
Zitat von @StefanKittel:
...
Du mußte Deinem Freund auch die notwendigen .net runtimes geben (oder ihn runterladen lassen). runtime .net ?redistribution?
...

Hallo,

Danke erst einmal für die Antwort.

Leider bin ich in VB noch nicht so begabt und "stehe grad voll aufm Schlauch" was du damit meinst, und wenn ich nach runtime .net redistribution google finde ich leider auch nix
wiesi200
wiesi200 13.11.2010 um 10:59:34 Uhr
Goto Top
Hallo

Such einfach mal nach .net Framework
StefanKittel
StefanKittel 13.11.2010 um 11:40:10 Uhr
Goto Top
Moin,
Such mal bei Google nach .net redistributable und welche Version Du verwendest 2, 3 oder 4 mußt Du leider selber wissen...