我有一个非常旧的应用程序,需要在较新的 Windows 系统上运行。并且该应用程序不会以可怕的方式启动:
操作系统当前未配置为运行该应用程序。
使用 Google 搜索该问题会出现很多与特定应用程序相关的非常具体的问题,而解决方案只是盲目的尝试或与特定版本的 Windows、Office 等相关的非常具体的事情。
但我想知道是否有办法跟踪此类应用程序的启动,以找出具体问题所在,以便我可以修复它。
最有可能是缺少一些 DLL。在 Unix 上,我有 ldd,我可以找出它们需要哪些共享库以及哪些共享库存在,哪些缺失。是否有 ldd 等效项?
是否存在一些 dtrace 等效项,如果问题不仅仅是缺少 DLL,我们可以看到此错误发生的位置,或多或少可以了解可能存在什么错误配置?
编辑:来自评论:
有人建议以兼容模式运行
您是否尝试过在兼容模式下运行该程序(属性 → 兼容性 → 兼容模式)
该应用程序是什么?它是 32 位应用程序吗?请编辑您的问题以包含此信息 – Ramhound 6 月 15 日 12:42
虽然特定的应用程序与我的问题无关,但我想建立一种方法,让我和其他人能够系统地诊断这些问题,而不是像我们在 Windows 上通常所做的那样徒劳无功地寻找问题。
当然,我们需要检查它是否是一个试图在 64 位平台上运行的 32 位应用程序,我猜这可能是兼容模式的一个方面。
如果是 32 位应用程序,请尝试以下操作http://dependencywalker.com/ 好线索!这也许就是我的问题的答案。
运行进程监视器并在该区域寻找线索。超过 90% 的可能性是您将运气不佳,需要在虚拟机中运行您的应用程序。我猜使用进程监视器我将没有时间检查,因为应用程序甚至没有启动(如果有任何进程启动,它只会运行一瞬间。)
您使用的是最新版本的 Windows 10 吗?我认为我们使用的是某个 Windows Server,无论哪个版本。但再次重申,我发出“帮助请求”并不是为了再得到一个这些超级具体的答案。我想我不是在求鱼,而是希望懂得钓鱼的人教我们如何钓鱼。
您是否尝试过从链接复制启动命令并在 DOS 提示符下运行它?有时您会有一些可以研究的打印输出。这是一个非常好的主意,确实在过去对我有帮助。