Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Развертывание локального приложения на .NET, вопрос по манифестам
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
chingachgoog
сообщение 6.04.2009 - 13:37
Сообщение #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


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 12.09.2014 - 07:22