Запустите локальное приложение с Silverlight - PullRequest
1 голос
/ 18 января 2010

Хотелось бы узнать, есть ли способ запустить локальное приложение с помощью Silverlight.У меня возникают некоторые проблемы с безопасностью при использовании пользовательского элемента управления, встроенного в IE 8, поэтому я хотел бы преобразовать его в приложение Silverlight.Эта небольшая проблема не позволяет мне двигаться вперед с серебряным светом, поэтому, если есть какие-либо предложения, я был бы рад услышать это.

Заранее спасибо ..

Карлос.

Ответы [ 5 ]

1 голос
/ 16 ноября 2010

Абсолютно возможно получить поддержку «Out of Browser» с помощью Silverlight 4. Но для доступа к приложениям на компьютере «Host» необходимо подтвердить, что приложение SL4 является доверенным.

Это будет связано с получением сертификата. Его можно получить в CA (или аналогичном для интернет-приложений), ИЛИ вы можете создать свой собственный сертификат для использования в Интранете и попросить пользователей просто установить его или установить с помощью другого автоматизированного процесса в стиле sys admin.

Суть в том, что когда приложение SL4 работает в режиме OOB И ему доверяют, оно может получить доступ ко всему на хост-машине; в точку.

Даже если вы можете иметь доступ к файлу и т. Д., Вы все равно не можете вызвать приложение напрямую. Это если он не установлен как COM-объект.

Так что вам нужно будет запустить приложение, используя COM-объект «script» хоста. Вы создаете ссылку на хост Script, а затем просто передаете команду (и параметры, если хотите), которая вызовет приложение.

Привет, ты сломал стену: -)

Следует отметить, что пользователь по-прежнему сможет запускать только те приложения на своем компьютере, которые ему разрешены в настоящее время. Таким образом, вы не сможете вызывать инструменты администратора для пользователя с ограниченным контролем.

Смотрите здесь для деталей http://msdn.microsoft.com/en-us/library/dd550721(VS.95).aspx

1 голос
/ 18 января 2010

Это теоретически возможно при использовании COM-взаимодействия с Silverlight OOB в SL4, но у вас все равно будут те же проблемы безопасности, и, кроме того, добавьте некоторые проблемы развертывания.

Чтобы сделать это напрямую из IE, вам нужно создать надстройку, которая будет установлена ​​с соответствующими разрешениями безопасности. Любая «автоматическая» модель для этого нарушит стандартные политики безопасности IE, поэтому нет прямого способа получить информацию из браузера -> локальной системы.

1 голос
/ 18 января 2010

это полностью аннулирует модель безопасности Silverlight. Итак, удачи в этом. Уверен, ты не сможешь это сделать. Это то, что официально известно как «плохая вещь».

Вещи, которые я узнал из Парка Юрского периода: То, что вы МОЖЕТЕ сделать что-то, не означает, что вы ДОЛЖНЫ сделать что-то.

0 голосов
/ 12 февраля 2016

Ваше приложение Silverlight должно быть доверенным, поскольку оно запускается в браузере.

Если вы хотите запустить приложение на локальном компьютере, используйте следующий код:

AutomationFactory.CreateObject("WScript.Shell").Run(FilePath);

Использоватьпространство имен System.Runtime.InteropServices.Automation

0 голосов
/ 18 января 2010

Мне кажется, что вы должны задать вопрос о развитии уже имеющегося у вас пользовательского элемента управления. В конечном счете, независимо от того, какую технологию вы используете, вам нужно будет включить ее вручную. Silverlight, размещенный в браузере, предназначен для того, чтобы жить в красивой и безопасной песочнице, из которой он не может выйти. В данном случае это не решение вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...