我正在尝试制作一个软件,使用c#vs2013执行其他一些软件的.exe安装文件。我用过
Process.Start()
我在我的资源中添加了要提取的文件,然后我给出了这些文件的资源路径
Process.Start("C:\\Users\\Farjad\\Documents\\Visual Studio 2013\\Projects\\RoyalComputerProject\\RoyalComputerProject\\Resources\\wrar501.exe");
它在我的计算机上工作正常但是如果我尝试在其他计算机上运行它会给我一个错误,指出缺少指定的文件。我认为这是因为我传递给Process.Start()的路径是我的计算机。我该怎么纠正这个?我应该走哪条路?或者我应该如何部署它?
答案 0 :(得分:1)
将您的应用程序与dll和此exe文件一起发送到一个包中,这样当您在另一台计算机上提取它时,您将获得类似
的内容C:/.../Downloads/YourAppName/
- MyApp.exe
- SomeLibrary.dll
- Config.xml
- MyOtherApp.exe
现在,您需要使用
获取正在运行的程序集的正确路径string path;
path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
我在MSDN上找到了这段代码。
出于测试目的,将该exe放在bin/Debug
或bin/Release
文件夹中,具体取决于您构建应用程序的方式(调试与发布模式)。