Olá pessoal, nessa rotina, quero executar file.Name que é o nome do executável com data e hora mais recente, file.Name pode variar podendo ser LOJA.EXE, LOJA001.EXE etc, mas não estou conseguindo executá-lo, o que há de errado nessa rotina
?
namespace Primeiro
{
class Program
{
static void Main(string[] args)
{
string aplicativo;
try
{
DirectoryInfo dirInfo = new DirectoryInfo(Environment.CurrentDirectory);
FileInfo[] files = dirInfo.GetFiles("LOJA*.exe", SearchOption.TopDirectoryOnly);
IOrderedEnumerable<FileInfo> maisRecente = files.OrderBy(x => x.CreationTime);
int i = 0;
foreach (FileInfo file in maisRecente)
{
// Verificamos se o arquivo atual não é o próprio laucher
if (file.Name != AppDomain.CurrentDomain.FriendlyName)
{
Console.WriteLine(@"{i +1} - {file.Name}, {file.CreationTime}");
Console.WriteLine(file.Name + " " + file.LastWriteTime);
Console.ReadLine();
aplicativo = file.Name;
i++;
}
}
// Aqui, no lugar de LOJA.EXE, quero executar file.Name que é o que contém o executável mais recente
System.Diagnostics.Process.Start("LOJA.EXE", ""); --> assim executa mas não serve tem q ser atual
System.Diagnostics.Process.Start(file.Name, "") --> assim não encontra
Console.Write("Pressione qualquer tecla para continuar...");
Console.ReadLine();
}
catch (Exception ex)
{
Console.Write(ex.Message);
Console.ReadLine();
}
}
}
}
C#, Windows Application.