none
Rotina para executar a versão mais recente de um aplicativo RRS feed

  • Discussão Geral

  • olá pessoal,

    Gostaria de criar uma rotina que execute a versão mais recente de um aplicativo, se alguém puder passar um exemplo de como se faz, seria assim, supondo que na pasta do sistema tenha vários executáveis, essa rotina verificaria qual a versão mais recente e executa, seria verificada a data e a hora do sistema mais recente, no caso abaixo, executaria a versão do dia 28/07/2017 12:00 que é a versão  mais recente, então seria criado um executável que procuraria a versão mais recente e executa.

    MeuSistema.Exe   27/07/2017  11:00

    MeuSistema.Exe   27/07/207    11:00

    MeuSistema.Exe  28/07/2017   12:00

    Windows Form, Windows 7, C#

    segunda-feira, 31 de julho de 2017 19:36

Todas as Respostas

  • Isso depende bastante de como você faz para armazenar a versão/data no executável. Se for somente verificar a data de criação do arquivo, então é fácil. Já se está usando outra maneira para verificar essas versões/datas, então não sei como te ajudar... Mas veja esse código asseguir, é de Console, mas basta você implementar a mesma lógica no seu "Laucher" (PS: Presumo que você está usando um 2º programa que execute o programa mais recente que encontrar na pasta).

    static void Main(string[] args)
    {
        DirectoryInfo dirInfo = new DirectoryInfo(Environment.CurrentDirectory);
        FileInfo[] files = dirInfo.GetFiles("*.exe", SearchOption.TopDirectoryOnly);
        IOrderedEnumerable<FileInfo> mostRecent = files.OrderBy(x => x.CreationTime);
        int i = 0;
    
        foreach (FileInfo file in mostRecent)
        {
            // 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}");
    
            i++;
        }
    
        Console.Write("Pressione qualquer tecla para continuar...");
        Console.ReadLine();
    }

    1. Método DirectoryInfo.GetFiles()
    2. Classe FileInfo
    3. IOrderedEnumerable(T)
    4. AppDomain.FriendlyName

    Veja se te ajuda.


    • Editado Cliffinho terça-feira, 1 de agosto de 2017 14:45
    terça-feira, 1 de agosto de 2017 14:36