22

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 を削除してマシンを再起動するという提案に従いましたが、これも効果がありません。

古いアイコンはどこから来たのですか?インストーラーのどこにもありません。

アイデアはありますか?

4

2 に答える 2

31

これは確かにIconCache.dbファイルに関連しているようです。私は何かが正しい順序で行われなかったと推測することしかできません(私は異なる手順を複数回試しましたが)。

手動でリセットを実行した方法は次のとおりです。

  • [スタート]ボタンをクリック> Ctrl+を押しShiftたままにして、[スタート]メニューの空の領域を右クリックします。
  • 「エクスプローラーを終了」を選択します。
  • + Ctrl+キーを押したままにして、タスクマネージャを開きますShiftEsc
  • 「ファイル」>「新規タスク」を選択します。
  • 次のように入力します:cmd(そしてを押しEnterます)。これにより、コマンドプロンプトが開きます。
  • 次のように入力しますcd /d %userprofile%\AppData\Local(そしてを押しEnterます)
  • 次のように入力しますattrib –h IconCache.db(そしてを押しEnterます)
  • 次のように入力しますdel IconCache.db(そしてを押しEnterます)
  • 次のように入力しますstart explorer(そしてを押しEnterます)

これで、すべてが適切にレンダリングされます。

于 2010-12-09T17:37:33.473 に答える
10

swirlywonder の回答のように、このバッチ スクリプトはプロセスを自動化する必要があります。

再構築-アイコン-cache.bat

@echo off
taskkill /IM explorer.exe /F
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe
于 2013-01-31T21:31:17.580 に答える