Hallo zusammen,
das hier ist mein erster Post in dieser Community, also bitte nicht gleich verklagen ^^.
Ich hoffe ich bin im richtigen Forum sonst bitte verschieben.
Ich habe ein kleines Problem. Ich bin seid mehreren Tagen dabei einen Launcher zu erstellen und es klappt auch alles wunderbar, nur mein Updater will nicht so ganz wie ich es will.
Ich habe als Main Programm meinen Launcher der einen Versions Check vornimmt und sobald ich die "version.ini" von 1.0.0.3 auf 1.0.0.4 vergrößere, soll das Main Programm ein zweites Programm Downloaden "Updater Programm" und ihn öffnen.
Sobald der Updater offen ist soll er das Main Programm im Prozess Killen, dann löschen und die neue Version downloaden.
Das ganze klappt auch wunderbar, sobald es bis dorthin durchgelaufen ist kommt eine Fehlermeldung "System.IO.IOException: Der Prozess kann nicht auf die Datei "F:\VisualStudioProjekte\Launcher Updater\bin\Debug\GSLauncher.exe" zugreifen, da sie von einem anderen Prozess verwendet wird."
Ich habe nach dem Prozess gesucht und es ist definitiv keiner offen, der mit einen der Programmen zutun hat. Mein Latein ist da ein wenig am ende, vielleicht habt ihr eine Idee/Lösung ich Poste mal alles was ich habe.
Ich wäre euch für Idee Idee/Tipp dankbar.
Komplette Fehlermeldung:
Main Programm Update Check:
Updater Programm:
Ich habe zwar gesehen in welcher Zeile er ein Problem hat, ich habe keine Idee wie ich das lösen könnte.
PLS HELP
LG Knox
*Topic verschoben*
das hier ist mein erster Post in dieser Community, also bitte nicht gleich verklagen ^^.
Ich hoffe ich bin im richtigen Forum sonst bitte verschieben.
Ich habe ein kleines Problem. Ich bin seid mehreren Tagen dabei einen Launcher zu erstellen und es klappt auch alles wunderbar, nur mein Updater will nicht so ganz wie ich es will.
Ich habe als Main Programm meinen Launcher der einen Versions Check vornimmt und sobald ich die "version.ini" von 1.0.0.3 auf 1.0.0.4 vergrößere, soll das Main Programm ein zweites Programm Downloaden "Updater Programm" und ihn öffnen.
Sobald der Updater offen ist soll er das Main Programm im Prozess Killen, dann löschen und die neue Version downloaden.
Das ganze klappt auch wunderbar, sobald es bis dorthin durchgelaufen ist kommt eine Fehlermeldung "System.IO.IOException: Der Prozess kann nicht auf die Datei "F:\VisualStudioProjekte\Launcher Updater\bin\Debug\GSLauncher.exe" zugreifen, da sie von einem anderen Prozess verwendet wird."
Ich habe nach dem Prozess gesucht und es ist definitiv keiner offen, der mit einen der Programmen zutun hat. Mein Latein ist da ein wenig am ende, vielleicht habt ihr eine Idee/Lösung ich Poste mal alles was ich habe.
Ich wäre euch für Idee Idee/Tipp dankbar.
Komplette Fehlermeldung:
Quellcode
- Informationen über das Aufrufen von JIT-Debuggen
- anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
- ************** Ausnahmetext **************
- System.IO.IOException: Der Prozess kann nicht auf die Datei "F:\VisualStudioProjekte\Launcher Updater\bin\Debug\GSLauncher.exe" zugreifen, da sie von einem anderen Prozess verwendet wird.
- bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
- bei System.IO.File.InternalDelete(String path, Boolean checkHost)
- bei System.IO.File.Delete(String path)
- bei Launcher_Updater.Form1.getUpdate() in F:\VisualStudioProjekte\Launcher Updater\Form1.vb:Zeile 35.
- bei Launcher_Updater.Form1.Form1_Load(Object sender, EventArgs e) in F:\VisualStudioProjekte\Launcher Updater\Form1.vb:Zeile 23.
- 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.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: 4.0.0.0.
- Win32-Version: 4.8.4018.0 built by: NET48REL1LAST_C.
- CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
- ----------------------------------------
- GSLauncherUpdater
- Assembly-Version: 1.0.0.0.
- Win32-Version: 1.0.0.0.
- CodeBase: file:///F:/VisualStudioProjekte/Launcher Updater/bin/Debug/GSLauncherUpdater.exe.
- ----------------------------------------
- Microsoft.VisualBasic
- Assembly-Version: 10.0.0.0.
- Win32-Version: 14.8.3752.0 built by: NET48REL1.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
- ----------------------------------------
- System
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.4001.0 built by: NET48REL1LAST_C.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
- ----------------------------------------
- System.Core
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.4018.0 built by: NET48REL1LAST_C.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
- ----------------------------------------
- System.Windows.Forms
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.4001.0 built by: NET48REL1LAST_C.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
- ----------------------------------------
- System.Drawing
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.3752.0 built by: NET48REL1.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
- ----------------------------------------
- System.Configuration
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.3752.0 built by: NET48REL1.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
- ----------------------------------------
- System.Xml
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.3752.0 built by: NET48REL1.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll.
- ----------------------------------------
- System.Runtime.Remoting
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.3752.0 built by: NET48REL1.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
- ----------------------------------------
- mscorlib.resources
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.3752.0 built by: NET48REL1.
- CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
- ----------------------------------------
- System.Windows.Forms.resources
- Assembly-Version: 4.0.0.0.
- Win32-Version: 4.8.3752.0 built by: NET48REL1.
- 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.
- ----------------------------------------
- ************** 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.
Main Programm Update Check:
VB.NET-Quellcode
- Public Class UpdateCheck
- 'Check Updates
- Dim dirPath As String = My.Application.Info.DirectoryPath
- Dim tool As String = dirPath + "\GSLauncherUpdater.exe"
- Dim wClient As New System.Net.WebClient
- Private Sub UpdateCheck_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- If System.IO.File.Exists(tool) Then
- System.IO.File.Delete(tool)
- End If
- checkUpdates()
- End Sub
- Public Sub checkUpdates()
- Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://LINKPFAD/version.ini")
- Dim response As System.Net.HttpWebResponse = request.GetResponse()
- Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
- Dim newestversion As String = sr.ReadToEnd()
- Dim currentversion As String = Application.ProductVersion
- If newestversion.Contains(currentversion) Then
- Form1.Show()
- TimerOK.Start()
- Else
- wClient.DownloadFileAsync(New Uri("https://LINKPFAD/GSLauncherUpdater.exe"), dirPath + "\GSLauncherUpdater.exe")
- TimerUpdater.Start()
- End If
- End Sub
- Private Sub TimerUpdater_Tick(sender As Object, e As EventArgs) Handles TimerUpdater.Tick
- Process.Start(dirPath + "\GSLauncherUpdater.exe")
- Application.Exit()
- End Sub
- Private Sub TimerOK_Tick(sender As Object, e As EventArgs) Handles TimerOK.Tick
- Me.Hide()
- End Sub
- End Class
Updater Programm:
VB.NET-Quellcode
- Public Class Form1
- Dim directoryPath As String = My.Application.Info.DirectoryPath
- Dim wCLient As New System.Net.WebClient
- Dim tool As String = directoryPath + "\GSLauncher.exe" 'Launcher Pfad -> tool
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- For Each proc As Process In Process.GetProcesses
- If proc.ProcessName = "GSLauncher" Then
- proc.Kill()
- getUpdate()
- Else
- getUpdate()
- End If
- Next
- End Sub
- Public Sub getUpdate()
- If System.IO.File.Exists(tool) Then
- System.IO.File.Delete(tool)
- wCLient.DownloadFileAsync(New Uri("https://LINKPFAD/GSLauncher.exe"), directoryPath + "\GSLauncher.exe")
- TimerLauncher.Start()
- Else
- System.IO.File.Delete(tool)
- wCLient.DownloadFileAsync(New Uri("https://LINKPFAD/GSLauncher.exe"), directoryPath + "\GSLauncher.exe")
- TimerLauncher.Start()
- End If
- End Sub
- Private Sub TimerLauncher_Tick(sender As Object, e As EventArgs) Handles TimerLauncher.Tick
- Process.Start(directoryPath + "\GSLauncher.exe")
- Application.Exit()
- End Sub
- End Class
Ich habe zwar gesehen in welcher Zeile er ein Problem hat, ich habe keine Idee wie ich das lösen könnte.
PLS HELP
LG Knox
*Topic verschoben*
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „EaranMaleasi“ ()