[ENC]BladeXP's Blog

Was die Welt nicht alles braucht!

Symbolische Verknüpfungen unter Windows

geschrieben von encbladexp am 02.11.2011 16:30:00.

Bei uns im Unternehmen wir von der Firma Hager die Software Tebis Visualisierung verwendet. Mal abgesehen davon das die Usability grausam ist gibt es mir dieser Software auch noch 2-3 lustige Bugs bei denen man sich eigentlich an den Kopf fassen muss.

Heute durfte ich z.B. feststellen das Hager bzw. der Entwickler dieser "tollen" Software, wann immer es möglich ist absolute Pfadangaben verwendet. D.h. man verlinkt in einem Projekt eine Grafik, und diese wird mit dem Absoluten Pfad in einem proprietärem Format verlinkt.

So lange man das Projekt an dem Ort lässt wo es ist gibt es kein Problem, allerdings ist das Projekt nur ein Ordner mit einem Haufen .mdb und anderen Dateien drin, u.a. auch meine schönen Grafiken.

Die Konsequenz ist das beim verschieben des Projektordner von der Visualisierung keine Grafiken mehr gefunden werden, den diese wurden ja unter Verwendung der absoluten Pfadangabe gespeichert. Dieser Pfad passt jetzt aber nicht mehr, und somit kann auch die verlinkte Datei nicht geöffnet werden.

Selbst wenn man das Projekt im Installationsverzeichnis belässt hat man ein Problem sobald man auf dem einen System 64-Bit und auf dem anderen 32-Bit Windows verwendet. Den 32-Bit Windows verwendet für 32-Bit Anwendungen c:\Programme\ während aber ein 64-Bit Windows hierfür C:\Programme (x86)\ verwendet. Den Installationspfad kann man aber nur als Administrator ändern, keine gute Voraussetzung in großen Firmen.

Ich habe mich daher entschieden das Problem mit, auch unter Windows vorhandenen, symbolischen Verknüpfungen (Softlinks) zu lösen.

Folgendes genügt hierzu, man benötigt aber auch hier eine Shell mit Administratorrechten (cmd.exe und dann Als Administrator ausführen):

mklink /d "C:\Program Files\Hager Tehalit\" "C:\Program Files (x86)\Hager Tehalit"
Und schon können auch derart kaputte Programme ihre Daten an dem verlinkten Ort im System finden.

Schöner wäre es wenn die Software entweder relativ auf das Projektverzeichnis verlinkt, oder aber die verlinkten Grafiken direkt importiert und somit der Dateiname keine Rolle mehr spielt.