Ich muss mich leider nach langem testen hier auch einmal melden. Ich habe meine Software mit einem Setup ausgerollt. Nun soll ein Update erscheinen, was leider nicht klappt. Über die Administration ist alles ordnungsgemäß eingestellt und er lädt auch scheinbar Daten herunter, die jedoch nie im Verzeichnis ankommen. Starte ich das Programm nach dem Update erneut habe ich immer noch die alte Version.
Die Version ermittle ich wie folgt:
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
Das Update wird mit folgenden Code angeschoben:
var updateController = new updateSystemDotNet.updateController("http://update.meineDomain.de/Mein Produkt/");
updateController.releaseFilter.checkForAlpha = false;
updateController.releaseFilter.checkForBeta = false;
updateController.releaseFilter.checkForFinal = true;
updateController.projectId = "Meine ID";
updateController.publicKey = "Mein Key";
updateController.requestElevation = true;
updateController.restartApplication = true;
updateController.autoCloseHostApplication = true;
if (updateController.isUpdateDownloaderBusy)
return;
updateController.updateInteractive(this);
Unklar ist auch, wie ich Daten in einem Unterverzeichnis aktualisieren kann. Ich kann zwar einen Ordner auswählen von dem dann der Inhalt erscheint aber wird die Struktur dann auf dem zu aktualisierendem System beibehalten?
EDIT:
Ich habe mal weiter rumgespielt und dabei folgendes herausgefunden. Mein Update funktioniert, wenn ich nur Dateien im Hauptverzeichnis aktualisieren möchte. Unterorder haben bis zu dem Zeitpunkt geklappt, an dem ich eine weitere nicht im Setup gewesene Datei in das Update-Projekt hinzugefügt habe. Seit dem werden die Dateien, die in einen Unterordner sollen auch im Hauptverzeichnis abgelegt.
Meine Idee war nun, das ich mir einfach ein gleichnamiges Verzeichnis erstelle und dort die Dateien ablege. Das führt aber zu einem Fehler beim Versuch das Update zu installieren, weil es den Ordner ja schon gibt. Ein schwerwiegender Folgefehler ist, dass das Update nicht zurückgerollt wird und meine Applikation damit nicht mehr lauffähig ist, weil unteranderem die Anwendungsdatei (exe) schon entfernt war.