Процесс не может найти указанный файл - PullRequest
0 голосов
/ 24 октября 2019

У меня следующая проблема:

У меня есть приложение C #, которое работает как 32-разрядное приложение на моей 64-разрядной машине. Это приложение открывает процесс и запускает wbadmin для создания резервной копии диска C.

Сейчас: когда я звоню, введите "wbadmin" в командной строке wbadmin работает и показывает списки всех его команд.

В моем приложении c #, когда я делаю

ProcessStartInfo info = new ProcessStartInfo("wbadmin", $"start backup -backupTarget:{destinationDrive} -include:C: -quiet -vssCopy")
{
    UseShellExecute = false
};

Process p = new Process()
{
    StartInfo = info,
    EnableRaisingEvents = true
};

p.Start();               

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

Как мне сообщить своей программеиспользовать правильный wbadmin.exe в правильном месте?

Должен ли я запускать приложение как 64-битное приложение для его работы? Если да, то как мне поддерживать 32-битную архитектуру?

Спасибо

1 Ответ

0 голосов
/ 24 октября 2019

Спасибо @PavelAnikhouski за правильный ответ.

Мне пришлось указать путь к sysnative.

...