Visual Studio | Windows Updates auslesen und runterladen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Visual Studio | Windows Updates auslesen und runterladen

    Heyho Leute. Ich versuch seit ner Zeit einen Windows Updater aus Langeweile zu Programmieren.Leider hab ich das Problem wenn ich das Programm debugge bekomm ich in Visual Studio die Meldung:

    VB.NET-Quellcode

    1. ​System.UnauthorizedAccessException

    Habe versucht das Programm mit Administrator zu öffnen bekomme aber die Meldung:
    Achtung etwas länger;)

    VB.NET-Quellcode

    1. ​Informationen über das Aufrufen von JIT-Debuggen
    2. anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
    3. ************** Ausnahmetext **************
    4. System.IO.FileNotFoundException: Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002)
    5. bei Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
    6. bei Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
    7. bei WindowsApplication3.Form1.Button1_Click(Object sender, EventArgs e) in c:\users\codex\documents\visual studio 2013\Projects\WindowsApplication3\WindowsApplication3\Form1.vb:Zeile 12.
    8. bei System.Windows.Forms.Control.OnClick(EventArgs e)
    9. bei System.Windows.Forms.Button.OnClick(EventArgs e)
    10. bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    11. bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    12. bei System.Windows.Forms.Control.WndProc(Message& m)
    13. bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
    14. bei System.Windows.Forms.Button.WndProc(Message& m)
    15. bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    16. bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    17. bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    18. ************** Geladene Assemblys **************
    19. mscorlib
    20. Assembly-Version: 4.0.0.0.
    21. Win32-Version: 4.0.30319.18408 built by: FX451RTMGREL.
    22. CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
    23. ----------------------------------------
    24. WindowsApplication3
    25. Assembly-Version: 1.0.0.0.
    26. Win32-Version: 1.0.0.0.
    27. CodeBase: file:///C:/Users/CodeX/Documents/Visual Studio 2013/Projects/WindowsApplication3/WindowsApplication3/bin/Debug/WindowsApplication3.exe.
    28. ----------------------------------------
    29. Microsoft.VisualBasic
    30. Assembly-Version: 10.0.0.0.
    31. Win32-Version: 11.0.50938.18408 built by: FX451RTMGREL.
    32. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
    33. ----------------------------------------
    34. System
    35. Assembly-Version: 4.0.0.0.
    36. Win32-Version: 4.0.30319.18408 built by: FX451RTMGREL.
    37. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
    38. ----------------------------------------
    39. System.Core
    40. Assembly-Version: 4.0.0.0.
    41. Win32-Version: 4.0.30319.18408 built by: FX451RTMGREL.
    42. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
    43. ----------------------------------------
    44. System.Windows.Forms
    45. Assembly-Version: 4.0.0.0.
    46. Win32-Version: 4.0.30319.18408 built by: FX451RTMGREL.
    47. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
    48. ----------------------------------------
    49. System.Drawing
    50. Assembly-Version: 4.0.0.0.
    51. Win32-Version: 4.0.30319.18408 built by: FX451RTMGREL.
    52. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
    53. ----------------------------------------
    54. System.Runtime.Remoting
    55. Assembly-Version: 4.0.0.0.
    56. Win32-Version: 4.0.30319.34108 built by: FX45W81RTMGDR.
    57. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
    58. ----------------------------------------
    59. mscorlib.resources
    60. Assembly-Version: 4.0.0.0.
    61. Win32-Version: 4.0.30319.18408 built by: FX451RTMGREL.
    62. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
    63. ----------------------------------------
    64. System.Windows.Forms.resources
    65. Assembly-Version: 4.0.0.0.
    66. Win32-Version: 4.0.30319.18408 built by: FX451RTMGREL.
    67. CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
    68. ----------------------------------------
    69. ************** JIT-Debuggen **************
    70. Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
    71. Konfigurationsdatei der Anwendung oder des Computers
    72. (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
    73. Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.
    74. Zum Beispiel:
    75. <configuration>
    76. <system.windows.forms jitDebugging="true" />
    77. </configuration>
    78. Wenn das JIT-Debuggen aktiviert ist, werden alle Ausnahmefehler an den JIT-Debugger gesendet, der auf dem
    79. Computer registriert ist, und nicht in diesem Dialogfeld behandelt.


    Mein Code:

    VB.NET-Quellcode

    1. ​Dim UpdateSession = CreateObject("Microsoft.Update.Session")
    2. Dim UpdateServiceManager = CreateObject("Microsoft.Update.ServiceManager")
    3. Dim UpdateService = UpdateServiceManager.AddScanPackageService("Offline Sync Service", "c:\wsusscn2.cab")
    4. Dim UpdateSearcher = UpdateSession.CreateUpdateSearcher()
    5. TextBox1.Text = "Searching for Updates..." & vbCrLf
    6. UpdateSearcher.ServerSelection = 3
    7. UpdateSearcher.ServiceID = UpdateService.ServiceID
    8. Dim SearchResult = UpdateSearcher.Search("IsInstalled=0")
    9. Dim Updates = SearchResult.Updates
    10. If SearchResult.Updates.Count = 0 Then
    11. TextBox1.Text = TextBox1.Text & "Es sind keine Verfügbaren Updates"
    12. End If
    13. For I = 0 To SearchResult.Updates.Count - 1
    14. Dim update = SearchResult.Update.Item(I)
    15. TextBox1.Text = TextBox1.Text & I + 1 & "> " & update.Title
    16. Next


    Hab das von der Seite: Klick mich von einem VB Skript in ein VB Programm umzuschreiben.Vielleicht kann mir da jemand helfen..
    Schalte mal Option Strict On. Ein Integer ist kein String und Objects sollte man auch vermeiden, grade so VB6-Zeugs.
    Die Datei existiert halt nicht, ist der Ort (Pfad), auf den Du zugreifst evtl. falsch?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Fehler 11 "Option Strict On" lässt keine Operanden des Typs "Object" für den +-Operator zu. C:\Users\CodeX\documents\visual studio 2013\Projects\WindowsApplication3\WindowsApplication3\Form1.vb 22 45 WindowsApplication3

    Das war die Zeile:

    VB.NET-Quellcode

    1. ​TextBox1.Text = TextBox1.Text & I + 1 & "> " & update.Title


    und ganz oft sowas:
    Fehler 2 "Option Strict On" lässt spätes Binden nicht zu. C:\Users\CodeX\documents\visual studio 2013\Projects\WindowsApplication3\WindowsApplication3\Form1.vb 10 30 WindowsApplication3
    Du musst die Variablen auch richtig konvertieren. TextBox.Text erwartet einen String. Vorher wurde dir der Fehler nicht angezeigt, da Option Strict Off schmutzigen Code zulässt. Option Strict On ist da nicht so tollerant. Das bedeutet: Integer immer mit ​.ToString in einen String konvertieren.
    TextBox1.Text = TextBox1.Text & I.ToString + 1 & "> " & update.Title
    Fehler:
    Fehler 11 "Option Strict On" lässt keine impliziten Konvertierungen von String in Double zu. C:\Users\CodeX\documents\visual studio 2013\Projects\WindowsApplication3\WindowsApplication3\Form1.vb 22 45 WindowsApplication3

    Soll ich den Vorschlag:
    CDbl(I.ToString()) annehmen :o ?


    Dann wären immernoch die Fehler, dass er spätes Binden nicht zulässt D:
    Also, TextBox.Text ist eine Eigenschaft einer TextBox. Sie erwartet einen String. Ein String ist einer von vielen Datentypen. In einen String kannst du Zeichenketten schreiben z.B.: "abc".

    Quellcode

    1. ​TextBox1.Text = TextBox1.Text & I + 1 & "> " & update.Title

    Mit dieser Zeile weist du der Text-Eigenschaft von TextBox1 aber einen String(TextBox1.Text​) und einen Integer (​I + 1) zu.
    Das funktioniert aber nicht, da ein String eben nur einen String und nicht einen String und einen Integer beinhalten kann. Wenn du jetzt in Mathe aufgepasst hast, kennst du sicher die Funktion von Klammern. Somit kannst du jetzt ganz einfach folgendes machen:

    Quellcode

    1. TextBox1.Text = TextBox1.Text & (I + 1).ToString & "> " & update.Title

    So fasst du die beiden Integer zusammen und wandelst sie in einen String um. Ich hoffe das war verständlich ^^
    Nein, Damit würdest du eine Zahl zum Text und dann wieder zu einer Zahl konvertieren. Du musst das ganze berechnen, bevor du umwandelst.

    VB.NET-Quellcode

    1. TextBox1.Text = TextBox1.Text & (I + 1).ToString & "> " & update.Title
    Alle Angaben sind ohne Gewähr, jedoch mit Pistole. Glücksspiel, Drogen und leckeres Essen können süchtig machen.

    43232069737420636f6f6c21
    Tipp: Bevor wir hier lange rumknabbern und Dir helfen wollen, eigene Dir die Grundlagen an, sonst hat das bis hier keinen Sinn, denn Du musst in der Lage sein, Dir dein Zeugs selbst zu beschaffen und nicht Beispiele zu kopieren.
    microsoft.com/germany/visualst…how.aspx?id=msdn_de_49057

    Spätes Binden ist übr. auf Objects zurückzuführen, weil diese jeden Typ annehmen können.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: