Замечательные ссылки выше. Я хотел бы уточнить, что хотя приложения XBAP и ClickOnce по умолчанию запускаются в изолированной программной среде, их можно повысить до более высокого уровня доверия. Это сложнее сделать с XBAP, так как требует, чтобы на компьютере клиента существовала политика безопасности доступа к коду, и нет простого способа получить ее там (кроме запускаемого через Интернет MSI, который не отвечает этой цели).
Приложения Click-Once могут указать, что им необходимы повышенные привилегии в манифесте (это делается в настройках проекта). Когда приложение запускается в первый раз, если ему требуется больше привилегий, чем в зоне по умолчанию (обычно в Интернете), пользователю выдается запрос и предупреждение, но они могут одобрить повышенные права.
Silverlight работает только в безопасной песочнице без возможности повышения. Существует безопасный способ доступа к локальному хранилищу, но нет способа напрямую взаимодействовать с другим оборудованием, таким как USB-устройства. Silverlight отлично подходит для развертывания приложений (почти) без касания, если приложение может находиться в границах безопасности и функций, которые предоставляет Silverlight. Однако Silverlight продолжает развиваться, и эти границы продолжают расходиться. Например, с помощью Live Framework теперь мы можем запускать приложения Silverlight вне браузера на рабочем столе в автономном режиме с синхронизацией данных. У меня есть скринкаст об этом на канале 9 .
Я бы тоже избегал ActiveX, если вы просто не можете вписать то, что вам нужно, в один из этих других профилей. ActiveX становится все более и более ограниченным с каждым выпуском браузера, и его намного сложнее контролировать и гораздо менее безопасно, чем альтернативы. ActiveX может стать головной болью для ИТ-специалистов, что в свою очередь усложняет развертывание приложения на предприятии.
Надеюсь, что это поможет и удачи в вашем проекте.