Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Deinstallation von Progs unter Windows?

NeoZeroCool / 2 Antworten / Flachansicht Nickles

Hi,
ich möchte eine Frage, die mir schon länger unter den Nägeln brennt, an alle Hobby- und Berufsprogrammierer richten, die Software für Windows entwickeln:
Warum werden Programme unter Win9x so derbe schlecht deinstalliert?
Ich selbst kann mir das nicht erklären. Wenn ein Programmierer eine Software schreibt, dann müßte er doch ganz genau wissen, wo welche Dateien gespeichert und wo welche Eintragung vorgenommen wird. Deshalb dürfte es doch auch nicht so schwer sein eine Routine zu schreiben, die alles wieder komplett deinstalliert.
Ein Kumpel von mir, der selbst für Win programmiert, hat mir mal erklärt, das der Programmierer mit der Installation/Deinstallation an sich gar nicht direkt in Kontakt kommt, sondern das das von Win selbst ausgeht (habs nicht so ganz verstanden).
Wenn das so ist, warum verzichtet ihr nicht auf die schlechte Win-Routine und schreibt ne eigene?

Wo ich gerade schon mal dabei bin:

Warum werden alle neuen dlls, die ein Prog benötigt immer zentral im Windows(/System) Ordner gespeichert? Speichert die doch einfach in den Programm-Ordner selbst. Dann muss die Deinstallation auch nicht mehr zweifelnd die Frage stellen: "Soll xxx.dll wirklich gelöscht werden? Sie wird event. von anderen Prog. verwendet"

Noch eine weitere Unart ist das speichern von Pfadangaben zentral in der Registry. Meinetwegen kann man da ja bestimmte Prog.-Einstellungen speichern. Aber wozu bspw. die Pfadangabe zur EXE.Datei des Progs? Ist doch viel zu unflexibel und unüberschaubar.
Interessant wäre doch folgende Lösung: Programmintern werden nur relative Pfadangaben verwendet. Die absolute Pfadangabe zum eigenen Installationsordner sucht sich das Prog bei jedem Programmstart neu.
Dann könnte der Ordner auch beliebig nachträglich verschoben werden ohne die Lauffähigkeit des Progs zu gefährden.

Ich geb ja zu, ich bin kein (Win-)Programmierprofi, aber so falsch kann ich doch eigentlich nicht liegen.

Ich hoffe ihr könnt da etwas Klarheit schaffen!

HtM
NZC

bei Antwort benachrichtigen
Anonym NeoZeroCool „Deinstallation von Progs unter Windows?“
Optionen

Hallo NeoZeroCool,

Ein Kumpel von mir, der selbst für Win programmiert, hat mir mal erklärt, das der Programmierer mit der Installation/Deinstallation an sich gar nicht direkt in Kontakt kommt, sondern das das von Win selbst ausgeht (habs nicht so ganz verstanden).
Wenn das so ist, warum verzichtet ihr nicht auf die schlechte Win-Routine und schreibt ne eigene?

Stimmt mit der Installation kommt man nur indirekt in Kontakt. Entweder verwendet man INF Dateien (von Windows), zu denen ich Dir leider nicht mehr schreiben kann, oder man verwendet eine Installationstool wie Install Shield (Express).
Eigene Routine zu schreiben ist zu aufwändig. Außerdem ist es aus Lizenzrechtlichen Gründen nicht möglich z.B. die BDE mit einem nicht zertifizierte Installationsroutine zu installieren. Probleme bei der deinstallation folgen weiter unten.

Warum werden alle neuen dlls, die ein Prog benötigt immer zentral im Windows(/System) Ordner gespeichert?
Bei DLLs die von mehreren Programmen genutzte werden, macht dies auf jeden Fall Sinn. Beispielsweise bei DLLs für MS-Office. Werden die DLLs dagengen nur von einem Programm genutzt, sollten diese auch in den Programmordner.
Soll xxx.dll wirklich gelöscht werden? Sie wird event. von anderen Prog. verwendet
Das lässt sich in diesem Fall nicht vermeiden, aber es macht keinen Sinn z.B. die BDE mehrfach zu installieren. Dies ist meines Erachtens nach ein Problem von Windows. Praktischer wäre es, wenn für alle derartigen Dateien ein Liste geführt würde in der gezählt wird von wievielen Programmen diese Dateien benötigt werden. Bei der Verwendung vom Install Shield wird dies mitprotokoliert.
Ein großes Problem bei dieser Lösung wären allerdings die Programmierer, die umbedingt ein eigenes Installationsprogramm schreiben wollen und die Benutzer, die die Programme nicht über die Systemsteuereung deinstallieren, sondern nur das Programmverzeichnis löschen. Probleme würden auch bei älteren Programmen auftreten.

Noch eine weitere Unart ist das speichern von Pfadangaben zentral in der Registry
Das ist wirklich eine Unart. Ich verwende generell lieber Ini Dateien.

CU Borlander

bei Antwort benachrichtigen