AGB  ·  Datenschutz  ·  Impressum  







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

ein Fass nach dem anderen geht auf

Ein Thema von freimatz · begonnen am 14. Nov 2020 · letzter Beitrag vom 19. Nov 2020
Antwort Antwort
Seite 1 von 2  1 2      
jziersch

Registriert seit: 9. Okt 2003
Ort: München
258 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: ein Fass nach dem anderen geht auf

  Alt 14. Nov 2020, 11:06
Den Pfad zu Deinen Dateien könntest Du doch mit System.SysUtils.GetHomePath ermitteln.

Nachinstallieren von runtimes ist natürlich schwierig - ich würde ich einfach ein Innosetup script verwenden welches dann im selben Pfad Deine module schreibt. Es wird dies automatisch tun, wenn Du den selben "AppName" verwendest.

InnoSetup ist super. Ich verwende allerdings eine ältere Version da der Windows Defender bei der neuen gemotzt hat.
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.115 Beiträge
 
Delphi 2009 Professional
 
#2

AW: ein Fass nach dem anderen geht auf

  Alt 14. Nov 2020, 11:52
%APPDATA% ist das neue C:\. Viele Programme installieren sich heute in %APPDATA%. Chrome und Firefox (non-ESR), auch Entwickler-Sachen wie Sourcetree. Weder zur Installation noch Deinstallation braucht man Rechte. Dass das ganze Programm dann in einer Domäne bei jedem Login und Logout mit einem Server gesynct wird - drauf geschissen. Die haben wohl auch alle keinen Bock darauf, ihr Programm vernünftig zu schreiben und anzupassen.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: ein Fass nach dem anderen geht auf

  Alt 14. Nov 2020, 12:49
Ach so ist das. Das habe ich sogar schon bei einem Microsoft-Tool so gesehen.

@jziersch: das Fass habe ich schon geleert

@MyRealName: InnoSetup u.a. taugen für mich nicht. Spätestens bei der Deinstallation ist das das Problem, dass die gar nicht wissen (können) welche Dateien alle weg müssen. Das hängt sehr von der Art der Instllation und weiss allein mein Code. Klar, auch mit den Tools kann man scripten, aber dann muss ich ja wieder das lernen. Zu Beginn hat ich auch ein Installationstool eingesetzt.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#4

AW: ein Fass nach dem anderen geht auf

  Alt 14. Nov 2020, 13:08
Nur mal so hingedaddelt:

Kann Dein Programm sich nicht selbst deinstallieren?

Eine Option dafür einbauen, die alles, was zur Laufzeit entfernt werden kann, entfernt.

Für die Sachen, die nicht entfernt werden können ein Script / Batch, ... schreiben und diese in der Registry unter
Code:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

oder

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
eintragen. (Run and RunOnce Registry Keys)

Was dort steht, wird einmalig beim nächsten Systemstart ausgeführt.

Wenn's z. B. 'ne Batch ist, kann die sich selbst zur Laufzeit löschen und damit wäre alles restlos weg.

Sie könnte auch ein von Dir erstelltes Deinstallationsprogramm starten, warten bis das fertig ist, es löschen und sich dann selbst löschen.

Wenn's sehr anwenderspezifisch ist, kann man auch ein Programm in den Autostartordner legen, beim nächsten Systemstart / Anmelden wird das dann ausgeführt. Es muss halt "nur" sichergestellt werden, dass sich das dann selbst aus dem Autostartordner löscht.

Achso: Das sind nur unausgereifte Ideen, die eventuell 'nen Ansatz liefern könnten (oder aber auch nicht )
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
771 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: ein Fass nach dem anderen geht auf

  Alt 14. Nov 2020, 14:30
Ich nutze die aktuelle InstallAware Developer und bin zufrieden damit.
Das Ding kann natürlich installieren, deinstallieren, signieren, automatisch (auch im Hintergrund) updaten.

Es gibt sicher andere gute...

(MSIX Packaging Tool ist je nach Umfang u.U. auch interessant. Das Tool kann auch ein bestehendes Setup in ein MSIX File wandeln.)
Michael Gasser
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.034 Beiträge
 
