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

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von EvilMM
Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ja klar - genau in dem Moment in dem ich mich anmelde kann man das vermutlich irgendwie auslesen.

Aber das bringt diese Methode vermutlich nun so mit sich.
Die Credentials muss man ja nicht mitliefern.

Es gibt ja nicht viele Möglichkeiten das zu machen. Wenn man das automatisiert haben will, also in einem Umfeld in dem nur eingeschränkte Benutzer sind und man dennoch das Update gestattet will muss man irgendwie Zugriff auf das Adminkonto gewähren.

Möglichkeit 1 wäre dann die Methode die ich gerade umsetze.
Möglichkeit 2 wäre einen Dienst zu installieren der im System-Kontext läuft und somit die Berechtigung hätte. Das kann ich mir mal für später irgendwann vornehmen.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Wie was?

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ich hab mir das nochmal alles überlegt wie es wohl optimal wäre.
Möglich sollte von seiten der Updatepaket-Konfiguration sein entweder direkt die Credentials für die Impersonifikation zu vergeben oder alternativ auch direkt den Admin-Modus vorauszusetzen. Im zweiten Falle führe ich den Prozess updater.exe auch direkt mit requireAdmin aus.

Sollte beides nicht gewählt sein würde im Falle eines Fehlers beim Löschen oder beim Schreiben einer Datei der oben gezeigte Dialog erscheinen und dort müsste dann eben noch die Möglichkeit rein das Benutzerkonto zu wechseln.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ja an der Stelle muss ich mir das mal überlegen.
Ich werd mal versuchen rauszufinden wie man ermitteln kann ob eine Datei gerade in Benutzung ist.

Der Dialog hat selbstverständlich noch Zeit. Habe an der Anwendung sowieso noch andere Sachen zu schaffen. Somit macht das nichts wenns heute nichts mehr wird.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ich hab nun mal ein kleines Szenario nachgestellt.

Der Benutzer befindet sich auf einem XP-Rechner mit eingeschränkten Benutzerrechten.
Es sind keine Impersonifikationsinformationen hinterlegt. Das Update wird durchgeführt und versucht Dateien zu löschen.

17:09:40 [Main][deleteFiles] Delete old files...
17:09:40 [Main][deleteFiles] -> Delete C:\Programme\Testapplikation\Update\5239-sd.jpg...
17:09:40 [Main][deleteFiles]    - 1. try
17:09:40 [Main][deleteFiles]    - Could not delete file
17:09:40 [Main][impersonifyUser] Try Impersonification
17:09:40 [Main][impersonifyUser] -> No Informations
17:09:40 [Main][deleteFiles]    - 2. try
17:09:40 [Main][deleteFiles]    - Could not delete file
17:09:44 [Main][deleteFiles]    - 3. try
17:09:44 [Main][deleteFiles]    - Could not delete file
17:09:45 [Main][deleteFiles]    - 4. try
17:09:45 [Main][deleteFiles]    - Could not delete file

Nach dem ersten Versuch wird versucht dem Benutzer mehr Rechte zugeben, es sind aber keine Informationen hinterlegt. Jetzt bekommt der Benutzer einen Dialog angezeigt der derzeit noch so aussieht:



Er hat nun mehrmals auf "Wiederholen" geklickt, daher oben die mehreren Versuche.

Nun der zeite Fall:
Es wurden Impersonifikationsinformationen hinterlegt. Diese Informationen können natürlich auch nachträglich noch geändert werden, es muss ja nur das Updatepaket bearbeitet werden.

Nun schaut das ganze so aus:
17:12:26 [Main][deleteFiles] Delete old files...
17:12:26 [Main][deleteFiles] -> Delete C:\Programme\Testapplikation\Update\5239-sd.jpg...
17:12:26 [Main][deleteFiles]    - 1. try
17:12:26 [Main][deleteFiles]    - Could not delete file
17:12:26 [Main][impersonifyUser] Try Impersonification
17:12:26 [Main][impersonifyUser] -> OK
17:12:26 [Main][deleteFiles]    - 2. try
17:12:26 [Main][deleteFiles] -> Delete C:\Programme\Testapplikation\Update\96910.jpg...
17:12:26 [Main][deleteFiles]    - 1. try
17:12:26 [Main][deleteFiles] -> Delete C:\Programme\Testapplikation\Update\1247319464lpb8.jpg...
17:12:26 [Main][deleteFiles]    - 1. try

Das Update läuft ohne murren durch und der Anwender wird keine einzige Meldung sehen.

@Jelly: Das sollte jetzt so ziemlich genau dem Ablauf entsprechen den du dir vorgestellt hast.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Genau das wäre der Ablauf dann.

So in etwa könnte das dann bei der Updateerzeugung aussehen:



Ist das eigentlich so korrekt wenn man das dann auch als "Impersonifikation" bezeichnet oder ist da eine andere Bezeichnung üblich?

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ich habe es nun so umgesetzt:

Man kann bei der Erzeugung eines Updatepaketes die Konto-Daten für die Impersonifikation angeben, wenn diese schon vorher bekannt sind.

Tritt beim Update ein Fehler auf (Dateien können nicht gelöscht oder geschrieben werden) wird - falls Informationen angegeben wurde - per Impersonifikation der Benutzer kurzfristig gewechselt. Daraufhin wird erneut versucht die Datei zu löschen oder zu kopieren. Klappt das wieder nicht bekommt der Anwender eine Meldung mit einem entsprechenden Hinweis. Er hätte dann die Möglichkeit das Update abzubrechen, die Aktion zu wiederholen oder dann eben die Kontoinformationen manuell anzugeben.

Ich glaube das müsste dann in dieser Weise ok sein oder?

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

So wie du dir das vorstellst wäre es gut. Passwort in SecureString wäre auch gut.

Dann bin ich mal gespannt und schonmal vielen Dank an der Stelle.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Richtig, das müsste reichen an der Stelle.
Wenn du das machen könntest wäre das natürlich klasse. Dann könnte ich mich an der Stelle dann schonmal auf das korrekte Impersonifizieren konzentrieren.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Exakt. Genauso stell ich mir das auch vor.
Und genau diese Aufforderung benötige ich jetzt nämlich. Und da komm ich grad nicht weiter. Weil genau da stell ich mir dann vor, dass solch ein Dialog wie oben erscheint.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ja das ist ja schon klar. Aber das Problem ist doch, dass ich doch hier noch nicht die Konteninformationen eines x-beliebigen Benutzers da draußen kenne, also muss ich ihn zu Laufzeit auffordern Benutzer und Passwort einzugeben.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Aber um das Update durchführen zu können braucht er ja vorrübergehende Admin-Rechte. Und wie genau soll das dann ablaufen?

Also er braucht ja zwingend Adminrechte sonst kann er ja auf keinen Fall in den Programmordner schreiben.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ich bin nun dabei dieses Problem mit den Adminrechten zu lösen.

Schritt 1 ist mal gelöst: es ist möglich - wenn man das will - die Benutzerinformationen unter dessen Rechten die updater.exe ausgeführt werden soll direkt anzugeben. Das bedeutet der Anwender müsste nichts mehr bestätigen und das Update würde durchlaufen.

Ich konnte das auch unter XP erfolgreich testen. Der Benutzer hatte eingeschränkte Rechte, konnte das Update aber dennoch durchführen und im Programmeordner wurden die entsprechenden Dateien angelegt. Diese konnten im Anschluss aber auch nicht mehr vom Benutzer gelöscht werden, da dieser ja keine Rechte dazu hatte. Ich denke das ist vom Verhalten her korrekt.

Jetzt kommt aber eben noch der andere Punkt: die Kontoinformationen sollen ja nicht unbedingt schon mitgegeben werden, bzw. können sie ja auch im Normalfall gar nicht mitgegeben werden.
Wie ist in so einem Falle vorzugehen? Kann mir an dem Punkt jemand helfen wie ich eine Anwendung starte, so dass daraufhin diese Meldung aufpoppt und der Benutzer aufgefordert wird entsprechende Kontoinformationen anzugeben?

Ich denke dabei an diese Meldung:

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Um mal einen kleinen Vorgeschmack zu geben was die neue Statistikauswertung so bietet hab ich n kleines Video davon gemacht.

Hier der Link zum Video: Klick

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Also in dem Punkt muss ich dir Recht geben... PHP auf einem IIS einzurichten... Himmel... das musste ich zweimal hier in der Firma machen und ich saß jeweils n halben Tag dran. Müsst ich mir mal anschauen wieviel Zeit das genau in Anspruch nehmen würde.

Übrigens kommt in der nächsten Version nun auch endlich die Möglichkeit die Nachricht am Ende des Updatevorgangs zu unterdrücken. So muss nicht mehr mit OK bestätigt werden.

Das Proxyproblem bin ich gerade dabei zu lösen.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Der Sinn an der Stelle ASP zu verwenden erschließt sich mir jetzt auch nicht.
Die Unterstützung von MS-SQL ist für später (etwa 1.8.0) geplant.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Japp natürlich. Sollte ja eigenltich jetzt schon gehen, aber ich habs nie wirklich durchgetestet. Ich kümmer mich aber drum. Ich schau mal, dass ich zumindest die Unterstützung in der DLL bis v1.4.0 drin hab.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

@dennisspohr:
OK, dann funktionierts zumindest generell mal, aber 20 Sekunden nicht natürlich deutlich zu viel.

@t-master:
Das ist natürlich nachzuvollziehen und auch machbar. Aber erst später, ich habs mal im Bugtracker zu Version 1.10 geschrieben :-)

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

"/" wird nicht akzeptiert, dass ist richtig. Das liegt an einer doofen Sachen. Ich lösche vorher immer den Ordner den man ausgewählt hat und lege ihn neu an. Somit stelle ich sicher, dass er auch leer ist.

Das ist recht unelegant und "/" kann ich natürlich nicht löschen. Deswegen der Fehler. Ich werde das aber beseitigen und das mal korrekt überarbeiten.

Das andere ist ein TimeOut-Problem. Das kämpfe ich noch mit, denn eigentlich stelle ich vor jeder Aktion die Verbindung zum FTP-Server her. Mal sehen was ich da mit KeepAlive oder dergleichen machen kann.

Mmh das Problem mit dem Cross-Thread ist sonderbar. Das hatte ich jetzt auch noch nie gehabt... *grübel* hat da einer eine Idee?

Ansonsten zur Sache mit der Impersonifikation. Ich brauche da durchaus Leute die Testen und die mir dabei eventuell etwas helfen können.
Wenn ihr nichts dagegen habt wende ich mich wenn ich aktiv damit anfange per PM an euch - sehe ja hier im Thread wer es schon alles gefordert hat.

Mit Impersonifikation und UAC hab ich von der Programmierseite selbst noch fast keine Erfahrung und da bin ich für jede Hilfe dankbar.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Ja das ist wirklich zu lange.
Mal sehen wie ich das schneller machen könnte

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

@dennisspohr:
Zu dem Problem mit der Firewall. Ich hab das mal getestet und nach kurzer Zeit (ich glaube 15-30 Sekunden) wird der Code 800 als Ergebnis der Updateprüfung geliefert. Prüfe das mal bitte ob das bei dir auch passiert.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Habe eben Version 1.3.2 veröffentlicht. In dieser Version sind Fehler behoben.

Änderungen hier: Klick

Der Fehler, dass die Administrationsoberfläche beim Abruf der version.xml hängen bleibt besteht noch. Ich arbeite aber daran.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Hallo Jelly,
erstmal vielen Dank für das Feedback.

Zum ersten Punkt: Das ging in der letzten Version auch nicht - zumindest nicht explizit. Aber auch mich nervt es bereits, dass der letzte Ordner nicht gemerkt wird. Das werd ich nachreichen.

Zweiter Punkt: Das kann tatsächlich passieren wenn man zulange nichts macht. Das trage ich gleich ein und werds dann beheben.

Dritter Punkt: Das müsste ich jetzt näher analysieren. Wenn das vorher einwandfrei funktioniert hat, dann könnte ich mir vorstellen woran das liegt.

Ich hoffe die ganzen Punkte übers WE gelöst zu haben. Am Sonntag sollte dann eigentlich die neue Version kommen.

@ChMaster: Am SFTP-Zugang hab ich noch nicht weitergearbeitet. Das muss leider noch etwas warten :-(

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Mmh das ist mir etwas schleierhaft wie das zusammenhängen kann - mmh.

Mir ist da offenbar aber ein Fehler unterlaufen weswegen der Fehler mit der version.xml auftreten könnte. Ich werde versuchen den heute noch zu lösen.

Das war wohl doch falscher Alarm. Aber seit heute hab ich das auch öfters mit der version.xml... komisch... na ja es wird irgendworan liegen und dann find ich das auch :-)

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Logs würden eventuell helfen. An [email protected]
Versuch das Projekt mal mit einem Unterordner zu erzeugen. Also nicht direkt in den Root rein.
An der Stelle gab es schonmal ein Problem an dem ich gerade arbeite.
Jetzt fällt mir gerade ein... eventuell kann der auch mit dem www37 Probleme haben...

Hast du das beim Vollqulifizierten Pfad korrekt angegeben?

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Standardfrage: Was benutzt ihr für Server? Wie heißt der Pfadname auf dem Server den ihr verwendet? Hat der Leerzeichen oder keine?

Ansonsten irgendwelche besonderheiten? UAC aktiviert? Temp-Ordner voll? Irgendwas in dieser Hinsicht das von der Norm abweicht?

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Vielen Dank. Wie ist das mit dem Problem - ist das jedes Mal bei Projektöffnung so?

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Verschlüsselung wollte ich unbedingt einbauen. Wenn du da bereits was gutes hast würde ich mich freuen. Dann kann ich das direkt einbauen.

Ich hatte das demletzt auch ein paar Mal mit der version.xml. Allerdings wenn ich die Administration.exe abgeschossen habe und nochmal gestartet habe gings wieder. Muss ich mal nachschauen woran das wieder liegt :-)

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Mmh also ich kann mir da immer noch gar nichts drunter vorstellen.
Meinst du jetzt die PHP-Sessions gehen nicht mehr? Ich kann mir dann nämlich nicht vorstellen wie das zusammenhängen sollte. Im Ordner den du für das Projekt verwendest ist sonst nichts mehr drin oder?

Ich glaub das musst du mir mal jetzt genauer beschreiben was du da genau machst und was dann genau nicht mehr passiert.

Thema: AppDater (ehemals K_Updater)
Am im Forum: Projekte

Mmh also ich muss zugeben, dass ich keine Ahnung habe. Ich kann mir noch nicht mal wirklich vorstellen was da nun genau nicht gehen soll.

Bitte gib mir mal genauere Infos. Was für einen Server hast, in wie fern gehen Sessions nicht mehr? Unter PHP?

Eventuell auch eine genaue Information wie du die Ordner benannt hast, zum Beispiel gibts beim IIS Probleme mit Leerzeichen - allerdings wirkt sich das nicht auf Sessions aus.