Asociación de tipo de archivo con la aplicación (C #)

Tengo algunas preguntas relacionadas:

1) ¿Es posible hacer que mi programa cambie la asociación de tipo de archivo pero solo cuando se está ejecutando? ¿Ves algo malo en este comportamiento?

2) La otra opción que estoy viendo es permitir que los usuarios decidan abrir con mi aplicación o restaurar la asociación predeterminada ... algo como: "capturar todos los archivos .lala" o "restaurar la asociación .lala". ¿Cómo puedo hacer esto? ¿Cuál crees que es el mejor enfoque?

Respuestas a la pregunta(4)

Su respuesta a la pregunta