我有一個應用程序與Wise安裝程序一起安裝(編輯:明智創建Setup.exe文件,而不是MSI)。在安裝時,一個圖標被設定爲一個特定的文件類型:在Windows上第一次啓動後文檔圖標發生變化
HKEY_CLASSES_ROOT\.auz\DefaultIcon = C:\Path\To\App\some_icon.ico,0
右後安裝,但是,資源管理器選擇使用通用的「白片+應用程序圖標」圖標,這是不同的,以顯示該圖標(和不是由我提供的)。
第一次啓動時,應用程序本身會註冊圖標和其他文件關聯,以便上次運行的版本「擁有」這些文檔。此時,資源管理器將此文件類型的圖標變爲,並顯示正確的一個,但是當我查看註冊表時,DefaultIcon的值與完全相同。
這是我到目前爲止
- 嘗試刪除從註冊表中的所有條目,並寫他們自己。
- 安裝後,「觸摸」DefaultIcon的值,然後啓動一個只調用SHChangeNotify(SHCNE_ASSOCCHANGED)(我的程序在更新註冊表中的文件關聯後執行此操作)的小程序。
- 安裝後,查殺並重新啓動資源管理器。
- 安裝完成後,使用TweakUI「修復」桌面上的圖標。
這些都不起作用。獲得正確圖標的唯一方法是讓程序自己安裝它。我無法在註冊表中找到任何更改。我正在拉我的頭髮。
我想什麼來避免
- 測試與另一個安裝程序軟件
- 更改安裝腳本太多(我沒有懷斯本身,因爲安裝程序被內置在另一臺機器上需求)。
- 將圖標嵌入到可執行文件中。
有關如何讓Explorer在安裝後顯示正確圖標的任何建議?
Stefan,感謝您的意見。 「,0」似乎並不是我的問題的一部分,因爲軟件寫道,它的工作原理。安裝後通知瀏覽器也無濟於事,所以假設2和3似乎也是錯誤的。但好點。 – 2009-01-09 15:31:08