Delphi 12 Athens
 
#6

AW: ein Fass nach dem anderen geht auf

  Alt 15. Nov 2020, 20:06
Ach so ist das. Das habe ich sogar schon bei einem Microsoft-Tool so gesehen.

@jziersch: das Fass habe ich schon geleert

@MyRealName: InnoSetup u.a. taugen für mich nicht. Spätestens bei der Deinstallation ist das das Problem, dass die gar nicht wissen (können) welche Dateien alle weg müssen. Das hängt sehr von der Art der Instllation und weiss allein mein Code. Klar, auch mit den Tools kann man scripten, aber dann muss ich ja wieder das lernen. Zu Beginn hat ich auch ein Installationstool eingesetzt.
InnoSetup benutzt Pascal Skript und ein Ereignis zum Deinstallationszeitpunkt sollte einfach sein. Evtl. ein eigenes kleines Konsolenprogramm schreiben welches das Löschen dieser Zusatzmodule macht. Das dann in dem Event aufrufen. Sollte eine Skriptzeile sein.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#7

AW: ein Fass nach dem anderen geht auf

  Alt 17. Nov 2020, 17:03
Ich persönlich bin ein Fan vom Windows Installer und dem WIX-Toolset.

https://wixtoolset.org/

Tutorial:
https://www.youtube.com/watch?v=m3lDzMl3Hq0
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#8

AW: ein Fass nach dem anderen geht auf

  Alt 18. Nov 2020, 08:41
Mit Inno-Setup geht das wirklich gut:

https://jrsoftware.org/ishelp/index....ldeletesection
https://jrsoftware.org/ishelp/index...._uninstallable
https://jrsoftware.org/ishelp/index....criptuninstall
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#9

AW: ein Fass nach dem anderen geht auf

  Alt 18. Nov 2020, 09:22
Windows hat irgendwo eine eigene API um Dateien, die aktuell verwendet werden, für die Löschung beim nächsten Systemstart vorzumerken. Vor unendlich langer Zeit hatte ich dafür in DelphiWorks eine Funktion gemacht. Keine Ahnung ob das heute noch funktioniert.

Die Unsitte, ganze Programme nach %APPDATA% zu installieren, kenne ich auch von vielen Programmen. Meist sind es solche, die X-Plattform sind und sich kaum an die historisch verworrene Ordnerstruktur von Windows anpassen lassen.

Letztendlich hat Microsoft das Problem aber selbst geschaffen! Historischer Rückblick aus meiner Erinnerung:
  • 1985: Programme installieren sich unter DOS nach C:\Programmname
  • 1990: Programme unter Windows 2.x installieren sich nach C:\Programmname
  • 1995: Programme unter Windows 95 installieren sich nach C:\Programmname
  • 1999: Programme unter Windows 98 installieren sich unter C:\Programme\Programmname
  • 2001: Programme unter Windows XP installieren sich unter C:\Program Files\Programmname und werden über Symlinks nach C:\Programme\Programmname gemappt
  • 2007: 32-Bit-Programme unter Windows Vista installieren sich unter C:\Program Files (x86)\Programmname, werden über Symlinks nach C:\Programme (x86)\Programmname gemappt und von der UAC gegängelt
  • 2007: 64-Bit-Programme unter Windows Vista installieren sich unter C:\Program Files\Programmname, werden über Symlinks nach C:\Programme\Programmname gemappt und von der UAC gegängelt
  • 2009: Programme unter Windows 7 installieren sich häufiger unter C:\Program Files\Programmname, weil beide Systemvariablen %PROGRAMFILES% und %ProgramW6432% dorthin verweisen und die UAC dort nicht drauf schaut
  • 2012: Programme unter Windows 8 (insbesondere Treiber-Installer) installieren sich unter C:\Programmname, weil die UAC mittlerweile auch auf %PROGRAMDATA% und %PROGRAMFILES% achtet
  • 2015: Programme installieren sich unter %APPDATA% und damit auf Multi-User-Arbeitsplätzen gleich mehrfach, weil die UAC bei Installern anschlägt, die Pfade wie C:\Programmname verwenden

