C#Process调用exe问题

以下代码在我的开发电脑上可以正常调用执行FirefoxPortable.exe;但打包安装到其他电脑后,这段代码调用的结果却是打开了“firefoxPath”这个目录,并没有运行“FirefoxPortable.exe”。怎么会这样?
开发工具:VS 2010
打包工具:Setup Factory 9

[code="java"]
private void openInternetBank(String url)
{
try
{
String firefoxPath = Path.GetTempPath() + "\InternetBankClient\FirefoxPortable";
String firefoxFileName = "FirefoxPortable.exe";

            copyFirefox(firefoxPath, firefoxFileName);

            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = firefoxPath + "\\" + firefoxFileName;
            startInfo.WindowStyle = ProcessWindowStyle.Maximized;
            startInfo.Arguments = url;

            Process.Start(startInfo);
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }
    }

[/code]

net

1个回答

其他电脑需要安装 。net框架,要用相对路径然后就可以了。
还有你找的是火狐 FirefoxPortable。exe的位置,最好把这个exe放在程序同步的位置,这样任何电脑只要装了。net框架,就可以运行了。
这样你只要获取exe运行的位置,把这个位置传入,就可以了

[url]http://blog.csdn.net/norsd/article/details/8710729[/url]
连接为获取当前exe的运行的path。

iteye_5246
iteye_5246 安装exe就默认把这东西捆绑在 exe同级目录。 或者让提供一个选择框,让用户找到这个exe的地方。也就是类似文件上传,仅仅需要获取本地路径就可以了。
大约 7 年之前 回复
u010511715
u010511715 调用一个自带的绿色版火狐,并打开指定网址。刚试了一下,把FirefoxPortable.exe放在程序同步的位置,确实可以解决问题,但由于客户安装程序时会安装在系统盘下,当打开FirefoxPortable.exe时,在某些用户权限下会有系统警告,所以要把FirefoxPortable.exe拷贝到登陆用户临时目录下。但拷贝到临时目录下就出现调用打开的是文件夹、而不是火狐这个问题
大约 7 年之前 回复
iteye_5246
iteye_5246 不清楚你要干什么?打开网址?
大约 7 年之前 回复
u010511715
u010511715 .Net框架已经安装了 跟相对路径、绝对路径没有关系吧?在我本机安装运行是没有问题的
大约 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