Подтвердить что ты не робот

Неправильный значок ярлыка на рабочем столе Windows 7 (Inno Setup)

Я создал установщик с Inno Setup. Значок, используемый для ярлыка рабочего стола и меню запуска, встроен в исполняемый файл приложения.

Когда установщик был первоначально создан, у меня не было значка конечного продукта из команды дизайнеров. Я использовал временную иконку, когда я завершил установку.

Все работало так, как нужно, пока я не изменил значок для окончательного. Теперь значки ярлыка на рабочем столе и значки меню запуска всегда отображают старый значок, даже если в другом месте значок правильный.

Это раздел объявления значков в script.

[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; WorkingDir: {app}
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}; IconFilename: {app}\Icons\stop.ico
Name: {commondesktop}\{#MyAppVersionName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon; WorkingDir: {app}

Вот что я пробовал: (Это система Windows 7)

Если я посмотрю на свойства ярлыка и выберите "значок изменения", я вижу правильный значок. Повторный выбор не имеет никакого эффекта. Я также попытался выбрать значок, связанный с диском, а затем снова выбрать правильный... еще показывает старый.

Я следил за предложениями по удалению IconCache.db и перезапуском машины, но это также не имеет никакого эффекта.

Где в мире находится старая иконка? Это нигде в установщике.

Идеи кто-нибудь?

4b9b3361

Ответ 1

Кажется, что это действительно связано с файлом IconCache.db. Я могу только догадываться, что что-то не было сделано в правильном порядке (хотя я пробовал разные процедуры более одного раза).

Вот как я выполнил reset вручную:

  • Нажмите кнопку "Пуск" > "Удерживать" Ctrl + Shift и щелкните правой кнопкой мыши на пустой области в меню "Пуск".
  • Выберите "Exit Explorer".
  • Удерживайте клавиши Ctrl + Shift + Esc, чтобы открыть диспетчер задач.
  • Выберите "Файл" > "Новая задача".
  • Тип: cmd (и нажмите Enter). Это откроет командную строку.
  • Тип: cd /d %userprofile%\AppData\Local (и нажмите Enter)
  • Тип: attrib –h IconCache.db (и нажмите Enter)
  • Тип: del IconCache.db (и нажмите Enter)
  • Тип: start explorer (и нажмите Enter)

Теперь все отображается так, как должно быть.

Ответ 2

Как и в ответе swirlywonder, эта партия script должна автоматизировать процесс:

перестраивать-значок-cache.bat

@echo off
taskkill /IM explorer.exe /F
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe