Programmiconwechsel
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Programmiconwechsel
Mir ist gerade aufgefallen, dass es wohl Probleme bereitet, wenn man ein Programmicon wechselt. Ich habe das Programmicon (oben links) gegen ein anderes getauscht. Da ich mit Innosetup arbeite wird ein Desktopicon erzeugt. Dieses Desktopicon wird aber bei einer Updateinstallation anscheinend nicht mit gewechselt. Also habe ich das komplette Verzeichnis gelöscht nebst Desktoplink gelöscht. Es wird aber trotzdem das alte Icon weiter angezeigt bei einer Neuinstallation. Was passiert da?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Programmiconwechsel
So richtig habe ich deine Beschreibung nicht verstanden.
1. Du hattest erfolgreich ein eigenes Icon im Programm installiert (also oben links wenn die Exe läuft und im Explorer bei der Icon Anzeige. Richtig ?
2. Das Programm wurde mit Innosetup installiert und ein LINK mit dem Icon auf deine Anwendung wurde angelegt. Gleiches Icon beim Aussehen.
3. Nun hast du ein neues Icon im Programm eingebunden und es auch installiert, das neue Icon wird in der Anwendung verwendet.
4. Was zeigt der Explorer im EXE Ordner für diese EXE an ? Vermutlich das neue Icon richtig ?
5. Ein LINK auf der Arbeitsoberfläche zeigt aber noch das alte an - richtig ?
Wenn InnoSetup den erste LINK erstellt hat und nun den nicht updatet, fehlt eventuell die Anweisung dazu im UpdateSkript ?
Oder der Link wurde per Hand angelegt / geändert (Name z.B.) dann findet InnoSetup diesen nicht.
Im LINK neues Icon suchen und das neue wählen, oder aus der EXE einen ShellLink... anlegen/löschen
ShellLinkCreate() - Erzeugt eine Dateiverknüpfung.
1. Du hattest erfolgreich ein eigenes Icon im Programm installiert (also oben links wenn die Exe läuft und im Explorer bei der Icon Anzeige. Richtig ?
2. Das Programm wurde mit Innosetup installiert und ein LINK mit dem Icon auf deine Anwendung wurde angelegt. Gleiches Icon beim Aussehen.
3. Nun hast du ein neues Icon im Programm eingebunden und es auch installiert, das neue Icon wird in der Anwendung verwendet.
4. Was zeigt der Explorer im EXE Ordner für diese EXE an ? Vermutlich das neue Icon richtig ?
5. Ein LINK auf der Arbeitsoberfläche zeigt aber noch das alte an - richtig ?
Wenn InnoSetup den erste LINK erstellt hat und nun den nicht updatet, fehlt eventuell die Anweisung dazu im UpdateSkript ?
Oder der Link wurde per Hand angelegt / geändert (Name z.B.) dann findet InnoSetup diesen nicht.
Im LINK neues Icon suchen und das neue wählen, oder aus der EXE einen ShellLink... anlegen/löschen
ShellLinkCreate() - Erzeugt eine Dateiverknüpfung.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Programmiconwechsel
Fast richtig Hubert.
Ich habe alles entfernt und so getan, als wenn es nie installiert wurde. Dann habe ich das Setup nochmal laufen lassen, aber das ICON von früher wurde am Desktop wieder angezeigt. Es ist nur eine einfache Installation. Es werden (zumindest nicht bewußt von mir) keine Einträge irgendwo gemacht.
Ich habe alles entfernt und so getan, als wenn es nie installiert wurde. Dann habe ich das Setup nochmal laufen lassen, aber das ICON von früher wurde am Desktop wieder angezeigt. Es ist nur eine einfache Installation. Es werden (zumindest nicht bewußt von mir) keine Einträge irgendwo gemacht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Programmiconwechsel
Hallo,
das Problem kommt mir bekannt vor. Es hängt wohl damit zusammen, dass Windows unter anderem auch diese Icons cachet (oder wie auch immer das geschrieben wird). Daher wird das Icon aus dem Cache genommen.
Versuche doch mal, die Verknüpfung zu löschen und das Programm umzubenennen, und danach wieder die Verknüpfung zu erstellen. Vielleicht greift dann der Cache nicht mehr.
das Problem kommt mir bekannt vor. Es hängt wohl damit zusammen, dass Windows unter anderem auch diese Icons cachet (oder wie auch immer das geschrieben wird). Daher wird das Icon aus dem Cache genommen.
Versuche doch mal, die Verknüpfung zu löschen und das Programm umzubenennen, und danach wieder die Verknüpfung zu erstellen. Vielleicht greift dann der Cache nicht mehr.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Programmiconwechsel
Wie gesagt, man kann auch PER XBASE++ Programm so einen LINK auf dem Desktop erstellen.
Ich würde auf dem Desktop nach *.lnk Dateien suchen, diese mit memoedit() einlesen und nach der EXE Datei suchen
ein Menüpunkt wäre nicht schlecht ... LINK löschen / erzeugen
Ich würde auf dem Desktop nach *.lnk Dateien suchen, diese mit memoedit() einlesen und nach der EXE Datei suchen
Code: Alles auswählen
cPfad := getenv("HOMEPATH") \users\...\desktop ...
aLNKDat := directory(...)
cExe := upper(AppName())
for x := 1 to len(aLNKDat)
cLnk := cPfad+"\"+aLNKDat[x]
buf := upper(memoread( cLnk )
if cExe $ buf )
buf := nil
delete file (cLnk)
if ShellLinkCreate( AppName(.t.), cLnk, ? cWorkingDir ? , ? CmdArgs ? , ? cDescr ? )
OK
else
Fehler
endif
? exit ?
endif
next
Gruß
Hubert
Hubert