tsrich
2011-11-16 19:33:04 UTC
I have an namespace extension and would like to install it without requiring a reboot.
However, on Windows 7 systems where Windows Explorer is set to start all folders under the same process, my namespace does not appear in explorer windows till the desktop explorer.exe is restarted. If I launch a new explorer process (using winexec), the namespace shows up. If the Windows Explorer setting is changed to start new folders in another process (prior to the install), then everything works fine.
The code is notifying the shell of the new namespace using:
SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl);
SHChangeNotify(SHCNE_UPDATEDIR, SHCNF_IDLIST, pidl, 0);
I've tried various other combinations and none had an affect.
Does anyone have any idea how to make this work? I'd rather not force a reboot after the install.
However, on Windows 7 systems where Windows Explorer is set to start all folders under the same process, my namespace does not appear in explorer windows till the desktop explorer.exe is restarted. If I launch a new explorer process (using winexec), the namespace shows up. If the Windows Explorer setting is changed to start new folders in another process (prior to the install), then everything works fine.
The code is notifying the shell of the new namespace using:
SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl);
SHChangeNotify(SHCNE_UPDATEDIR, SHCNF_IDLIST, pidl, 0);
I've tried various other combinations and none had an affect.
Does anyone have any idea how to make this work? I'd rather not force a reboot after the install.