2010-12-09 2 views
20

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

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

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

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

[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 и перезапуском машины, но это также не имеет никакого эффекта.

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

Идеи любой?

+0

Путь ваш вопрос написан приводит меня к мысли, что все это происходящих на одном, одном компьютере Windows 7. Попробовали ли вы восстановить файл Inno Setup с новым значком и запустить его на * втором компьютере? Показывает ли это старую иконку? – 2010-12-09 16:21:53

+1

Я установил это приложение как на «чистую» Windows XP, так и на машину Windows 7. Оба отображают значок правильно. Что может быть кеширование старой иконки на моей машине? Он просто отказывается умирать ... – swirlywonder 2010-12-09 16:58:59

ответ

30

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

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

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

Теперь все оказывает как и должно.

8

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

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

@echo off 
taskkill /IM explorer.exe /F 
cd /d %userprofile%\AppData\Local 
del IconCache.db /a 
start explorer.exe 
Смежные вопросы