Actualmente estoy intentando crear una extensión de espacio de nombres de shell (para presentar una carpeta virtual que contenga "subcarpetas" y "archivos", que en realidad son la representación de datos en un árbol jerárquico estructura desde un servicio remoto).Shell Namespace Extension no se carga en Windows 7
La extensión está escrita en C#, que, estoy seguro, solía ser una mala idea, pero desde que .NET 4 introdujo la posibilidad de que diferentes versiones del tiempo de ejecución .NET coexistieran dentro del mismo proceso, pensé la limitación ya no era un problema.
Hasta ahora he conseguido que funcione bien en Windows XP siguiendo los abundantes ejemplos y referencias disponibles en la web, pero cuando lo intento en Windows 7 (todavía no lo he probado en Vista, entonces 'no sé si funcionaría allí), la extensión no está cargada. De acuerdo con mi salida de registro de depuración, se registra bien, pero cuando abro una ventana del Explorador de Windows, parece que no se produce ninguna de las llamadas habituales a las interfaces COM (generalmente comenzando con IPersistFolder :: Initialize). De hecho, ni siquiera se llama al constructor de la clase. No sé si se están consultando las interfaces (con éxito o no) porque no estoy seguro de cómo detectar eso en .NET para poder registrarlo. Entonces, básicamente, no tengo ninguna pista para seguir, porque falla incluso antes de que tenga la oportunidad de registrar cualquier información útil sobre lo que podría estar fallando.
¿Alguien tiene alguna idea de cuál podría ser el problema? ¿Hay alguna peculiaridad en Windows 7 en comparación con Windows XP que deba tenerse en cuenta cuando se trata de extensiones de espacio de nombres de shell que debo tener en cuenta? Si se requieren más detalles, siéntase libre de preguntar (traté de mantenerlo breve, porque estoy seguro de que nadie me agradecería que copiara & pegando todo el código aquí, y no podría cortarlo solo a las partes relevantes porque simplemente no saben cuáles son éstos ...)
Um ... La extensión termina compilada como de 32 bits, y Windows 7 es de 64 bits? .. – GSerg
No, es un Win 7 de 32 bits; Desearía que la solución fuera así de fácil ... –
Esto no responde a su pregunta, pero .NET no es compatible con las extensiones de espacio de nombres de Shell http://msdn.microsoft.com/en-us/library/windows/desktop/dd758089 (v = vs.85) .aspx. –