使用Process.Start(url)调用Chrome在部分PC上崩溃的问题求助
问题排查与解决方案
可能原因
- 目录文件冲突:程序所在目录存在和Chrome运行依赖同名的文件(比如部分通用dll),导致Chrome启动时错误加载了目录内的文件,而非自身或系统的正确依赖。
- 目录权限异常:程序所在文件夹的权限设置有问题,Chrome启动时无法读取必要资源或写入临时数据。
解决步骤
- 检查程序目录文件
- 对比正常运行和崩溃设备的程序目录文件列表,重点找和Chrome安装目录下同名的dll、可执行文件(比如
vcruntime140.dll、chrome.dll这类)。如果发现重名文件,重命名或移除后再测试。
- 对比正常运行和崩溃设备的程序目录文件列表,重点找和Chrome安装目录下同名的dll、可执行文件(比如
- 调整目录权限
- 右键程序所在文件夹,选「属性」→「安全」,确认当前用户有「读取和执行」「写入」权限。权限不足的话,添加对应权限并应用。
- 改用显式指定Chrome路径启动
- 放弃依赖ShellExecute的方式,直接指定Chrome的安装路径启动,绕开文件关联的潜在问题:
string chromeExePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe"; // 64位系统也可能在Program Files (x86),可根据实际情况调整 Process.Start(new ProcessStartInfo(chromeExePath, url) { UseShellExecute = false });
- 放弃依赖ShellExecute的方式,直接指定Chrome的安装路径启动,绕开文件关联的潜在问题:
- 清理Chrome临时数据
- 打开Chrome,进入「设置」→「隐私和安全」→「清除浏览数据」,勾选「缓存的图片和文件」「Cookie及其他网站数据」清理后,重启Chrome再测试。
内容的提问来源于stack exchange,提问作者Ton Mar
相关产品推荐
相关产品推荐

