C# 执行与版本一起工作的应用程序。
你好 目前,我正在编写一个简单的代码,其中我希望使用以下代码启动一个新的应用程序:C# 执行与版本一起工作的应用程序。,c#,winforms,process,publishing,asp.net-4.5,C#,Winforms,Process,Publishing,Asp.net 4.5,你好 目前,我正在编写一个简单的代码,其中我希望使用以下代码启动一个新的应用程序: ProcessInfo.FileName = @"T:\APP.exe"; ProcessInfo.RedirectStandardError = true; ProcessInfo.RedirectStandardOutput = true; ProcessInfo.WindowStyle = ProcessWind
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);
我想启动的“应用程序”正在定期更新。每个版本都安装在APPDATA文件中。不幸的是,对于我使用Visual Studio发布的每个版本,文件夹位置都有一个唯一的id,例如:
本地\Apps\2.0\YCAL8JOR.XMP\WLOTE7VA.1D9\cond.\u 6757f2505ca8bd82\u 0001.0000\u fee986f0e782c
因此,我的“ProcessInfo.FileName”将始终不同。是否有某种方法可以让我动态访问我的应用程序,这样我就可以不断更新我的应用程序,而不必每次都更改此函数中的文件路径
(我还是个编程新手,我的无知让我大吃一惊)我想你可以用两种方法来实现这一点
如果用户可以选择安装路径,则选项2将不起作用。如果您使用ClickOnce发布应用程序,我建议使用选项#1,如果应用程序运行在同一目录下
System.Reflection.Assembly.getExecutionGassembly().Location
@PaulZahra我使用的是visual studio 2013的发布向导,我不确定这是否是ClickOnce方法。:)使用注册表项跟踪安装路径。我会为你写一些代码并作为答案提交,但我现在在手机上。谢谢你的建议@Tim。我查过钥匙了,我发现有很多钥匙。如果你能和我分享一些代码,那就太好了!我还不确定如何处理选项1,但我会尝试:)@Nieksa以下链接可能会让您了解如何实现这一点