Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
updateSystem.NET
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 7290
Herkunft: Esslingen

beantworten | zitieren | melden

Hallo,
Zitat von michlG
.. z.B. gibt es in WPF noch keinen OpenFileDialog (ausser von dritterherstellern) stattdessen verwendet man einfach immer noch die WinForms-Variante

Das ist nicht wahr. Für WPF befindet sich der OpenFileDialog im Microsoft.Win32 Namespace. Aber ganz falsch ist die Aussage auch nicht, da beide Dialoge nur nen Wrapper um die WinApi sind, und daher schon fast das gleiche ;)

Zum Thema: Wie michlG schon gesagt hat ist es problemlos möglich ganze Fenster der jeweils anderen GUI-Technologie anzeigen zu lassen. Unter Umständen muss man aber die jeweilig Applikation durch aufrufen der Run Methode starten, da unter Windows Forms z.B. sonst keine Window Messages etc. verarbeitet werden.

Selbst wenn die Windows Forms Anwendung tut in WPF, sollte man trotzdem ne WPF Lösung präferieren weil man so nicht die, fürs eigentliche Programm an sich irrelevanten, Abhängigkeiten zu Windows Forms hat.
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers
double00
myCSharp.de - Member

Avatar #avatar-2651.gif


Dabei seit:
Beiträge: 24
Herkunft: Dresden

beantworten | zitieren | melden

Zitat von Maximilian
ich fürchte das Problem liegt an dem nicht vorhandenen WPF Support. Ob, und wenn ja wann ich WPF unterstütze weiß ich noch nicht und möchte mich da derzeit mangels Zeit nicht festlegen. Sorry.

Hi,

danke für deine Antwort. Muss ich damit leben ;)

Und habe es gerade auch mal so ausprobiert wie es michlG gesagt hat und muss sagen, dass es tadellos funktioniert.

Grüße dbl00
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von double00 am .
private Nachricht | Beiträge des Benutzers
baer999
myCSharp.de - Member



Dabei seit:
Beiträge: 382

beantworten | zitieren | melden

So habe meine Probleme jetzt soweit gelöst, aber da kommt schon das nächste : )

Ich habe meine Anwendung im aktuellen Stand als Version 1.0.0.0 als Updatepaket einem Projekt hinzugefügt. Das habe ich dadurch gemacht, dass ich "Dateien kopieren und ersetzen" ausgewählt habe und die Exe in einen Ordner im Appverzeichnis hinzugefügt habe, ist das so korrekt?

Anschließend habe ich eine neue Version compiliert und ein neues Updatepaket (1.0.0.1) geschnürt. Die neue Exe als "Dateien kopieren und ersetzen" Dateil hinzugefügt und abgeschlossen.

Allerdings wird beim Updatesuchvorgang jetzt immer gesagt ich habe mit der 1.0.0.0 immer noch die aktuellste Version, obwohl schon zwei Versionen auf dem Server liegen...

woran kann das liegen, was könnte ich falsch gemacht haben?

Außerdem wollte ich mal noch wissen, ob man die "Update.xml" auch woanders als im Root Verzeichnis der verwendeten Festplatte ablegen kann? thx
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hey bear999,
Zitat
Ich habe meine Anwendung im aktuellen Stand als Version 1.0.0.0 als Updatepaket einem Projekt hinzugefügt. Das habe ich dadurch gemacht, dass ich "Dateien kopieren und ersetzen" ausgewählt habe und die Exe in einen Ordner im Appverzeichnis hinzugefügt habe, ist das so korrekt?
Vom Vorgehen her eigentlich schon, aber wenn 1.0.0.0 die Initialversion ist, dann musst du diese nicht im updateDesigner anlegen. Die hat der Benutzer ja dann automisch schon via Setup, oder wie auch immer du deine Anwendungen verteilst, bezogen :)
Zitat
Allerdings wird beim Updatesuchvorgang jetzt immer gesagt ich habe mit der 1.0.0.0 immer noch die aktuellste Version, obwohl schon zwei Versionen auf dem Server liegen...
Hm, dass ist komisch. Hast du evtl. bei dem neuen Updatepaket den Releasetyp auf Beta oder Alpha gestellt?
Zitat
Außerdem wollte ich mal noch wissen, ob man die "Update.xml" auch woanders als im Root Verzeichnis der verwendeten Festplatte ablegen kann?
Öhm ... das ist die Sache des FTP Servers wo er auf dem Server das Rootverzeichnis definiert. Natürlich kannst du auch die Updatedateien in Unterordner auf dem Server packen. Die müssen dann natürlich auch via HTTP erreichbar sein. Was nutztn du als FTP-Server Software?

