Integración en el menú contextual del Explorador de Windows

Quiero escribir una pequeña herramienta, que haga lo siguiente:

Cuando hace clic con el botón derecho en un archivo con cierta extensión de archivo, el menú contextual del Explorador de Windows muestra una entrada adicional.

Al hacer clic en esta entrada, se inicia un archivo EXE determinado con este archivo como uno de sus parámetros.

Me gustaría usar C # / .NET 2.0 para esto. Si no es posible, también podría hacerlo con C ++ / Win32.

Mis preguntas son:

¿Es posible con C # .NET 2.0?¿Cuáles son las funciones necesarias para integrarse en el menú contextual del Explorador de Windows?¿Cómo puedo hacer esto permanente? (No quiero relanzar esta herramienta después de cada arranque)¿Qué tengo que tener especial cuidado? (diferentes sistemas operativos, permisos de seguridad, etc.)

Respuestas a la pregunta(2)

Su respuesta a la pregunta