Вставить пакетный файл в один EXE-файл приложения Windows - C # - PullRequest
0 голосов
/ 09 мая 2019

Я могу создать одну exe-версию своего приложения winform, установив costura.fody. Это помогает мне связать все ссылки (dll fiies), которые я использовал в проекте, в один исполняемый файл.

Теперь я хочу выполнить командный файл, когда пользователь нажимает кнопку в моем приложении winform. Я могу добиться этого с помощью кода ниже. Но полный путь командного файла здесь жестко задан.

Могу ли я вставить этот командный файл в мой единственный exe-файл? Если тогда, каким должен быть путь к этому пакетному файлу?

  private void bt_uninstall_Click(object sender, EventArgs e)
    {
        Process proc = null;
        try
        {
            string batDir = string.Format(@"C:\Users\Abram\Documents\Visual Studio 2017\Projects\TestApp\TestApp\DriverRegistration");
            proc = new Process();
           proc.StartInfo.WorkingDirectory = batDir;
            proc.StartInfo.FileName = "runDriver.bat";
            proc.StartInfo.CreateNoWindow = false;
            proc.StartInfo.Verb = "runas";
            proc.Start();
            proc.WaitForExit();
            MessageBox.Show("Bat file executed !!");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.StackTrace.ToString());
        }
    }

1 Ответ

0 голосов
/ 09 мая 2019

Если вы хотите связать с exe, почему бы вам не указать путь к exe? или указать exe?

Что-то вроде:

string path = AppDomain.CurrentDomain.BaseDirectory;
string pathExe = path + "yourExeName.exe\\";
...