-
есть сборка - библиотека классов. В нее кроме прочего входят текстовый файл (sql скрипт) и .нет эхешник. Программа вызывает метод из библиотеки. Метод читает текстовый файл, а потом должен запустить на выполнение эхешник. Текстовый читается легко:
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream str = asm.GetManifestResourceStream(asm.GetName().Name + "." + name);
System.IO.StreamReader reader = new System.IO.StreamReader(str);
А вот как запустить эхе на выполнение - непонятно.
-
Посмотри в MSDN описание класса Process
-
Смотрел, как вызвать из ехе файла метод знаю, как сам файл запустить - нет. Делал так:
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
string ИмяФайла = asm.GetName().Name + "." + "ИмяФайла.exe";
Process SetParametrsProc = Process.Start(SetParamsExe);
SetParametrsProc.WaitForExit();
SetParametrsProc.Close();
файл не находится по пути
-
А что такое SetParamsExe, и откуда оно?
-
это всего - лишь строка, в которой имя ехе файла в сборке
-
если есть отдельный .exe файл и пусть к нему, то
string appn = "Путь:\\Нужная мне программа.exe"
Process.Start(appn);
или
Process.Start(appn," Параметры для задачи");
-
А если попробовать так
SetParamsExe = Application.StartupPath + "\\ИмяФайла.exe";
-
Запускаем сами себя три раза
private void button1_Click(object sender, EventArgs e)
{
string appn = Application.ExecutablePath;
Process.Start(appn);
Process.Start(appn,"12");
AppDomain d=AppDomain.CreateDomain(appn);
d.ExecuteAssembly(appn, null, new string [] {"15"});
// существенная разница от Process.Start - почитай сам, интересно
}//end button1_click