Cheerio
private Nachricht | Beiträge des Benutzers
baer999
myCSharp.de - Member



Dabei seit:
Beiträge: 382

beantworten | zitieren | melden

Ich habe immer noch Probleme beim Automatischen Update, ich habe hier im Screenshot mal einige Infos zusammengefasst:

Der Fehler "D:\Update.xml" kommt immer, sobald ich diese Datei aus dem D:\ Verzeichnis herausnehme, ansonsten sagt mir der Updater ich habe mit der 1.0.0.0 die neueste Version...

Die Daten habe ich für den Server alle vollständig angegeben, deshalb wundere ich mich, dass diese Update.xml nicht auch dort abliegt, sondern im D:\ Verzeichnis.

Ich vermute mal, dass deshalb die Version 1.0.0.1 nicht korrekt als neueste Version erkannt wird. Oder wie funktioniert das Programm grundsätzlich, also welche Datei wird geprüft wegen den Versionen?

Vielen Dank


Achja hier mein Quellcode zum Update aufrufen:

        private void aufUpdatesÜberprüfenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            updateController1 = new updateSystemDotNet.updateController();
            updateController1.checkForUpdatesDialog();
        }
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von baer999 am .
Attachments
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Hi, ich habe ein Problem mit der Konfiguration des Updaters.

Wenn ich bei Update-URL meine Domain eintrage, die auch existiert!

Bekomme ich immer folgende Fehlermeldung wenn ich sie prüfen will:
Zitat
Es ist ein Fehler aufgetreten!
updateSystemDotNet.Designer.base.designerActionExeption: Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar (z.B. nicht gefunden oder kein Zugriff).

Aber welche Datei ist den nicht verfügbar? Welche muss denn dahin?

Bin die Sache mit dem Assistenen Xmal durchgegangen und es will einfach nicht funktionnieren.

Und überhaupt eine Frage zu dem System, was soll das eigentlich, mit FTP und HTTP, wo kommen den nun letztendlich die Updates drauf und wieso kann man nicht HTTP oder FTP verwenden, anstatt beides gleichzeitig?
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hey baer,
dein Aufruf ist falsch, du erstellt dabei ja eine komplett neue Instanz des updateControllers welche logischer Weise nicht die Url oder sonst welche Einstellungen kennt. Warum er dann allerdings von D:\ ausgeht finde ich sehr mysteriös. Versuche es einfach nochmal aber nimm die erste Zeile mit dem new updateController() raus. Daran wird es vermutlich auch liegen das er keine Updates findet.
Du solltest auch den letzten Aufruf durch updateController1.checkForUpdatesInteractive() ersetzen, denn mit deiner Variante erscheint ausschließlich der "Update suchen"-Dialog aber nichts weiter :-)
Zitat
Ich vermute mal, dass deshalb die Version 1.0.0.1 nicht korrekt als neueste Version erkannt wird. Oder wie funktioniert das Programm grundsätzlich, also welche Datei wird geprüft wegen den Versionen?
Es gibt zwei Möglichkeiten wie der updateController die aktuelle Version ermitteln kann:
1: Du gibst sie fest in der Eigenschaft releaseInfo.Version des updateControllers an.
2: Du setzt die Eigenschaft retrieveHostVersion des updateControllers auf True. Dabei wird dann automatisch die Version des aufrufenden Assemblies verwendet.

