【发布时间】:2014-09-12 21:19:39
【问题描述】:
我正在尝试从 WPF 应用程序运行 Python 脚本,但我不知道如何在客户端计算机上找到该文件。我知道 ClickOnce 会将文件安装到 AppData\Local\,但这似乎是搜索脚本的一种糟糕方式。
在我的代码中,我按如下方式启动 shell:
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 的意义。
任何想法将不胜感激。
【问题讨论】:
标签: c# python wpf deployment clickonce