powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
6 сообщений из 6, страница 1 из 1
Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
    #34085728
as111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Есть внетренный в IE контрол. Необходимо, чтобы по нажатию на кнопку у клиента запускалось какое-либо приложение. Пусть это будет блокнот.
Как это можно сделать?
...
Рейтинг: 0 / 0
Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
    #34086110
Scif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Куда внедренный и какой кнопки?
...
Рейтинг: 0 / 0
Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
    #34086204
as111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть Windows Form Control, который размещен на web странице.
Что-то типа
<html>
<body>
<object id="testCONTROL" classid="HelloWordControl.dll#HelloWordControl.TestControl"
    style="width: 10px; height: 10px"></object>
</body>
</html>

Сам контрол костоит из текстового поля и кнопки. И должна происходить следующая процедура. Например.
1. В текстовое поле пишем название программы (notepad.exe)
2. Нажимаем кнопку. На клиенте должен запуститься Блокнот.


Люди советуют написать ActiveX. Но на хрена тогда вся эта супер-пупер технология .NET если я сейчас возьму древний VB и сяду писать ActiveX? Мне кажется должна же быть стандартная технология (альтернатива ActiveX)?

При попытке запустить приложение
Process.Start("notepad.exe") ругается что нет прав.
Permission Set создал, дал все права которые только возможно. Но по видимому еще что-то в коде надо написать...

Ругается так:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Security.SecurityException: Request failed.
   at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
   at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
   at System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Object assemblyOrString, SecurityAction action, Boolean throwException)
   at System.Security.CodeAccessSecurityEngine.CheckSetHelper(CompressedStack cs, PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Assembly asm, SecurityAction action)
   at HelloWordControl.TestControl.CreateFolder()
   at HelloWordControl.TestControl.button1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
The action that failed was:
 
...
Рейтинг: 0 / 0
Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
    #34086247
Scif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:) Ну так чего бы не кличать если Вы пытаетесь выполнить команды на которые у контрола "нет разрешения" Есть т.н. политика безопасности .NET Ваш компонент загружаеться из удаленной сборки, поэтому и прав нет. Вам нужно сделать Increase Assembly Trust в Microsoft .NET Framework x.x Configuration в Администрировании
Для длл Вашего компонента
...
Рейтинг: 0 / 0
Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
    #34086605
as111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, почему-тo Increase Assembly Trust не помогает.
Вообще перестает работать, как только ключом подпишешь. Может я что-то не доделал...
В любом случае спасибо за подсказку.

Сделал Code Groups с указанием на мою DLL и дал ей права Full Trust. По идее то же самое.

И в коде обрамил мою строчку


new SecurityPermission(PermissionState.Unrestricted).Assert();
Process.Start("notepad.exe");
SecurityPermission.RevertAssert();

И заработало!
...
Рейтинг: 0 / 0
Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
    #34086660
Scif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Вообще перестает работать, как только ключом подпишешь
На сколько я понимаю, мы сначала подписываем, а затем делаем Increase Assembly Trust, иначе после подписания строгое имя сборки меняеться и на нее не действует ранее созданное правило....
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как разрешить внедренному в IE контролу выполнить приложение на клиенте?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]