Hi Alfons,
deine letzte Frage mal zuerst um Mißverständnissen vorzubeugen:
Zitat
Und überhaupt eine Frage zu dem System, was soll das eigentlich, mit FTP und HTTP, wo kommen den nun letztendlich die Updates drauf und wieso kann man nicht HTTP oder FTP verwenden, anstatt beides gleichzeitig?
Der updateDesigner verwendet zur kompletten Kommunikation mit dem Server ausschließlich FTP. Warum du dann aber eine HTTP Url während der Einrichtung und in den Einstellungen angeben musst? Dies dient nur der Erleichterung bei dem Kopieren der Einstellungen in die Zwischenablage und dann in den updateController. Für den updateDesigner ist diese Information nicht relevant. Man kann es also darauf reduzieren: updateDesigner: FTP only. updateController: HTTP only.
Zitat
Bekomme ich immer folgende Fehlermeldung wenn ich sie prüfen will:
Wann genau bekommst du diese? Beim erstellen, beim öffnen oder ganz wo anders?
[offtopic]P.S.: Du bist nicht der, der mir Heute Nachmittag ne E-Mail geschrieben hat? Der Text kommt mir zum Teil so bekannt vor...[/offtopic]
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Maximilian am .
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Achso, danke für den Hinweis

Beim Erstellen mit dem Assistenten, wo man am Anfang die URL Angeben muss, ist alles in Ordnung, auch bei dem FTP Server. Nun habe ich die Sache mit dem Zwischenspeicher und dem Laden in Visual Studios auch hingekriegt.
Das heißt das Projekt ist ohne Fehlermeldung erstellt worden.

Wenn ich aber nun bei dem fertig erstellten Projekt, in dem Reiter "Informationen" auf Adresse überpüfen klicke, kriege ich eben diese Fehlermeldung.
Auch wenn ich ein Update hinzufügen will, im Reiter "Updates" kriege ich die Fehlermeldung.

Was ich irgendwie merkwürdig finde.

Und achja der Pfad ist mit http:// angegeben

[Offtopic]Ja genau der bin ich ;-), ich dachte nur, ich setze meine Frage zusätzlich nochmal ins Forum hier rein[/Offtopic]
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hmm, du bekommst bei der Überprüfung und bei dem Erstellen von Updates exakt die gleiche Fehlermeldung? Das find ich recht merkwürdig. Dieser 550-Serverfehler ist mir leider sogar bekannt. Es gab schon ein paar wenige die den auch bekamen. Allerdings gelang es mir bis jetzt noch nicht diesen Fehler in irgendeiner Weise nachzuvollziehen- bzw. reproduzieren zu können. Das ist das blöde. Hast du in der FTP-Adresse evtl. Leer- oder andere Sonderzeichen?
[offtopic]Ok, gut das ich gefragt habe, sonst hätte ich dir zwei Mal geantwortet ^^[/offtopic]
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Maximilian am .
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Nein, es ist eine "gewöhnliche" und Leer- und Sonderzeichen.

Die FTP Verbindung klappt ja auch Einwandfrei, er erkennt den Pfad mit der richtigen Authentifizierung. Was mich da aber stutzig macht, das er beim hinzufügen der Updates die HTTP-Adresse verlangt...

Oder mal andersrum, was versucht er denn von der HTTP-Adresse zu bekommen?
Weil verfügbar ist sie auf jedenfall, habe es auch mal direkt aus dem Root-Verzeichnis der URL probiert, aber leider auch ohne Erfolg. Kann man die Dateien die er sucht vielleicht manuell dahin kopieren?


Oder kann es sein, das man neben dem Port 80 noch einen anderen braucht? Weil das ganze ist ein Linux-Server mit Apache2. Dann könnte es vielleicht an den Berechtigungen liegen.
private Nachricht | Beiträge des Benutzers
baer999
myCSharp.de - Member



Dabei seit:
Beiträge: 382

beantworten | zitieren | melden

Wie kann sich der Updater die Version richtig merken, damit er auch nur wirkliich neue Versionen als "zu-installieren" markiert?!

Ich lege bei den Aktionen einen Schlüssel in der Registry an, was muss ich bei den Übergabewerten eingeben und wie kann ich die Installation ID herausfinden? Ändert sich diese ID auf anderen PCs?
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hallo Alfons,
Zitat
Was mich da aber stutzig macht, das er beim hinzufügen der Updates die HTTP-Adresse verlangt...
Warum das so ist, habe ich ja bereits ein paar Posts weiter oben erklärt, der Designer verwendet diese ausschließlich beim Kopieren in die Zwischenablage.

Bei der Prüfung wird nur geschaut ob die update.xml an der Adresse existiert. Also wenn du deine Updates nach http://meineurl.de/meineApp/updates schiebst wird geschaut ob http://meineurl.de/meineApp/updates/update.xml existiert. An den Ports kann es auch nicht liegen, die Prüfung läuft über den Standard 80er Port.