Also ich finde das alles Quark im Quadrat. Mittlerweile ist sogar die halbe Systemordnerstruktur gemappt. Teilweise erscheinen im Explorer Einträge wie C:\Programme sogar doppelt (!!!) wobei einer auf C:\Program Files mappt und der andere mit einem "Zugriff verweigert" versandet.

Das einzig Gute an der heutigen Situation ist, dass nach und nach alle älteren Windows-Installationen abgelöst werden und sich auf Windows 10 vereinheitlicht. Doch was soll das Theater mit der UAC in den Programmordnern? Was hat es bitteschön mit Sicherheit zu tun, sich an bestimmten Ordnernamen hochzuziehen? Eigentlich ein Armutszeugnis an Microsoft, dass es da überhaupt Unterscheidungen braucht. Für mich die logische Konsequenz, dass entweder A) die Softwareanbieter auf weniger supportanfällige Ordnerstrukturen ausweichen oder B) die Anwender die UAC abklemmen oder C) beides eintritt.

Persönliche Meinung: Beruflich entwickle ich für Windows und sehe all die praktischen Probleme. Privat nutze ich nur noch Linux. @Embarcadero: Packt endlich den Linux-Compiler in alle Delphi-Editions rein und übernehmt CrossVCL ins RAD Studio! Zum Bsp. im öffentlichen Bereich, bei Verwaltungssoftware, wo Delphi noch häufig zum Einsatz kommt, geht der Trend eindeutig weg von Windows. Da wartet keine Softwarebude mehr, dass sich Emba irgendwann mal auskekst, sondern da wird bei älteren Projekten entweder auf Lazarus migriert oder bei neueren Projekten gleich auf Java o.ä. gesetzt.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.910 Beiträge
 
Delphi 12 Athens
 
#10

AW: ein Fass nach dem anderen geht auf

  Alt 18. Nov 2020, 10:01
Letztendlich hat Microsoft das Problem aber selbst geschaffen!
[..]
C:\Program Files bzw. c:\programme kam mit Windows 95 parallel mit der Registry (und danach kam dann das Mapping und intern wurde nur noch das englische Verzeichnis verwendet). Hätten damals alle Entwickler die vom System vorgegebenen Möglichkeiten zur dynamischen Bestimmung des Ordners für die Installation von Programmen verwendet, wären danach auch keine Anpassungen nötig gewesen, auch nicht durch die Umleitungen. Auch die Speicherung von Daten im Programmverzeichnis war schon mit Windows 95 nicht mehr vorgesehen. Es haben nur viele trotzdem gemacht und sich dann gewundert als mit Vista der Pfusch dann aufgefallen ist...

Die Ursache ist nicht nur bei Microsoft zu suchen, sondern vielmehr bei Unwissenheit oder Ignoranz vieler Entwickler. Denn viele haben es ja auch noch weiter so gemacht als man es ihnen schon längst gesagt hatte. Das sieht man ja an den diversen Fragen zu Workarounds statt richtiger Lösungen.

Also ich finde das alles Quark im Quadrat. Mittlerweile ist sogar die halbe Systemordnerstruktur gemappt. Teilweise erscheinen im Explorer Einträge wie C:\Programme sogar doppelt (!!!) wobei einer auf C:\Program Files mappt und der andere mit einem "Zugriff verweigert" versandet.
Dann ist Windows einfach ungünstig konfiguriert. Standardmäßig ist das nicht so.
Wenn man nicht nur versteckte Dateien und Ordner anzeigen lässt, sondern auch geschützte Systemdateien, dann bekommt man eben auch Einträge, mit denen man nichts anfangen kann...

(Das hat sich aber auch geändert. Anfangs fielen auch Einträge unter Systemdateien, die man vielleicht mal sehen wollte. Aber seit Windows 7 oder 8 gibt es so gut wie nie einen Fall, in dem es sinnvoll ist auch geschützte Systemdateien einzublenden.)
Sebastian Jänicke
AppCentral
  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 01:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz