Acceso a dispositivos USB propietarios a través del navegador ... ¿es posible? Silverlight tal vez? (Java está excluido por ahora)

Probablemente hay muchas preguntas similares, pero como sé que solo hay algunas soluciones para esto que no estoy seguro de que funcionen para nosotros, estoy buscando algo más, tal vez nuevas tecnologías ...

Lo que tenemos es este dispositivo USB que no es tan elegante (por supuesto, requiere que se cargue un controlador), y tiene un par de dlls C ++ para ayudar a obtener cierta salida de él. En la parte superior, creamos una aplicación de escritorio C # que hace uso del dispositivo de una manera más atractiva (un montón de interoperabilidad en el interior).

Hasta ahora todo bien, pero para que la aplicación llegue a la web con el fin de obtener más flexibilidad ... ¿Qué opciones hay?

Las soluciones conocidas son:

1)ActiveX - un poco de tecnología antigua y no navegador cruzado;2).Net 'applet' - No es tan común (¿es esto incluso una solución?)3)Applet de Java - bien conocido, pero se necesita JVM (ya que optamos por C ++ C # tal vez está fuera de alcance);4)Servicio web en el propio dispositivo usb. - Nuestro dispositivo es muy ligero, no podemos tenerlo allí.

¿Hay otras formas? ¿Es Silverlight 4, 5 (quizás "fuera del navegador") una solución viable? ¿Qué pasa con estas nuevas tecnologías hoy en día?Html 5 ¿o algo?

EDIT1: En particular estoy interesado en Silverlight. Hay una manera de usarSilverlight?

EDIT2: Encontré esta pregunta:¿Puede Silverlight acceder a una biblioteca .Net que accede a un puerto USB? . ¿Qué debo entender de eso? ¿Realmente Silverlight no es una solución viable para mi escenario?

EDIT 3: MUY IMPORTANTE!

¡Estos dispositivos deben usarse en el lado del cliente! ¡Las personas que navegan deben usarlos localmente en sus PC!

Gracias por adelantado.