Wie gehst du denn ins Internet (DSL, Surfstick, etc.), neulich hatte ein bekannter ein ähnliches Problem und da lag das an der UMTS Verbindung das sich der FTPClient nicht verbinden konnte bzw. genau diese Fehlermeldung geschmissen hat. Kurioser Weise hat das da funktioniert wenn zur gleichen Zeit ein "Ping" lief.

Hallo baer999,
Zitat
Wie kann sich der Updater die Version richtig merken, damit er auch nur wirkliich neue Versionen als "zu-installieren" markiert?!
In dem du ihm die aktuelle Programmversion übergibst?!? Setze einfach die bereits erwähnte Eigenschaft retrieveHostVersion auf True, dann wird immer die Version verwendet, welche du im Visual Studio unter den Projekteigenschaft angibst.
Zitat
Ich lege bei den Aktionen einen Schlüssel in der Registry an, was muss ich bei den Übergabewerten eingeben und wie kann ich die Installation ID herausfinden? Ändert sich diese ID auf anderen PCs?
Was meinst du für Übergabewerte?
Die Installations ID ist die einmalige Kennung deiner Anwendung in den Uninstallinformationen in der Registry, die wird vom Installationsprogramm vergeben und ist auf jedem PC gleich. Welche Anwendung nutzt du denn für die Erstellung deiner Setups?

Cheerio
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Ne, ich gehe ganz normal ohne UMTS ins Internet.

Bin momentan nicht Zuhause, aber ich meine, in der FTP-Adresse wäre so eine Update.xml, das heißt wenn ich Zuhause bin, probier ich mal die Datei dahin zu schieben

EDIT:

Also, ich habe nun einmal die update.xml und den Ordner updates von dem FTP-Server auf den HTTP Link kopiert, mit dem Ergebnis, dass er nun sagt, "der Link ist erfolgreich gepürft worden", wenn man auf "Adresse überprüfen" im Menü klickt.
Weiterhin kann man aber keine Updates erstellen.

Und bei dem Knopf Datei ; updateInstaller aktualisieren, gibt es auch die Fehlermeldung 550 Datei nicht verfügbar (z.B. nicht gefunden oder kein Zugriff)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Alfons am .
private Nachricht | Beiträge des Benutzers
Hirnhamster
myCSharp.de - Member



Dabei seit:
Beiträge: 105

beantworten | zitieren | melden

Hey,
ich habe eine generelle Frage zu dem Updatesystem.

Angenommen ich liefere eine Applikation von mir an diverse Kunden in einem Installationsfile aus. Nach einiger Zeit ergeben sich dann diverse Bugs (und Bugfixes), so dass ein Update ansteht.

Mit deiner Komponente kann ich ja, wenn ich das richtig sehe, einzelne Dateien austauschen und hinzufügen. Kann ich dann zum Beispiel auch einfach die .exe oder eine .dll mit deinem System ersetzen? Hätte das dann den gleichen Effekt, wie wenn ich ein neues, komplettes Installationsfile (mit den Bugfixes) erstellen würde und sich ein Kunde dieses dann installiert (also quasi eine komplette Neuinstallation)? Oder muss man dabei noch irgendetwas beachten?

Vom Handling her gefällt mir die Komponente sehr gut, auch wenn es ein paar Probleme beim Löschen/Zurückziehen gibt. Bekomme dabei sporadisch Fehlermeldungen, aus denen ich nicht so ganz schlau werde (zum Beispiel: "Falsche Befehlesreihenfolge"), aber bisher hat es nach ein paar Versuchen oder nach einem Neustart immer funktioniert.
PHP Tutorials zum PHP lernen
private Nachricht | Beiträge des Benutzers
michlG
myCSharp.de - Experte

Avatar #avatar-2909.png


Dabei seit:
Beiträge: 3652
Herkunft: Naturns - Südtirol - Italien

beantworten | zitieren | melden

Hallo,

mit dem UpdateSystem kopiert man in der Regel einfach die DLLs / Exe vom Programm.
Ich liefe das Programm auch immer mit einem Setup aus.
Danach kann man die Dlls einfach austauschen, ohne dass es Probleme gibt.
Natürlich müssen dann jedes mal wenn der User das Setup neu installiert die Updates gezogen werden.
Aber das ist wohl nicht das Schlimmste ;)

