EldoS | Feel safer!

Software components for data protection, secure storage and transfer

SetIcon not working

Also by EldoS: BizCrypto
Components for BizTalk® and SQL Server® Integration Services that let you securely store and transfer information in your business automation solutions.
#22354
Posted: 11/05/2012 07:56:02
by Michael Grimes (Priority Standard support level)
Joined: 08/08/2012
Posts: 14

I have been unable to get the SetIcon call working. I believe the InstallIcon has been done correctly. Here is a Registry dump for that:

Key Name: HKEY_LOCAL_MACHINE\SOFTWARE\VsMntNtf\DriveIconMappings\0
Class Name: <NO CLASS>
Last Write Time: 11/3/2012 - 8:17 PM
Value 0
Name: CLSID
Type: REG_SZ
Data: {C913C1DB-7503-4EA7-ABC5-A949B2EA0B14}

Value 1
Name: IconPath
Type: REG_SZ
Data: C:\src\NewUX\bitcasawin\x64\Debug\bdrive.ico

Value 2
Name: TmpIconPath
Type: REG_SZ
Data: C:\Users\build\AppData\Local\Temp\ico114F.tmp

Value 3
Name: IconId
Type: REG_SZ
Data: BDRIVE_ICON

Value 4
Name: IconIndex
Type: REG_DWORD
Data: 0

Value 5
Name: StorageType
Type: REG_DWORD
Data: 0x6


Key Name: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\1EldosIconOverlay
Class Name: <NO CLASS>
Last Write Time: 11/3/2012 - 8:17 PM
Value 0
Name: <NO NAME>
Type: REG_SZ
Data: {C913C1DB-7503-4EA7-ABC5-A949B2EA0B14}

Key Name: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\EldosIconOverlay
Class Name: <NO CLASS>
Last Write Time: 11/3/2012 - 7:09 PM
Value 0
Name: <NO NAME>
Type: REG_SZ
Data: {5BB532A2-BF14-4CCC-86B7-71B81EF6F8BC}


When I call SetIcon from c++ like this:

SetIcon(L"BDRIVE_ICON");

I get no error thrown. The icon does not change. I even tried calling SetIcon with a bogus
ID and it still did not throw anything.

I believe the icon file to be ok since I can use explorer to do a customize->change icon on a folder using it and I see the icon.

What an I missing? Thanks...
#22355
Posted: 11/05/2012 08:06:39
by Vladimir Cherniga (EldoS Corp.)

In order to make installed icon work you should restart shell at least, or reenter logon session. Alternatively, you may kill "explorer.exe" process, then restart it. Also please specify what CallbackFS version used.
#22357
Posted: 11/05/2012 09:23:53
by Michael Grimes (Priority Standard support level)
Joined: 08/08/2012
Posts: 14

I restarted the machine after InstallIcon. The registry dump I provided was after the restart.

I am running CBFS 3.2.114.291 on windows 7.
#22358
Posted: 11/05/2012 10:48:02
by Vladimir Cherniga (EldoS Corp.)

Do you find CbFsMntNtf3.dll file under %windir%\system32\ path ? Windows 7 x64 or x32 edition ? With process explorer utility do you find mounter dll loaded into the explorer.exe process ? Can you post icon file so we could check the issue locally ? Thanks.
#22359
Posted: 11/05/2012 14:42:25
by Michael Grimes (Priority Standard support level)
Joined: 08/08/2012
Posts: 14

CbFsMntNtf3.dll is in C:\Windows\System32 and C:\Windows\SysWOW64

CbFsMntNtf3.dll and CbFsNetRdr3.dll appear in explorer.


bdrive.ico sent via wetransfer.com to support@eldos.com
http://wtrns.fr/G1sZkYCl50lbaVu
#22362
Posted: 11/06/2012 13:29:36
by Vladimir Cherniga (EldoS Corp.)

Thanks, it should work with a provided icon file as seen on attached screenshort. In addition, could you check that temporary file (C:\Users\build\AppData\Local\Temp\ico114F.tmp) exists when you complete reboot the machine ?


#22367
Posted: 11/06/2012 16:30:33
by Michael Grimes (Priority Standard support level)
Joined: 08/08/2012
Posts: 14

I checked - the file C:\Users\build\AppData\Local\Temp\ico114F.tmp does exist.

Still cannot get the icon to show up.
#22368
Posted: 11/06/2012 17:16:18
by Vladimir Cherniga (EldoS Corp.)

Check please that you have a registry entries named with "{C913C1DB-7503-4EA7-ABC5-A949B2EA0B14}" and that it points to the installed CbFsMntNtf3.dll with a valid path to it.
#22369
Posted: 11/06/2012 18:39:11
by Michael Grimes (Priority Standard support level)
Joined: 08/08/2012
Posts: 14

Here (I hope) is the info you requested:


Key Name: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{C913C1DB-7503-4EA7-ABC5-A949B2EA0B14}
Class Name: <NO CLASS>
Last Write Time: 11/3/2012 - 8:17 PM
Value 0
Name: <NO NAME>
Type: REG_SZ
Data: 1EldosIconOverlay


Key Name: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{C913C1DB-7503-4EA7-ABC5-A949B2EA0B14}\InProcServer32
Class Name: <NO CLASS>
Last Write Time: 11/3/2012 - 8:17 PM
Value 0
Name: <NO NAME>
Type: REG_SZ
Data: C:\Windows\system32\CbFsMntNtf3.dll

Value 1
Name: ThreadingModel
Type: REG_SZ
Data: Apartment
#22370
Posted: 11/06/2012 19:15:44
by Vladimir Cherniga (EldoS Corp.)

You should find also identical entries under HKEY_CLASSES_ROOT\CLSID\ and HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID. If not, there is something wrong with installation. In this case check that icon installation made with an administrative rights.
Also by EldoS: RawDisk
Access locked and protected files in Windows, read and write disks and partitions and more.

Reply

Statistics

Topic viewed 3379 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!