2

(Достигнут некоторый прогресс - см. " Update2 ")

Я использую Windows 10 Pro, 64-bit (Version 1709, Build 16299.64) в виртуальной машине . При попытке запустить документы, дважды щелкнув их, чтобы запустить соответствующее приложение, я получаю следующее сообщение (на немецком языке, что-то, что примерно соответствует тексту в теме):

сообщение об ошибке

Это происходит, например, для *.flprj (файлы проекта Flare ) или *.dyapp (приложения Dyalog APL ).

Когда я гуглил, я обнаружил, что часто люди комментируют, что это может быть 32-битное приложение или оно должно быть установлено / выполнено от имени администратора. Установка / запуск с правами администратора ничего не изменила, как и включение различных типов режимов совместимости. Я не совсем уверен насчет *.flprj , но абсолютно уверен, что файлы .dyapp связаны с 64-битным приложением:

  • Computer\HKEY_CLASSES_ROOT.dyapp (по умолчанию)= dyappfile

  • Компьютер \HKEY_CLASSES_ROOT \dyappfile \ Тип содержимого (по умолчанию = текст / обычный

  • Компьютер \HKEY_CLASSES_ROOT \dyappfile \ Воспринятый тип (по умолчанию)= текст / обычный

  • Компьютер \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

Как это можно исправить?

Отвечая на некоторые вопросы, которые были добавлены в качестве комментариев:

  • Приложение, связанное с .dyappH:\Program Files\Dyalog\Dyalog APL-64 16.0 Unicode\dyalog.exe" (H:\ - это мой USB-накопитель)
  • Нет проблем, открывая само приложение с помощью dbl-клика или из командной строки, также работает командная строка, как в приведенном выше разделе "Открыть" (с указанием имени файла .dyapp ).
  • Свойства dyalog.exe:

Обновление 1:

  • Я посмотрел на поведение .dyapp -double-click на моей хост-машине, где я запускаю то же программное обеспечение, и оно работает. Затем я искал в реестре все, что касается dyapp на обеих машинах, и сравнил результаты, и они были идентичны.
  • Я нашел рекомендацию для запуска "Microsoft System File Checker", который не сообщил ни о каких пробах
  • Нашел еще один комментарий, в котором предлагалось перейти на "Обновление и безопасность" и включить «Для разработчиков | Приложения с боковой загрузкой». Я сделал это задолго до этого, поэтому я включил "Режим разработчика", но это тоже не помогло.

Update2:

У меня возникло подозрение, что, возможно, виновником был H:\ -Drive. Поэтому я удалил приложение и переустановил его на C:\ - и, конечно же, он отлично работает! Это может быть временное исправление, но мне бы очень хотелось установить его на H:\ - поэтому с измененным вопросом "установка приложения на съемный носитель" я надеюсь приблизиться к решению.

1 ответ1

0

Это длинный выстрел, и он может не соответствовать вашей ситуации, но попробовать не помешает.

Сменные диски в Windows не получают те же разрешения NTFS, что и фиксированные диски. Хотя, когда вы смотрите на разрешения, они кажутся точно такими же. Некоторые из более неясных разрешений не отображаются в графическом интерфейсе Windows.
А это, в свою очередь, может привести к странному поведению. Это особенно происходит при запуске приложений, щелчком по одному из их документов или при запуске приложений с использованием "Запустить другого пользователя".
Я предполагаю, что каким-то образом разрешения NTFS наследуются в процессе, который запускается для запуска EXE, причем одно из этих разрешений является причиной проблемы. Я никогда не видел, чтобы это происходило, если USB-накопитель отформатирован в FAT.
Эта проблема не относится к USB-накопителям. Это также может произойти с накопителями SATA с возможностью "горячей" замены (если Windows видит их как съемные, что не всегда так).

Для этого есть обходной путь, если это то, что вас кусает.
К сожалению, обходной путь безопасности не очень хорош:
Измените разрешения NTFS для папки, содержащей исполняемый файл приложения и для всех папок выше этой, вплоть до корневой папки, чтобы включить «Полный доступ: EveryOne». Как-то это решает проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .