AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

eigene Anwendung updaten ab W7

Ein Thema von Marco Steinebach · begonnen am 21. Nov 2015 · letzter Beitrag vom 10. Dez 2015
Antwort Antwort
Seite 1 von 2  1 2      
Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#1

eigene Anwendung updaten ab W7

  Alt 21. Nov 2015, 10:46
Hallo zusammen,
mein eigenes Programm soll sich updaten können.
Vorgehensweise:
1. im LAN schauen, ob es eine neue Version gibt
2. falls ja, die neue exe ins programm-Verzeichnis kopieren (anderer Name)
3. laufende exe umbenennen
4. kopierte exe in original.exe umbenennen
5. Meldung ausgeben, und Programm beenden.

Funktioniert ohne Probleme, so lange man nicht unter Programme (x86) speichert.
Das man da nicht schreiben darf ist klar, aber es kann doch nicht sein, daß ich mein Prog unter sagen wir
c:\meinProg
installieren muß, damit das geht?
Und ich kann ja nicht, faaaalls es ein Update gibt, das Programm jedesmal per manifest als Admin starten,...

Ich bitte um einen Tip, wo's hier lang geht.
Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: eigene Anwendung updaten ab W7

  Alt 21. Nov 2015, 10:52
Wir verwenden für das Update ein eigenen Installer der (wenn UAC nötig ist damit gestartet wird) der die entsprechenden Dateien austauscht.
Manche lassen einen Updatedienst laufen um das UAC-Problem zu umgehen. Aber Extra-Dienst hat soch seine Probleme.


Dein Vorgehen bei laufenden Betrieb die Exe umzubenennen ist es sehr fragiles. Das Verhalten von Windows hat sich über die Jahre an dieser stelle schon öfter geändert das das umbenennen ging, dann Jahrelang nicht, dann nur scheinbar (Explorer hat Datei nicht mehr angezeigt bis man F5 gedrückt hat) und jetzt geht es wieder. Könnte mit dem nächsten Update wieder anders sein.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.443 Beiträge
 
Delphi 12 Athens
 
#3

AW: eigene Anwendung updaten ab W7

  Alt 21. Nov 2015, 12:16
Wir verwenden für das Update ein eigenen Installer der (wenn UAC nötig ist damit gestartet wird) der die entsprechenden Dateien austauscht.
Das ist auch in der TMS-Komponente TWebUpdate so implementiert. Funktioniert schon geraume Zeit sehr zuverlässig. Wenn man fragt, bekommt man von Bruno auch die Sourcen des Updaters, um den z.B. mit dem eigenen Zertifikat zu signieren.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: eigene Anwendung updaten ab W7

  Alt 21. Nov 2015, 15:19
Und ich kann ja nicht, faaaalls es ein Update gibt, das Programm jedesmal per manifest als Admin starten,...
Doch genauso ist es. Sonst hätte das Rechtesystem ja keinen Sinn. Oder hast du schon mal ein Programm gesehen, welches sich ohne Admin-Rechte aktualisieren lässt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#5

AW: eigene Anwendung updaten ab W7

  Alt 10. Dez 2015, 15:12
Hallo zusammen,
erstmal ganz herzlichen Dank für eure Antworten.
Jetzt gibt's ein eigenes Programm, das sich UAC holt, und die Dateien austauschen, ..., sollte.
Die für das Update notwendigen Dateien liegen auf einem verbundenen Netzwerklaufwerk. Das Ursprungsprogramm kann ohne Probleme dran, der Updater, der mit Admin-Rechten gestartet wird, findet, bei völlig gleichem Quellcode, keine Dateien.
Häää?
Hat jemand 'nen Tip für mich, warum das so ist?
Bin ich evtl. nicht der gleiche Benutzer wie ohne Admin-Rechte?
Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: eigene Anwendung updaten ab W7

  Alt 10. Dez 2015, 15:29
Hallo zusammen,
erstmal ganz herzlichen Dank für eure Antworten.
Jetzt gibt's ein eigenes Programm, das sich UAC holt, und die Dateien austauschen, ..., sollte.
Die für das Update notwendigen Dateien liegen auf einem verbundenen Netzwerklaufwerk. Das Ursprungsprogramm kann ohne Probleme dran, der Updater, der mit Admin-Rechten gestartet wird, findet, bei völlig gleichem Quellcode, keine Dateien.
Häää?
Hat jemand 'nen Tip für mich, warum das so ist?
Bin ich evtl. nicht der gleiche Benutzer wie ohne Admin-Rechte?
Zur letzten Frage: YO. So ist das.
Problem ist das dieser UAC-Gestarteter User keine verbundenen Netzwerklaufwerk hat.
Du musst also alle Dateien erste lokal kopieren (wir verwenden hier C:\ProgramData\xxx) und dann von dort in dein Anwendungsverzeichnis kopieren.
Das Tempverzeichnis wäre schlecht da diese ja auch wieder unterschiedlich sein kann/ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#7

AW: eigene Anwendung updaten ab W7

  Alt 10. Dez 2015, 15:33
Hallo Bernhard,
herzlichen Dank für die Antwort.
Meine Fresse, komplizierter ging's nicht, wa?
Also gut, dann mach ich's genau so.
Dank dir und viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#8

AW: eigene Anwendung updaten ab W7

  Alt 10. Dez 2015, 15:38
Hat jemand 'nen Tip für mich, warum das so ist?
Netzlaufwerke sind seit Win2k nutzerspezifisch. Genau genommen sind sie an ein Token gebunden. Daher fällt die UAC da mit rein, weil der Nutzer dadurch ein anderes Token hat. Deswegen müsstest du Netzlaufwerke entweder erneut verbinden oder die benötigten Dateien vorher auf einen lokalen Datenträger kopieren. [ADD] Alternativ kannst du auch mit UNC-Pfaden arbeiten. [/ADD]

MfG Dalai

Geändert von Dalai (10. Dez 2015 um 15:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: eigene Anwendung updaten ab W7

  Alt 10. Dez 2015, 15:58
Meine Fresse, komplizierter ging's nicht, wa?
Wieso kompliziert? Willst du das jeder Prozess (auch Dienstprozesse zugriff auf deine Netzlaufwerke haben)?
Windows hat nunmal ein Rechtekonzept. Und mit dem muss man sich auseinander setzen. Unter Linux hättest du vermutlich vom Prinzip her das gleiche Problem.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#10

AW: eigene Anwendung updaten ab W7

  Alt 10. Dez 2015, 16:10
Für den Netzlaufwerks-Zugriff mit Admin-Rechten kannst Du auch einen Schlüssel in der Registry ändern :

Dazu in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Policies\System
einen neuen DWORD-Wert
EnableLinkedConnections
anlegen und den Wert 1 zuweisen.

Das müsste dann aber an jedem PC gemacht werden, der auf die Updatequelle zugreifen können soll.
(Ließe sich in einer Domäne ggf. über die GPO verteilen )

Gruß
Guido R.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz