[WP] Update functionality
This commit is contained in:
parent
dcd26b83aa
commit
2bbe2e023b
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||||
// übernehmen, indem Sie "*" eingeben:
|
// übernehmen, indem Sie "*" eingeben:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.3.1")]
|
[assembly: AssemblyVersion("1.0.3.2")]
|
||||||
[assembly: AssemblyFileVersion("1.0.3.1")]
|
[assembly: AssemblyFileVersion("1.0.3.2")]
|
||||||
|
29
Updater.cs
29
Updater.cs
@ -111,7 +111,7 @@ namespace BlubbFish.Utils {
|
|||||||
try {
|
try {
|
||||||
Stream stream = WebRequest.Create(this.url + "version.xml").GetResponse().GetResponseStream();
|
Stream stream = WebRequest.Create(this.url + "version.xml").GetResponse().GetResponseStream();
|
||||||
String content = new StreamReader(stream).ReadToEnd();
|
String content = new StreamReader(stream).ReadToEnd();
|
||||||
List<VersionInfo> updates = new List<VersionInfo>();
|
Boolean update = false;
|
||||||
XmlDocument doc = new XmlDocument();
|
XmlDocument doc = new XmlDocument();
|
||||||
doc.LoadXml(content);
|
doc.LoadXml(content);
|
||||||
foreach (XmlNode node in doc.DocumentElement.ChildNodes) {
|
foreach (XmlNode node in doc.DocumentElement.ChildNodes) {
|
||||||
@ -120,10 +120,11 @@ namespace BlubbFish.Utils {
|
|||||||
for(Int32 i=0;i<this.versions.Length;i++) {
|
for(Int32 i=0;i<this.versions.Length;i++) {
|
||||||
if (this.versions[i].GUID == guid && this.versions[i].Version != version) {
|
if (this.versions[i].GUID == guid && this.versions[i].Version != version) {
|
||||||
this.versions[i].HasUpdate = true;
|
this.versions[i].HasUpdate = true;
|
||||||
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (updates.Count > 0) {
|
if (update) {
|
||||||
this.UpdateResult(this, new UpdaterEventArgs(true, "Update verfügbar"));
|
this.UpdateResult(this, new UpdaterEventArgs(true, "Update verfügbar"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -141,12 +142,32 @@ namespace BlubbFish.Utils {
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Boolean Update(Boolean afterExit = true) {
|
public Boolean Update(Boolean afterExit = true) {
|
||||||
try {
|
try {
|
||||||
|
if (afterExit) {
|
||||||
} catch(Exception e) {
|
this.UpdateAfter();
|
||||||
|
} else {
|
||||||
|
this.UpdateNow();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
this.ErrorRaised?.Invoke(this, new UpdaterFailEventArgs(e));
|
this.ErrorRaised?.Invoke(this, new UpdaterFailEventArgs(e));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UpdateAfter() {
|
||||||
|
this.UpdateNow(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
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.
Loading…
Reference in New Issue
Block a user