Я пытаюсь запустить сценарий Python из приложения WPF, но не могу понять, как найти файл на клиентской машине. Я знаю, что ClickOnce устанавливает файлы в AppData \ Local \, но это похоже на плохой способ поиска сценария.запустить связанный скрипт python в приложении clickonce
В моем коде, я начинаю оболочку следующим образом:
var p = new Process();
p.StartInfo.FileName = @"C:\Python27\python.exe";
p.StartInfo.Arguments = String.Format("{0} {1}", ScriptName, args);
//p.StartInfo.WorkingDirectory = @"<path\to\project>";
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
На моей машине развития, параметр WorkingDirectory
делает все это работать, если я поставил его на путь к проекту, потому что там сценарий Python проживает.
Я включил скрипт в манифест файла ClickOnce, и я подтвердил, что он попадает в каждую версию развертывания приложения. Я также подтвердил, что файл заканчивается на клиентской машине в обфускационной иерархии, поэтому все на месте, за исключением того, что я не могу заставить приложение WPF фактически запускать его. Я всегда мог скопировать файл в известное место на машине, но это полностью побеждает точку ClickOnce.
Любые идеи были бы весьма признательны.