Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Связь двух сборок / 14 сообщений из 14, страница 1 из 1
12.08.2014, 12:59
    #38718055
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
Навязшая в зубах тема, но тем не менее.

Строим свой лаунчер, о двух колесах и одном руле. Лаунчер является отдельной сборкой (.exe) и пишется к существующему приложению, во время запуска которого происходит много всяких инициализирующих процессов.

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

Варианты:

1. Запустить основное приложение через domain.ExecuteAssembly, подписаться на всё, что надо, и отображать. Но тут есть проблема: как по окончании инициализации закрыть лаунчер. Ибо ExecuteAssembly - операция синхронная, а если ее запустить в отдельном потоке, то лаунчер нельзя будет закрыть, не завершив все порожденные им потоки.

2. Запустить основное приложение через Process.Start. Тогда вопрос - как получать оповещения о ходе инициализации.

3. Еще как-то (?)

Буду благодарен за любые идеи по поводу. А за похожее готовое решение например на stackoverflow буду благодарен еще больше.
...
Рейтинг: 0 / 0
12.08.2014, 13:12
    #38718082
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
zz,
как один из вариантов можно воспользоваться глобальной таблицей атомов winapi, можно получать уведомления и строковый данные
о инициализации, ну а команду на отключение тут выбор за вами..
...
Рейтинг: 0 / 0
12.08.2014, 13:49
    #38718148
sphinx_mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
zzНавязшая в зубах тема, но тем не менее.

Строим свой лаунчер, о двух колесах и одном руле. Лаунчер является отдельной сборкой (.exe) и пишется к существующему приложению, во время запуска которого происходит много всяких инициализирующих процессов.

Требуется в лаунчере отображать красивый прогресс-бар, информирующий скучающего пользователя о ходе инициализации основного приложения. Следовательно, лаунчер должен каким-то образом получать оповещения от основного приложения о ходе инициализации.
"Все страньше, и страньше..." (с)
Не понял/не вижу никакого смысла в отдельном лаунчере при такой постановке задачи...

Существующее приложение так или иначе должно информировать лаунчер о происходящих инициализирующих процессах - если это не реализовано, придется допиливать. А в случае "допила" гораздо проще при старте приложения быстренько показывается "легковесный" сплэшскрин с прогрессбаром, логами, блэкджеком и девушками (с) - и все...
...
Рейтинг: 0 / 0
12.08.2014, 13:57
    #38718169
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
sphinx_mv, в лаунчер впихнута самолепная система обновления.
...
Рейтинг: 0 / 0
12.08.2014, 14:28
    #38718237
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
zzв лаунчер впихнута самолепная система обновления.Что мешает совместить? лаунчер запустился, показал свой сплешскрин, обновил приложение при необходимости и запустил его, а дальше
sphinx_mvпри старте приложения быстренько показывается "легковесный" сплэшскрин с прогрессбаром, логами, блэкджеком и девушками (с) - и все...
...
Рейтинг: 0 / 0
12.08.2014, 14:42
    #38718262
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
Многоуважаемые менеджеры хотят видеть единое окно с единым прогрессбаром и для процесса обновления, и для инициализации, и для всяких других блекджеков.
...
Рейтинг: 0 / 0
12.08.2014, 14:45
    #38718273
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
Ну так и пусть оно выглядит одинаково
...
Рейтинг: 0 / 0
12.08.2014, 14:48
    #38718276
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
Идея понятна, возможно, мы в конце концов так по-страусиному и поступим.
Но пока хотелось бы соблюсти честность, поэтому курю таблицу атомов, по совету Где-то в степи.
...
Рейтинг: 0 / 0
12.08.2014, 15:11
    #38718319
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
Я бы попробовал копнуть в сторону использования WaitEventHandle+Remoting - примерно так, как это сделано здесь (в коде по ссылке цель совсем другая, но промежуточная задача та же самая - взаимодействие между двумя независимыми процессами).
...
Рейтинг: 0 / 0
12.08.2014, 15:40
    #38718384
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
wcf + named pipes binding.
...
Рейтинг: 0 / 0
12.08.2014, 16:49
    #38718552
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
ЕвгенийВwcf + named pipes binding.
похоже, это именно то, о чем так долго говорили большевики.
Спасибо.
...
Рейтинг: 0 / 0
12.08.2014, 18:01
    #38718650
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
zz,
Самое простое это с приложения слать в лаучер postmessage, предварительно получив дескриптор последнего
или через параметр или через findwindow? а в процедуре окна пускателя отлавливать что пришло, правда выбор богатств не велик -
всего два параметра..
...
Рейтинг: 0 / 0
12.08.2014, 21:32
    #38718802
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
Где-то в степи... а в процедуре окна пускателя отлавливать что пришло, правда выбор богатств не велик -
всего два параметра..И что? В качестве параметров можно выдавать позицию в файле лога запуска приложения и размер записи, приложение пишет в файл прогресс запуска (всякие красивые строчки), а запускалка читает из него нужное сообщение и отображает. Заодно и лог запуска останется... А там - гуляй фантазия...
...
Рейтинг: 0 / 0
13.08.2014, 16:16
    #38719560
Macks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь двух сборок
Shocker.ProНу так и пусть оно выглядит одинаково

+1

Одинаковые размеры и картинка.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Связь двух сборок / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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