“此应用无法在您的电脑上运行”

“此应用无法在您的电脑上运行”

(取得了一些进展 - 请参阅“更新2“)

我在虚拟机中运行Windows 10 Pro, 64-bit (Version 1709, Build 16299.64)。当我尝试通过双击文档来启动相关应用程序时,我收到此消息(德语,内容大致翻译为主题中的文本):

错误信息

例如,对于*.flprj耀斑项目文件)或*.dyappDyalog APL应用程序)。

当我在 Google 上搜索时,我发现人们经常评论说它可能是 32 位应用程序,或者应该以管理员身份安装/执行。以管理员身份安装/运行不会改变任何事情,启用各种兼容模式也是如此。我并不完全确定*.flprj,但绝对肯定.dyapp文件与 64 位应用程序相关联:

  • 计算机\HKEY_CLASSES_ROOT.dyapp(默认)=dyappfile

  • 计算机\HKEY_CLASSES_ROOT\dyappfile\内容类型(默认=text/plain

  • 计算机\HKEY_CLASSES_ROOT\dyappfile\Perceived Type(默认)=text/plain

  • 计算机\HKEY_CLASSES_ROOT\dyappfile\shell\open\command(默认)=H:\Program Files\Dyalog\Dyalog APL-64 16.0 Unicode\dyalog.exe DYAPP="%1"

  • 计算机\HKEY_CLASSES_ROOT\dyappfile\Version(默认)=160

如何修复此问题?

回答一些作为评论添加的问题:

  • 与之关联的应用程序.dyapp是“ H:\Program Files\Dyalog\Dyalog APL-64 16.0 Unicode\dyalog.exe"H:\是我的 USB 驱动器)
  • 通过双击或从命令行打开应用程序本身没有问题,也可以使用上面“打开”中的命令行(给出文件的名称.dyapp)。
  • 属性dyalog.exe

在此处输入图片描述

更新 1:

  • 我查看了.dyapp运行相同软件的主机上的双击行为,发现它有效。因此,我在两台机器上搜索了注册表dyapp中与此相关的所有内容,并比较了结果,发现它们是相同的。
  • 我发现了一个推荐运行“Microsoft 系统文件检查器”,没有报告任何问题
  • 发现另一条评论建议转到“更新和安全”并启用“针对开发人员|侧载应用程序”。我很久以前就这样做了,所以我打开了“开发人员模式”,但这也无济于事。

更新2:

我怀疑可能H:\是 -Drive 导致的。所以我卸载了应用程序并重新安装C:\- 果然,它从此运行正常!这可能是一个临时解决方案,但我真的很想安装它H:\- 因此,通过修改“在可移动媒体上安装应用程序”的问题,我希望能更接近解决方案。

答案1

这是一个长远的想法,可能与您的情况无关,但尝试一下也无妨。

Windows 中的可移动磁盘不会获得与固定磁盘完全相同的 NTFS 权限。即使您查看权限时发现它们看起来完全相同。一些较模糊的权限不会显示在 Windows GUI 中。
这反过来会导致奇怪的行为。这种情况尤其发生在启动应用程序时,通过单击其中一个文档,或使用“以不同用户身份运行”启动应用程序时。
我猜想 NTFS 权限以某种方式继承到为运行 EXE 而启动的进程中,其中一个权限是导致问题的原因。如果 USB 驱动器是 FAT 格式的,我从未见过这种情况发生。
此问题并非特定于 USB 驱动器。它也可能发生在热插拔 SATA 驱动器上(如果 Windows 将它们视为可移动的,但情况并非总是如此)。

如果这是困扰您的问题,那么有一个解决方法。
不幸的是,从安全角度来看,这个解决方法并不是很好:
将包含应用程序可执行文件的文件夹以及该文件夹上方直至根文件夹的所有文件夹的 NTFS 权限更改为包含“完全控制:EveryOne”。不知何故,这解决了问题。

相关内容