В настоящее время я пытаюсь создать собственное расширение пространства имен оболочки (для представления виртуальной папки, содержащей «подпапки» и «файлы», которые на самом деле представляют данные в иерархической древовидной структуре из удаленного сервиса).
Расширение написано на C #, что, как мне известно, было плохой идеей, но с тех пор, как в .NET 4 появилась возможность сосуществования разных версий среды выполнения .NET в одном и том же процессе, я понял, что это ограничение больше не было проблемой.
До сих пор я добился, чтобы он работал нормально в Windows XP, следуя множеству примеров и ссылок, доступных в Интернете, но когда я пробую это в Windows 7 (я еще не пробовал в Vista, поэтому я не не знаю, будет ли это работать там), расширение не загружено. Согласно моему выводу журнала отладки, он регистрируется нормально, но когда я открываю окно проводника Windows, кажется, что не происходит ни одного из обычных вызовов COM-интерфейсов (обычно начиная с IPersistFolder :: Initialize). На самом деле, даже не вызывается конструктор класса. Я не знаю, запрашиваются ли интерфейсы (успешно или нет), потому что я не уверен, как обнаружить это в .NET, чтобы я мог регистрировать его. Так что, по сути, у меня нет никаких улик, потому что это не удается даже до того, как я получу возможность записать любую полезную информацию о том, что может пойти не так.
Кто-нибудь случайно не понял, в чем проблема? Есть ли какие-то особенности в Windows 7, в отличие от Windows XP, которые необходимо учитывать при работе с расширениями пространства имен оболочки, о которых я должен знать? Если требуется более подробная информация, не стесняйтесь спрашивать (я старался быть кратким, потому что я уверен, что никто не оценит, что я скопировал и вставил весь мой код здесь, и я не мог сократить его только до соответствующих частей, потому что я просто не знаю, какие это ...)