Gruss
Michael
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hallo zusammen :-)
wer Interesse hat, kann sich ab Heute immer die neueste Vorabversion von der neuen (hoffentlich bald) erscheinenden Version 1.5 von folgender Website mopsen:
updateSystem.NET Preview

Vorab aber eine Warnung: Die Website und vor allem die dort angebotene Version befinden sich noch in der Entwicklung, es gibt Funktionen die optisch schon vorhanden sind, aber noch keine Funktion besitzen. Das ist bekannt und wird im Laufe der Entwicklung immer weniger werden ;) Es fehlen auch noch einige Prüfungen auf valide Daten, daher daraus resultierende Fehler bitte ignorieren.

Wer wissen möchte was sich in dieser Version verändert hab, kann einen Blick auf die neuen Release Notes werfen.

Angehangen habe ich noch einen Screenshot der neuen Verwaltungsoberfläche.

Über Feedback würde ich mich freuen :) Cheerio
Attachments
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Hier funktioniert es ohne eine Fehlermeldung von wegen, Server nicht erreichbar und so, merkwürdig... egal, lass es nun einfach so, sonst geht es vielleicht hinter nicht mehr bei mir :D

Sieht auf jedenfall richtig gut aus, meinen Respekt!

Jetzt muss ich es nur noch in mein Projekt integrieren, aber das mach ich morgen oder so.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Alfons am .
private Nachricht | Beiträge des Benutzers
Zicore
myCSharp.de - Member



Dabei seit:
Beiträge: 413

beantworten | zitieren | melden

Hallo Maximilian,

das sind Gute Nachrichten, ich werde im laufe der Woche die Version einmal ausführlich testen und dir melden was verbessert werden kann :)

André
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Also ich habe nun mal Mithilfe deiner Beispielanwendung die ganze Geschichte in mein Projekt integriert. Nun versucht aber aber irgendwie immer, die Updates von der HTTP-Adresse zu laden!

Ich habe es mit dem neuen Beta Tool gemacht, denn bei dem kann ich keine Updates erstellen wegen der Fehlermeldung. Bei dem neuen geht es wohl ganz wunderbar.
Also habe ich einfach Projekt-ID und Schlüssel angepasst und wollte schauen ob die Updatefunktion geht. Aber sie funktioniert nicht... Er versucht immernoch das ganze von dem HTTP-URL zu laden...

Wenn ich die Sachen die der Designer auf den FTP-Server uppt auf den HTTP-Server verschiebe. Funktioniert das Update problemlos. Ohne meckern...
Dann habe ich versucht die Update-Url im Eigenschaftsmenü von updateController1 in meinem Projekt durch die FTP Adresse zu ersetzen, da kommt dann die Meldung Nicht angemeldet. Auch wenn ich oben die Logindaten zum FTP-Server angebe kommt nix gescheites bei raus...

Als Übergang kopiere ich die erstellten Updates von FTP nach HTTP, aber könntest du dem Problem bitte mal auf dem Grund gehen? Oder mir zumindest mal ein paar weitere Tipps geben wie ich die Updates gleich vom FTP kriege?

Wäre nett... und trotzdem echt super Arbeit!
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hey Alfons,
Zitat
Als Übergang kopiere ich die erstellten Updates von FTP nach HTTP, aber könntest du dem Problem bitte mal auf dem Grund gehen? Oder mir zumindest mal ein paar weitere Tipps geben wie ich die Updates gleich vom FTP kriege?
Ich verstehe nicht warum du überhaupt etwas umkopieren musst/willst.
Der FTP-Ordner welchen du im Designer/Administration angibst muss auf den gleichen Ordner zeigen, auf die die HTTP-Url zeigt die du im updateController angibst. Dann klappt dat auch.
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

o.O Achso, das war mir nicht klar... das sind bei uns zwei verschiedene Server... und aus technischen Gründen lässt sich das auch nicht ändern...

