VB.net запускает программу из подпапки

Так что мне нужно, чтобы запустить внешнее приложение из подпапки программы. Приложение будет развернуто вместе с программой, но может находиться в разных местах, поэтому я не могу жестко закодировать его в "c:\folder\example.exe"

Когда я запускаю это, я получаю сообщение об ошибке, что файл не может быть найден, хотя у меня есть папка и файл в \bin\debug.

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
    System.Diagnostics.Process.Start("\app\ds104.exe")
End Sub

Даже когда приложение находится в корневой папке, что не идеально, я получаю ту же ошибку.

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
    System.Diagnostics.Process.Start("ds104.exe")
End Sub

Спасибо, что посмотрели.

1 ответ

Решение

Process.Start() Метод принимает полный путь в качестве аргумента.

Вы можете получить путь, с которого запускается ваше приложение, используя My.Application.Info.DirectoryPath имущество. Затем вы присоединяете его к местоположению приложения, которое вы хотите запустить, а затем вызываете Process.Start() метод.

Пример:

Imports System.Diagnostics

...

Private Sub StartApplication()
    Process.Start(My.Application.Info.DirectoryPath & "\Path\To\App.exe")
End Sub
Другие вопросы по тегам