Как установить один exe файл из другого в C#

222
21 августа 2017, 06:51

Нашел метод Procces.Start(); но это немножко не то что мне надо. Значит сейчас у меня есть 2 .exe файла, один из них это красивое окошко, другой это консольное приложение Windows. Сейчас я тоскаю с собой 2 файла и в оконном приложение запускаю консольное. Можно ли как-то убрать консольное приложение в оконное, чтобы остался один файл и установка консольного была из оконного. Надеюсь понятно, что я хочу.

Answer 1
  1. Добавляете ехе-файл к проекту оконного приложения.
  2. Смотрите свойства ехе-файла в Solution Explorer, меняете Build Action на Embedded Resource.

Следующий код для оконного приложения:

byte[] bytes;
// извлекаем embed resource в массив байт
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("WindowApp.EmbedExe.exe"))
using (var ms = new MemoryStream())
{
    stream.CopyTo(ms);
    bytes = ms.ToArray();
}
// загружаем сборку
var asm = Assembly.Load(bytes);
// запускаем метод точки входа с параметром null
asm.EntryPoint.Invoke(null, new object[] { null });

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

Assembly.GetExecutingAssembly().GetManifestResourceNames()
READ ALSO
Как получить параметры из route path?

Как получить параметры из route path?

Столкнулся с проблемой, что нужно получить параметр, который был передан в routeЕсть код:

210
jQuery плагины - для чего нужен init()?

jQuery плагины - для чего нужен init()?

Создаю jQuery-плагинПо инструкции в интернете надо делать так:

310
Получение generic-типа

Получение generic-типа

Есть нижеприведённый кодКод пытается сделать класс для создания обработчиков React-компонента

204
Передать значение чекбокс с пробелом

Передать значение чекбокс с пробелом

Здравствуйте! проблема такая как передать значение чекбокса если это значение с пробелом :

572