Also muss ich ein Synchronisationsscript schreiben, was immer die beiden Verzeichnisse abgleicht, oder fällt einem ne andere Lösung ein?
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Aber wie bekommt ihr denn Daten auf den Server der nur via HTTP erreichbar ist?
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Der ist ja in einem Netzwerk mit meinem PC, also über Samba Freigaben.
Bis jetzt gab es keinen Grund die Sachen auch außerhalb ändern zu können.

Werde aber nun trotzdem mal versuchen, einen FTP Server paralell zu dem HTTP laufen zu lassen

EDIT:

:O Ich richte mir einfach einen kostenlosen Webspace dafür ein!

EDIT2:
OK, nun klappt es soweit einwandfrei... lag wohl wirklich daran, das FTP und HTTP getrennt waren. Ist mir nicht klar gewesen. Vielleicht könntest du ja in dem neuen Update da irgendwie drauf hinweisen, um dem nächsten User so eine Plackerei zu ersparen, nur als Vorschlag von mir aus!
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Alfons am .
private Nachricht | Beiträge des Benutzers
Jelly
myCSharp.de - Member



Dabei seit:
Beiträge: 1127
Herkunft: Burden (Luxemburg)

beantworten | zitieren | melden

Zitat von Alfons
lag wohl wirklich daran, das FTP und HTTP getrennt waren. Ist mir nicht klar gewesen. Vielleicht könntest du ja in dem neuen Update da irgendwie drauf hinweisen, um dem nächsten User so eine Plackerei zu ersparen
Ich denke, das sollte eigentlich jedem klar sein, oder?
Wenn ich es per FTP irgendwo hochlade, und später über HTTP darauf zugreife, ist doch aber wohl klar dass das nur gehen kann, wenn du auf den gleichen Path auf dem gleichen Server verweist.
private Nachricht | Beiträge des Benutzers
Alfons
myCSharp.de - Member



Dabei seit:
Beiträge: 18

beantworten | zitieren | melden

Wir werden sehen.... es war ja auch nur ein gut gemeinter Hinweis und keine Kritik in solchem Sinne, also kein Grund gleich so zu reagieren
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hey Alfons,
ich seh das so wie Jelly, hab eigentlich immer gedacht das wäre klar. Deshalb habe ich mich auch etwas schwer getan um dein Problem zu verstehen ;-)
Ich denke um Mißverständnisse später zu vermeiden werd ich das in den FAQs auf der neuen Website erwähnen.

Cheerio
private Nachricht | Beiträge des Benutzers
userid12529
myCSharp.de - Member



Dabei seit:
Beiträge: 210

beantworten | zitieren | melden

Hallo Maximilian,

ist es denn für deinen Updater zwingend nötig, dass die Updatepakete per FTP auf den Updateserver gelangen?
Ich habe vor einiger Zeit in meiner Firma in einem Projekt deinen Updater einbauen wollen, bin aber dann daran gescheitert, dass ich keinen FTP-Zugriff auf den Server habe (während ich aber über das interne Netzwerk mich auf dem Webserver anmelden und dort auch beliebige Dateien ablegen kann, die dann anschließend per HTTP-Protokoll erreichbar sind).
Mit deinem Update-Assistenten bin ich damals aber nicht sehr weit gekommen, weshalb ich dann zu einer kommerziellen Lösung gegriffen habe.
Ich denke das ist eine Schwäche deines Updaters, die eigentlich mit relativ geringem Aufwand behoben werden könnte? Nämlich, dass das entscheidende das Erstellen der Updatepakete sein sollte und das anschließende Hochladen auf den Server über das FTP-Protokoll nur eine von mehreren Alternativen wäre. Was hältst du von diesem Vorschlag?

Grüße,
Andreas
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hey Andreas,
Zitat
Ich denke das ist eine Schwäche deines Updaters, die eigentlich mit relativ geringem Aufwand behoben werden könnte?
Mit geringem Aufwand wäre eine solche Änderung leider nicht verbunden. Ich hatte bei der Konzeption damals nur FTP im Kopf weshalb die komplette Anwendung mehr oder weniger darauf aufbaut. Deshalb kann ich das nicht "mal ebend" ändern.
Ich habe schon einiges an Ideen für Version 2.0 wozu auch ein durchdachteres Publishingmodell zählt, aber bis dahin ist ein FTP-Server eine Pflichtvoraussetzung um Updates hochladen zu können.

