Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel (https://www.delphipraxis.net/188539-advanced-installer-erstellt-gleichnamige-verzeichnisse-und-registryschluessel.html)

jaenicke 14. Mär 2016 12:18

Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Hallo,

wir haben ein Problem bei der Nutzung des Advanced Installers. Das zu lösen ist die eine Sache, ich frage mich aber vor allem wie das technisch passieren kann...

Das Zielverzeichnis des Setups existierte schon, aber statt dieses zu benutzen wurde ein exakt gleichnamiges Verzeichnis parallel erstellt. Ich dachte erst ich sehe nicht richtig, aber es ist so. Dann habe ich alles wieder deinstalliert, beide Verzeichnisse gelöscht und diesmal das Setup zuerst installiert.
Dann habe ich auf neuer Ordner im Windows Explorer geklickt, habe den gleichen Namen angegeben und es wurde wieder ein separates Verzeichnis erstellt...

Das gleiche passiert auch in der Registry.

Wie kann das denn sein? Ich dachte genau das würde Windows intern verhindern? :shock:

Danke und schönen Gruß,
Sebastian

bra 14. Mär 2016 12:25

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Man kann nicht zwei identische Verzeichnisse anlegen, zumindest im gleichen Ordner. Vermutlich ist da irgendein Sonderzeichen oder ein zusätzliches Leerzeichen enthalten, wodurch sie gleich aussehen. Oder auch l = I (L = i)?

Dalai 14. Mär 2016 13:29

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Auch Lokalisierung kann sowas auslösen. Wenn es im einen Verzeichnis eine desktop.ini gibt (ggf. versteckt) und das Verzeichnis selbst entweder das Attribut System und/oder ReadOnly hat, wird die desktop.ini ausgewertet. Beispiele von Windows selbst sind die Verzeichnisse Users, Program Files und Program Files (x86) - alle genannten werden im Explorer lokalisiert angezeigt, bei einem deutschen System also Benutzer, Programme und Programme (x86).

Ich kann also nur den Tip geben, einen ordentlichen Dateimanager zu benutzen, um zu sehen, was wirklich auf der Platte vorhanden ist. Mit Sicherheit kann ich sagen, dass es nicht mehr als ein Verzeichnis mit demselben Namen ist.

MfG Dalai

himitsu 14. Mär 2016 13:58

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Jupp, aus diesem Grund spricht das Dateisystem vom Windows seit ein paar Jahren nur noch englisch, egal wo auf der Welt,
weil die Setupprogrammierer einfach zu doof waren die "richtigen" Verzeichnisse auszulesen und sie stattdessen "hart" hinterlegt hatten.
Genauso, wie die System-Partition nun immer C ist, selbst wenn es nicht die erste (sichtbare) Partition auf der Platte ist, oder auch nicht die erste Platte im System.

C:\Programme (im deutschen Windows) gibt es nicht mehr
Das Verzeichnis selber heißt C:\Program Files, welches lokalisiert wird. (wird im Explorer und den Open-Dialogen übersetzt angezeigt)
Und zur Sicherheit legt das Windows-Setup auch noch eine "unsichtbaren" C:\Programme-Link an, der ins Nichts zeigt, damit es knallt, sollte doch mal ein Programm in C:\Programme schreiben wollen.

Die unsichtbaren SymLinks sollte man nur sehen können, wenn der Explorer "Geschützte Systemdateien" anzeigt.

franktron 14. Mär 2016 14:17

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Also Theoretisch ist das möglich, und zwar wenn die Großkleinschreibung unterschiedlich ist.

Mir ist aber keine Programm unter Windows bekannt was das macht.

Das es geht kann man mit Linux ausprobieren das geht das auch auf NTFS

Dalai 14. Mär 2016 14:22

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Zitat:

Zitat von franktron (Beitrag 1332915)
Also Theoretisch ist das möglich, und zwar wenn die Großkleinschreibung unterschiedlich ist.

Sehr unwahrscheinlich. NTFS kann zwar die Schreibweise unterscheiden (bzw. tut es sogar, wenn eine Systemeinstellung gesetzt ist), die Shell - hier Explorer - kann es aber nicht. Vermutlich würde der Explorer bei zwei gleichnamigen, sich nur in der Schreibweise unterscheidenden Verzeichnissen nur eines davon anzeigen - ist aber nur geraten, hab ich noch nie probiert.

MfG Dalai

himitsu 14. Mär 2016 14:42

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
NTFS ist case-insensitive, also der FileSystemDriver lässt sowas nicht zu, da a = A;
Und nicht Linux macht das, sondern z.B. deren FileSystem(e) ala ext/ext2/ext3/ext4 arbeiten case-sensitiv, womit a <> A.

bra 14. Mär 2016 14:50

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Zitat:

Zitat von himitsu (Beitrag 1332919)
NTFS ist case-insensitive, also der FileSystemDriver lässt sowas nicht zu, da a = A;
Und nicht Linux macht das, sondern z.B. deren FileSystem(e) ala ext/ext2/ext3/ext4 arbeiten case-sensitiv, womit a <> A.

Falsch, NTFS ist case sensitive, allerdings lässt es keinen vernünftigen Zugriff auf mehrere Dateien mit unterschiedlichem Namen in einem Verzeichnis zu.

Siehe auch https://support.microsoft.com/de-de/kb/100625

himitsu 14. Mär 2016 15:28

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Sagte ich doch? ... Der Dateisystemtreiber von Windows ist der Schuldige.
Aber OK, das Dateisystem selber mag vielleicht case-sensitiv sein, aber die Standardtreiber von Windows "nutzen" das halt nicht.

jaenicke 14. Mär 2016 20:31

AW: Advanced Installer erstellt gleichnamige Verzeichnisse und Registryschlüssel
 
Egal welchen Dateimanager ich benutze (Windows Explorer, Speed Commander, ...), es existieren zwei Verzeichnisse. Auch auf der Kommandozeile mit dir usw. werden beide angezeigt. Auch FindFirst, FindNext findet beide Verzeichnisse und in den Ergebnissen waren definitiv keine unterschiedlichen Zeichen.

Und bei der Registry werden diese sowohl über die API als auch über regedit beide angezeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 Uhr.
Seite 1 von 2  1 2      

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