Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Desktop-Icons von Delphi-Programmen verschwinden (https://www.delphipraxis.net/190628-desktop-icons-von-delphi-programmen-verschwinden.html)

Jumpy 21. Okt 2016 10:23

Desktop-Icons von Delphi-Programmen verschwinden
 
Hallo,

ich habe ein seltsames Phänomen bei meinem Windows 7 Rechner:
Auf dem Desktop liegen Desktop-Links zu mit Delphi geschriebenen Programmen, die auf einem Netzlaufwerk liegen. Das Icon der Links entspricht wie gewohnt dem des Programmes.

Es kommt aber sehr oft vor (z.B. mach der Installation eines Programmes o.ä.) das diese Icons verschwinden und durch so ein Windows-Standard-Ding ersetzt werden. Um diese wieder zu bekommen, muss ich den Icon-Cache löschen und den Explorer neu starten. Ist kein Problem aber lästig.

Die Frage ist nur, woher das kommt? Warum verschwinden die Icons der Desktop-links nur bei den Delphi-Programmen? Haben wir die Icons irgendwie falsch erstellt/eingebunden?

In den Delphi-Programmen wurden die Icons einfach in den Projekt-Optionen eingebunden.

milo 21. Okt 2016 11:43

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Schau mal bei Microsoft unter "Windows 7, Icons verschwinden" nach. Es handelt sich hier nicht um ein Phänomen von Delphi Programmen, sondern um ein Windows 7 Problem mit Verknüpfungen von Programmen / Dateien auf einem Netzlaufwerk.
Bei meinen Kunden ist es auch schon häufiger passiert, dass diese Symbole komplett verschwinden.

Gruß :D Michael

stahli 21. Okt 2016 12:27

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Ich hatte irgendwo im Netz mal eine Batch gefunden, die die Icons wiederhergestellt hat.
Ggf. kann ich das nochmal raussuchen...

sakura 21. Okt 2016 12:31

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Allgemein übliches Command, um unter Windows den Icon Cache zu löschen:
Code:
ie4uinit.exe -ClearIconCache
.

...:cat:...

einbeliebigername 21. Okt 2016 12:38

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Hallo,

ich habe mir da ein Powershellskript gebastelt. Ob die Anleitung, auf dem das basiert, richtig war, weiß ich nicht. Benutzung auf eigene Gefahr.

Für Windows 7:
Code:
Get-Process explo* | foreach { 
  $_.kill()
  $_.WaitForExit()
}

(Get-Item ($env:LOCALAPPDATA+ "\IconCache.db") -Force).Delete()

explorer.exe
einbeliebigername.

Jumpy 21. Okt 2016 12:53

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Ich sag ja nicht, dass ich die Icons nicht wiederholen kann. Hier meine Batch dafür, die ich irgendwo im Netz gefunden habe:

Code:
@echo off
taskkill /im explorer.exe /f
del %userprofile%\AppData\local\iconcache.db /a
explorer.exe
Ich war nur Neugierig bzgl. der Ursache, weil ich den Eindruck hatte, dass das nur unsere eigenen Progamme betraf, schon im Zusammenhang Netzlaufwerk. Fremde über Netz eingebundene Programme hatten das soweit ich mich erinnere nicht. Muss ich mal sehen, wenn das das nächste mal vorkommt.

Werde mal milos Vorschlag folgen und bei MS suchen.

himitsu 21. Okt 2016 13:06

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Windows hat paar Aufräumfunktionen, die aber standardmäßig deaktiviert sind, oder zumindestens eine "soll ich wirklich löschen"-Frage stellen.

* länger nicht angeklickte Icons werden gern entfernt
* Icons/Links zu nicht existierenden Programmen werden entfernt (da kommt eigentlich 'ne Frage, wenn man das Programm starten will)
Letzteres vorallem bei SUBST- und Netzlaufwerken.

* aber beim Explorer (Desktop ist ja och 'nen Explorer) war mir jetzt aufgefallen, dass Windows 10 nicht mehr beim Löschen fragt, wenn man "ausversehn" [Entf] erwischt.

nahpets 21. Okt 2016 13:10

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Die Ursache ist (vermutlich) ganz einfach:

Bei Delphiprogrammen ist das Icon in der Exe, fehlt die Exe, weil das Netzlaufwerk nicht verfügbar ist, so wird ein "Standardicon" genommen.

Etliche Icons werden aber nicht aus 'ner Exe entnommen, sondern aus irgendeiner Systemdatei. Diese Icons gehen nicht verloren, auch wenn die zugeordnete Exe (sporadisch) nicht verfügbar ist, da die Datei, die das Icon enthält, weiterhin verfügbar ist.

Hat der Explorer nun aber mal ein Icon nicht finden können (weil Exe auf Netzlaufwerk nicht erreichbar) und hat nun ein Standardicon genommen, dann merkt er sich das halt und man sieht nun "auf Dauer" dieses Icon.
Nur wenn (nach mir nicht bekannten Kriterien) der Link (und/oder der Iconcache) aktuallisiert wird und dabei festgestellt wird, dass die Exe auf dem Laufwerk verfügbar ist, so wird wieder das richtige Icon angezeigt.

(So scheint das Verhalten des Explorers vermutlich zu sein, einen fundierten Beweis für diese meine Behauptung, kann ich nicht liefern. ;-))

Aber dieses Verhalten kenne ich, seit ich Windows und externe Laufwerke bzw. Netzlaufwerke kenne. Und das ist schon einige Windowsversionen her ;-)

Aviator 21. Okt 2016 13:24

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Zitat:

Zitat von himitsu (Beitrag 1351636)
Windows hat paar Aufräumfunktionen, die aber standardmäßig deaktiviert sind, oder zumindestens eine "soll ich wirklich löschen"-Frage stellen.

[...]

* Icons/Links zu nicht existierenden Programmen werden entfernt (da kommt eigentlich 'ne Frage, wenn man das Programm starten will)
Letzteres vorallem bei SUBST- und Netzlaufwerken.

Das stimmt so nicht ganz. Windows hat Aufräumfunktionen die im Hintergrund durch die Aufgabenplanung durchgeführt werden (Maintenance Scripts). So werden Icons deren Programme nicht mehr verfügbar sind (sei es durch ein noch fehlendes Netzlaufwerk beim Start oder sonstigem) einfach unwiderruflich gelöscht wenn die Anzahl größer 4 ist. Und hierbei spielt es keine Rolle, ob die Programme zwischenzeitlich mal wieder erreichbar waren.

Man kann diese Zahl "4" manuell hoch setzen auf 50 oder 100 oder XY. Dann passiert es erst wieder, wenn diese Anzahl erreicht ist. Aber um die Zahl ändern und das Script zu speichern, muss man zuerst mal den Besitz übernehmen und sich die Rechte für die Datei geben und dann nach der Bearbeitung wieder umgekehrt herum.

Zitat:

Zitat von himitsu (Beitrag 1351636)
* aber beim Explorer (Desktop ist ja och 'nen Explorer) war mir jetzt aufgefallen, dass Windows 10 nicht mehr beim Löschen fragt, wenn man "ausversehn" [Entf] erwischt.

Auch das kann man einstellen. Stört mich auch extrem, dass das jetzt Standard ist. Einfach rechte Maustaste auf den Papierkorb --> Eigenschaften --> Haken bei "Dialog zur Bestätigung des Löschvorgangs anzeigen" reinmachen.

EDIT: In unserer Firma habe ich bspw. per GPO diesen Haken für alle erzwungen. Nicht das jemand plötzlich wichtige Dateien von einem Laufwerk löscht und keine Nachfrage kommt. Das ist schneller passiert als manche denken. Und bei einem Netzlaufwerk gibt es keinen Papierkorb.

Bernhard Geyer 21. Okt 2016 13:30

AW: Desktop-Icons von Delphi-Programmen verschwinden
 
Windows hat vermutlich schon seit Win2000 in diesem Bereich Fehler das der Icon-Cache nicht richtig funktioniert.
Und ich vermute das MS das niemals fixen wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 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