【发布时间】:2014-09-08 11:38:01
【问题描述】:
早安,
目前我正在编写一个简单的代码,我想使用下面的代码来启动一个新的应用程序:
ProcessInfo.FileName = @"T:\APP.exe";
ProcessInfo.RedirectStandardError = true;
ProcessInfo.RedirectStandardOutput = true;
ProcessInfo.WindowStyle = ProcessWindowStyle.Maximized;
ProcessInfo.CreateNoWindow = false;
ProcessInfo.UseShellExecute = false;
Process proc = Process.Start(ProcessInfo);
我要启动的“APP”正在定期更新。每个版本都安装在 APPDATA 文件中。不幸的是,对于我使用 Visual Studio 发布的每个版本,都会为文件夹位置提供一个唯一的 ID,例如:
Local\Apps\2.0\YCAL8JOR.XMP\WLOTE7VA.1D9\cond..tion_6757f2505ca8bd82_0001.0000_fee986f0f10e782c
因此,我的“ProcessInfo.FileName”总是不同的。是否有某种方法可以让我动态访问我的应用程序,以便我可以不断更新我的应用程序,而不必每次都更改此函数中的文件路径?
(我还是个编程新手,请原谅我的无知)
【问题讨论】:
-
如果您使用 ClickOnce 发布您的应用程序,这可能是解决方案msdn.microsoft.com/en-GB/library/xctb6ae4.aspx
-
如果应用程序运行在同一目录
System.Reflection.Assembly.GetExecutingAssembly().Location -
@PaulZahra 我正在使用 Visual Studio 2013 的发布向导,我不确定这是否是 ClickOnce 方法。 :)
-
使用注册表项来跟踪您的安装路径。我会为您编写一些代码并作为答案提交,但我在手机上。
-
感谢@Tim 的建议。我查了钥匙,发现有很多这样的钥匙。如果你能和我分享一些代码,那就太好了!
标签: c# winforms process publishing asp.net-4.5