Cheerio
private Nachricht | Beiträge des Benutzers
userid12529
myCSharp.de - Member



Dabei seit:
Beiträge: 210

beantworten | zitieren | melden

Hallo,

gut, ich kenne jetzt natürlich nicht die Programmarchitektur deines Update-Assistenten nicht. Dachte aber, da ja das Erstellen der Updatepakte und das Bereitstellen selbiger zwei unterschiedliche Concerns darstellen, dass sich diese Trennung auch irgendwie in deiner Software-Architektur zu finden sein müsste (und dass man dementsprechend an dieser Stelle eingreifen könnte). Es wäre jedenfalls meiner Meinung nach eine sinnvolle Überarbeitung. Ansonsten finde ich dein Projekt sehr interessant und ich verfolge die Entwicklungen aktiv mit, wenn ich es auch bisher nicht verwende.

Weiterhin gutes Gelingen wünsch ich dir bei deinem Projekt. :)

LG,
Andreas
private Nachricht | Beiträge des Benutzers
Lennart
myCSharp.de - Member



Dabei seit:
Beiträge: 429
Herkunft: Bawü

beantworten | zitieren | melden

************** Ausnahmetext **************
System.ObjectDisposedException: Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: wzNewProject.
   bei System.Windows.Forms.Control.CreateHandle()
   bei System.Windows.Forms.Form.CreateHandle()
   bei System.Windows.Forms.Control.get_Handle()
   bei System.Windows.Forms.Control.GetSafeHandle(IWin32Window window)
   bei System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp)
   bei System.Windows.Forms.MessageBox.Show(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon)
   bei dotNetBase.Windows.Forms.messageBoxEx.showClassicMessageBox(IWin32Window Owner, String Title, String mainInstruction, String Content, MessageBoxButtons Buttons, MessageBoxIcon Icon) in S:\Sources\dotNetBase\Windows.Forms\messageBoxEx.cs:Zeile 37.
   bei dotNetBase.Windows.Forms.messageBoxEx.Show(IWin32Window Owner, String Title, String mainInstruction, String Content, MessageBoxButtons Buttons, MessageBoxIcon Icon) in S:\Sources\dotNetBase\Windows.Forms\messageBoxEx.cs:Zeile 27.
   bei updateSystemDotNet.Designer.Forms.Wizards.NewProject.wzpSetupFtp._installer_actionCancelled(Object sender, designerActionCancelledEventArgs e) in S:\Sources\UpdateSystem.Net\Source\Designer\Designer\Forms\Wizards\NewProject\wzpSetupFtp.cs:Zeile 62.
   bei updateSystemDotNet.Designer.Base.designerActionBase.m_bgwWork_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e) in S:\Sources\UpdateSystem.Net\Source\Designer\Designer.Core\Base\designerActionBase.cs:Zeile 136.
   bei System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   bei System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)

Assistent starten -> Projekt anlegen -> http Adresse angeben -> ftp angeben -> ftp einrichten -> einrichten abbrechen -> Extras -> Statistikserververwaltung

Edit:
Ausserdem bekomme ich eine Exception wenn ich den Updatedialog (per Code gestartet -> updateController.updateInteractive(this);) abbreche. Dann passiert ca 15 Sekunden nichts und plötzlich fliegt folgende Exception:
Exception in Main()
System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.ObjectDisposedException: Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: updateSearchDialog.
   bei System.Windows.Forms.Control.CreateHandle()
   bei System.Windows.Forms.Form.CreateHandle()
   bei System.Windows.Forms.Control.get_Handle()
   bei System.Windows.Forms.Control.GetSafeHandle(IWin32Window window)
   bei System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp)
   bei System.Windows.Forms.MessageBox.Show(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon)
   bei updateSystemDotNet.Internal.UI.updateSearchDialog.bgwSearch_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e) in S:\Sources\UpdateSystem.Net\Source\updateController\Internal\UI\updateSearchDialog.cs:Zeile 75.
   bei System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   bei System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)

Edit2: Ich seh grad der zweite Fehler wurde schon gepostet. Ist halt doof wenn der Client kein Internet hat. Dann wird die Updatesuche wohl immer vom Benutzer abgebrochen. (Beim warten bis er von selbst abbricht kommt die Exception nicht).
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Lennart am .
private Nachricht | Beiträge des Benutzers