Есть основная программа, которая при определенном условии запускает второй exe'шник, который должен в свою очередь закрыть основную программу, обновить ее и запустить заново.
Метод основной программы, запускающий второй exe'шник
private void GetProductVersion()
{
int currentVersion = Convert.ToInt32(Application.ProductVersion.Replace(".", ""));
int versionRemote = 0;
string queryProductVersion = String.Format("select \"file_ver\" from dbo.AutoUpdates where \"file_ver\" = '1.0.0.41'");
var loadData = cs.LoadFile("DataConnection.xml");
string connString = String.Format("Data Source={0};Initial Catalog={1};User Id={2};Password={3}", loadData.Host, loadData.Database, loadData.UserId, loadData.PWD);
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(queryProductVersion, conn))
{
versionRemote = Convert.ToInt32(cmd.ExecuteScalar().ToString().Replace(".", ""));
}
}
if (currentVersion < versionRemote)
{
Process.Start(@"D:\Projects\Doc\Update\bin\Debug\Update.exe");
}
}
Второй exe'шник, в котором пытаюсь закрыть основную программу
private void button1_Click(object sender, EventArgs e)
{
try
{
foreach (Process proc in Process.GetProcessesByName("FirstApp.exe"))
{
proc.Kill();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Полный путь также пробовал прописывать для GetProcessesByName
, но программу не закрывает. Чисто для теста пробовал по нажатию кнопки запускать снова основную программу - запускает. На закрытие почему-то не работает.
Где я ошибся?
Просто не используйте расширение исполняемого файла (.exe) при поиска процесса.
Process.GetProcessesByName("FirstApp")
docs.microsoft.com :
Имя процесса — это понятное имя процесса, например Outlook, которое не включает расширение EXE или путь.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Возникает из-за размера террейна(он разбит на 100 частей)Во время сборки проекта:
Подскажите пожалуйстаСоздаю новый поток Thread и запускаю его, затем я проверяю его состояние IsActive, мне нужно когда оно будет равно false снова...
Запускается приложение, и спустя некоторое время, выдаётся ошибки что хром драйвер поддерживает только 74 версию, ну или любую другую, в зависимости...