EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Sample code for setting custom icons

Also by EldoS: Rethync
The cross-platform framework that simplifies synchronizing data between mobile and desktop applications and servers and cloud storages
#15017
Posted: 11/11/2010 09:30:36
by Christian Schnidrig (Standard support level)
Joined: 10/25/2010
Posts: 44

No icon in explorer

Quote

[648] DllMain! g_SysBinaryPath =
[648] C:\Windows\SysWow64
[648]
[648] InstallIcon!g_DllPathValid <> true
#15022
Posted: 11/11/2010 11:06:23
by Vladimir Cherniga (EldoS Corp.)

The attached version should fix the bug.


[ Download ]
#15030
Posted: 11/12/2010 06:57:11
by Christian Schnidrig (Standard support level)
Joined: 10/25/2010
Posts: 44

Still no icon.

Debug during IconInstall:

Code
[3504] DllMain! g_SysBinaryPath =
[3504] C:\Windows\SysWOW64
[3504]
[3504] CbFsMntNtf!RegisterStorageIconOverlay:  Registered with success: CLSID =
[3504] CLSID\{68CB86F3-7386-436F-838F-3923AF8D0324}
[3504]
[3504] CbFsMntNtf!RegisterStorageIconOverlay:  Registered with success: CLSID =
[3504] CLSID\{68CB86F3-7386-436F-838F-3923AF8D0324}
[3504]


Debug output after reboot:
Code
[2244] NPGetCaps 2
[2244]   WNNC_NET_TYPE
[2244] NPGetCaps 4
[2244]   WNNC_USER
[2244] NPGetCaps 6
[2244]   WNC_CONNECTION
[2244] NPGetCaps 11
[2244]   WNNC_ENUMERATION
[2244] NPGetCaps 9
[2244]   WNNC_ADMIN
[2244] NPGetCaps 8
[2244]   WNNC_DIALOG
[2244] NPOpenEnum
[2244] querying device name A:
[2244] device name is \Device\Floppy0
[2244] querying device name C:
[2244] device name is \Device\HarddiskVolume3
[2244] querying device name D:
[2244] device name is \Device\CdRom0
[2244] querying device name W:
[2244] device name is \Device\CbFs3Nr\;W:;0;0000000000012d92;WINDOOF;Wuala
[2244] querying device name Z:
[2244] device name is \Device\VBoxMiniRdr\;Z:\VBOXSVR\data
[2244] NpEnumResource
[2244] NpCloseEnum
[1504] DllMain! g_SysBinaryPath =
[1504] C:\Windows\SysWOW64
[1504]
#15031
Posted: 11/12/2010 07:55:27
by Vladimir Cherniga (EldoS Corp.)

Seems that icon installed successfully. Did you restart explorer after SetIcon() method was invoked ? It possible that probem is in 64-bit version of explorer.exe that needs the proper handler in Window\System32 folder path. Here is the proper version of 64-bit dll handler. Replace and reboot.


[ Download ]
#15054
Posted: 11/16/2010 02:38:42
by Christian Schnidrig (Standard support level)
Joined: 10/25/2010
Posts: 44

Ok. I replaced the dll and rebooted.

The icon still doesn't show up.

Here is the Debgug ouput:

Code
[628] DllMain! g_SysBinaryPath =
[628] C:\Windows
[628]
#15056
Posted: 11/16/2010 05:59:43
by Vladimir Cherniga (EldoS Corp.)

I've added DebugView messages to trace the part of code related to icon visibility in explorer. Replace Windows\system32\VsMntNtf3.dll with attached one and post a log from DebugView.


[ Download ]
#15058
Posted: 11/16/2010 07:08:21
by Christian Schnidrig (Standard support level)
Joined: 10/25/2010
Posts: 44

Code

[2892] DllMain! g_SysBinaryPath =
[2892] C:\Windows
[2892]
[2892] CbFsMntNtf!ReadStorageMappings:  REGISTERED CLSID = 0
[2892] {72C3BA91-E208-4C6A-A8A7-3BEB92D9E84D}
[2892]
[936] DllMain! g_SysBinaryPath =
[936] C:\Windows\SysWOW64
[936]
[2660] DllMain! g_SysBinaryPath =
[2660] C:\Windows
[2660]
[2660] CbFsMntNtf!ReadStorageMappings:  REGISTERED CLSID = 0
[2660] {72C3BA91-E208-4C6A-A8A7-3BEB92D9E84D}
[2660]

Code
[HKEY_LOCAL_MACHINE\SOFTWARE\VsMntNtf\DriveIconMappings\0]
"CLSID"="{72C3BA91-E208-4C6A-A8A7-3BEB92D9E84D}"
"IconPath"="C:\\Users\\christian\\workspace\\CBFS\\installer\\icon.ico"
"TmpIconPath"="C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\ico2303.tmp"
"IconId"="Wuala"
"IconIndex"=dword:00000000
"StorageType"=dword:00000006
#15061
Posted: 11/16/2010 07:27:49
by Vladimir Cherniga (EldoS Corp.)

Is it another registry entries with {72C3BA91-E208-4C6A-A8A7-3BEB92D9E84D} name exists under HKCR\CLSID path ?
#15062
Posted: 11/16/2010 08:12:46
by Christian Schnidrig (Standard support level)
Joined: 10/25/2010
Posts: 44

Code
[HKEY_CLASSES_ROOT\CLSID\{72C3BA91-E208-4C6A-A8A7-3BEB92D9E84D}]
@="1EldosIconOverlay"
#15065
Posted: 11/16/2010 10:30:17
by Vladimir Cherniga (EldoS Corp.)

I've added more tracing to narrow the search of a problem.


[ Download ]
Also by EldoS: CallbackRegistry
A component to monitor and control Windows registry access and create virtual registry keys.

Reply

Statistics

Topic viewed 78959 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!