![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1190 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Основная беда приложений-оболочек для флеша - в система пользователя должен быть установлен ActiveX компонент (флеш-плеер, он же ocx).
Лицензионный Виндус такой возможности (предустановку флеш-плеера), например, не дает. Но все не так плохо, т.к. есть замечательные файлы-манифесты. Т.е. задача запустить приложение с флешом в системе, где нет флеш-плеера (или он не той версии, что нужна), решается просто: 1) Рядом с приложением (в данном случае с .NET приложением на C#) кладем нужный нам флеш-плеер (файл типа, flash9.ocx) 2) Прописываем этот файл в манифест, что-то вроде Код <assemblyIdentity type="win32" name="start.exe" version="1.0.0.0"/> <file name="Flash9.ocx"> 3) Манифест можно оставить отдельным файлом рядом с приложением, либо внедрить в экзешник приложения (ресурс 24) Теперь при запуске флеш-контрол использует не системный флеш-плеер, а свой собственный - локальный. Одна загвоздка. В .NET приложении образуются несколько файлов типа: 1) AxInterop.ShockwaveFlashObjects.dll 2) Interop.ShockwaveFlashObjects.dll 3) flash9.ocx 4) start.exe.manifest (если мы манифест не внедряли в экзешник) Это вовсе не гуд. Хотелось бы все эти dll и ocx внедрить в экзешник (в виде ресурсов). Но тогда встает вопрос: как грузить из ресурсов, да еще при этом использовать манифест, чтобы флеш-контрол опять-таки использовал флеш-плеер загруженный из ресурсов экзешника? Нашел намек на то, что в манифесте можно прописывать и ресурсы: Код <file name="res:///C:\\app.exe\\[id ресурса]"/> Но у меня так не работает. Какой-то секрет есть, либо тонкость. (либо такой возможности на самом деле нет - но было бы странно... либо я неправильно внедряю ocx в экзешник, либо неправильно пишу это в манифест - последнее скорее всего) Если кто-то сильно рубит в теме манифестов или использования внедренных ресурсов - прошу помочь. add: Конструкция типа Код <file name="res:///C:\\app.exe\\[id ресурса]"/> оказалась мифом... Вопрос про возможности манифеста остается открытым, а проблема сокрытия ocx, dll и прочих swf решена пока системой защиты от копирования (все ресурсы собираются в один файл-библиотеку, которая зашифрована). Сообщение отредактировал chingachgoog - 18.05.2009 - 11:51 -------------------- |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 12.09.2014 - 07:22 |