none
win7下VS2013写的程序在win10中无法启动的问题 RRS feed

  • 问题

  • 在win7中VS2013写了一个程序,打包成exe文件后,在win7电脑中均能正常打开运行,但在win10系统的电脑里无法启动,双击程序图标,仅在进程里闪现了几秒就消失了。

    经排查是ntdll.dll的问题,请问有什么解决办法?谢谢

    win10 的windows日志如下:

    错误应用程序名称: xxxxVision_1.0.9.exe,版本: 1.0.0.8,时间戳: 0x5abe08a8

    错误模块名称: ntdll.dll,版本: 10.0.17134.254,时间戳: 0xa5a334d4
    异常代码: 0xc0000005
    错误偏移量: 0x0000000000035a8e
    错误进程 ID: 0x3fc
    错误应用程序启动时间: 0x01d471be926b3936
    错误应用程序路径: C:\EstunVision_1.0.9.exe
    错误模块路径: C:\WINDOWS\SYSTEM32\ntdll.dll
    报告 ID: b26d17d8-ac1d-4d72-9390-32995676f800
    错误程序包全名: 
    错误程序包相对应用程序 ID: 

    2018年11月1日 9:39

全部回复

  • 你好,

    许多 ntdll.dll 错误来源于被损坏的ntdll Dll文件本身,硬盘的损坏或系统和你项目之间的问题

    首先,你在Win 7上搭建打包的 exe 所基于的.NET Framework框架版本是什么?你需要保证在Win10 上存在相同的框架版本

    其次,请检查你项目所需的包在 Win10 上都成功安装

    请跟随以下的步骤对此问题进行故障排除及修复:

    1. 使用 clean boot 工具以一个干净的环境启动你的系统,防止一些后台应用和第三方插件对你项目造成的影响。操作说明请参考此链接:https://support.microsoft.com/zh-cn/help/929135/how-to-perform-a-clean-boot-in-windows
    2. 使用管理员身份打开cmd.exe,输入:sfc /scannow 当完成时,查看提示

    • Windows did not find any integrity violations (a good thing)
    • Windows Resource Protection found corrupt files and repaired them (a good thing)
    • Windows Resource Protection found corrupt files but was unable to fix some (or all) of them (not a good thing) 如果你遇到第三种提示,请尝试继续运行一下命令:

    DISM.exe /Online /Cleanup-Image /Restorehealth

           3. 检查你是否有待更新的补丁在Windows update中, 完成所有更新 

           4. 重启你的电脑。

    如果问题依旧存在,请及时联系我们。

    May


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com



    2018年11月2日 5:33
  • 是不是这个Exe引用的dll不在目标部署的机器上,建议直接将Debug目录拷贝的目标机器运行。

    如果依旧报错,可以使用Windbg,直接打开这个Exe调试,看看异常信息是什么。

    希望能帮到你。


    ericzhou

    2018年11月4日 13:23
  • EV.exe在所有win7系统都是可直接双击运行的。当然它是EV软件文件夹中的一个exe文件,文件夹中还有exe运行所需要的dll,cfg文件等。猜测是exe启动时需要加载一些dll,但是有的dll加载失败,所以启动到一半,在进程栏里闪了几秒,就消失了。
    2018年11月6日 10:21
  • 我试试,谢谢
    2018年11月6日 10:22