Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3358262211 | ||
|
|
2bbe2e023b |
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.3.1")]
|
||||
[assembly: AssemblyFileVersion("1.0.3.1")]
|
||||
[assembly: AssemblyVersion("1.0.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.4.0")]
|
||||
|
||||
+46
-6
@@ -1,6 +1,5 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Reflection;
|
||||
@@ -55,8 +54,13 @@ namespace BlubbFish.Utils {
|
||||
/// <summary>
|
||||
/// Waits for the Result of the Updater thread.
|
||||
/// </summary>
|
||||
public void WaitForExit() {
|
||||
public void WaitForExit(Boolean exceuteUpdate = true) {
|
||||
while (this.t.ThreadState == ThreadState.Running) { }
|
||||
if(exceuteUpdate) {
|
||||
if(File.Exists("update.bat")) {
|
||||
System.Diagnostics.Process.Start("update.bat");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -107,11 +111,11 @@ namespace BlubbFish.Utils {
|
||||
}
|
||||
|
||||
private void Runner() {
|
||||
Thread.Sleep(1);
|
||||
Thread.Sleep(1000);
|
||||
try {
|
||||
Stream stream = WebRequest.Create(this.url + "version.xml").GetResponse().GetResponseStream();
|
||||
String content = new StreamReader(stream).ReadToEnd();
|
||||
List<VersionInfo> updates = new List<VersionInfo>();
|
||||
Boolean update = false;
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(content);
|
||||
foreach (XmlNode node in doc.DocumentElement.ChildNodes) {
|
||||
@@ -120,10 +124,11 @@ namespace BlubbFish.Utils {
|
||||
for(Int32 i=0;i<this.versions.Length;i++) {
|
||||
if (this.versions[i].GUID == guid && this.versions[i].Version != version) {
|
||||
this.versions[i].HasUpdate = true;
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (updates.Count > 0) {
|
||||
if (update) {
|
||||
this.UpdateResult(this, new UpdaterEventArgs(true, "Update verfügbar"));
|
||||
return;
|
||||
}
|
||||
@@ -141,12 +146,47 @@ namespace BlubbFish.Utils {
|
||||
/// <returns></returns>
|
||||
public Boolean Update(Boolean afterExit = true) {
|
||||
try {
|
||||
|
||||
if (afterExit) {
|
||||
this.UpdateAfter();
|
||||
} else {
|
||||
this.UpdateNow();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
this.ErrorRaised?.Invoke(this, new UpdaterFailEventArgs(e));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void UpdateAfter() {
|
||||
this.UpdateNow(true);
|
||||
StreamWriter update = new StreamWriter("update.bat", false);
|
||||
update.WriteLine("echo off");
|
||||
update.WriteLine("echo \"Warte 10s\"");
|
||||
update.WriteLine("ping 127.0.0.1 -n 10");
|
||||
update.WriteLine("echo \"Kopiere Dateien....\"");
|
||||
foreach (VersionInfo file in this.versions) {
|
||||
if (file.HasUpdate) {
|
||||
update.WriteLine("echo \"Kopiere " + file.Filename + "\"");
|
||||
update.WriteLine("del " + file.Filename);
|
||||
update.WriteLine("move " + file.Filename + "_ " + file.Filename);
|
||||
}
|
||||
}
|
||||
update.WriteLine("start cmd /C ping 127.0.0.1 -n 10 & del update.bat");
|
||||
update.Flush();
|
||||
update.Close();
|
||||
}
|
||||
|
||||
private void UpdateNow(Boolean forAfter = false) {
|
||||
foreach (VersionInfo file in this.versions) {
|
||||
if (file.HasUpdate) {
|
||||
Stream stream = WebRequest.Create(this.url + file.Filename).GetResponse().GetResponseStream();
|
||||
FileStream target = new FileStream(file.Filename + (forAfter ? "_" : ""), FileMode.Create);
|
||||
stream.CopyTo(target);
|
||||
target.Flush();
|
||||
target.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user