У меня есть несколько HTA на моем компьютере.

Теперь, когда я пытаюсь запустить их, я получаю сообщение:

Это приложение не может работать на вашем компьютере.

Чтобы найти версию для вашего ПК, свяжитесь с издателем программного обеспечения.

Даже простой файл HTML, переименованный в расширение .hta , имеет ту же проблему.

Когда я пытаюсь открыть с помощью контекстного меню, исполняемый файл mshta.exe больше не появляется в контекстном меню (как раньше). Когда я просматриваю его (32-битную или 64-битную версию), я получаю следующее:

Выбранная вами программа не может быть связана с этим типом файла. Пожалуйста, выберите другую программу.

Я получаю одно и то же сообщение, независимо от того, установил ли я флажок Всегда использовать это приложение, чтобы открыть файлы «.hta» .

Когда я пытаюсь вызвать mhsta.exe из командной строки и передать имя HTA в качестве аргумента, HTA не открывается, но дополнительных ошибок нет.

HTA теперь устарели / отключены? Как я могу решить это?

Я бегу:

Windows 10 Pro
Версия 1709
Сборка ОС 16299.431
64-битная архитектура и ОС

2 ответа2

4

Выполните следующие две команды от имени администратора:

  • Добавьте тип файла с помощью команды ftype :
ftype htafile=C:\Windows\SysWOW64\mshta.exe "%1" {1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-88BF-4E770A288AF5} %* 
  • Свяжите расширение .hta с командой assoc :
assoc .hta=htafile 

Затем выйдите и снова войдите в свой аккаунт.

1

Попытайтесь выяснить, решил ли ваш антивирусный продукт, что приложения .hta представляют собой угрозу безопасности (то есть они позволяют html-файлу изменять систему).

Если вам необходимо восстановить параметры реестра для приложений .hta, вы можете создать и выполнить файл .reg, содержащий следующий текст. Содержимое представляет собой модификацию файла github Default_HTA.reg с данными с моего компьютера:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\.hta]

[HKEY_CLASSES_ROOT\.hta]
"PerceivedType"="text"
@="htafile"
"Content Type"="application/hta"

[HKEY_CLASSES_ROOT\.hta\PersistentHandler]
@="{eec97550-47a9-11cf-b952-00aa0051fe20}"

[-HKEY_CLASSES_ROOT\htafile]

[HKEY_CLASSES_ROOT\htafile]
"EditFlags"=dword:00100000
@="HTML Application"
"FriendlyTypeName"="@C:\\Windows\\System32\\mshta.exe,-6412"

[HKEY_CLASSES_ROOT\htafile\CLSID]
@="{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}"

[HKEY_CLASSES_ROOT\htafile\DefaultIcon]
@="C:\\Windows\\System32\\mshta.exe,1"

[HKEY_CLASSES_ROOT\htafile\Shell]

[HKEY_CLASSES_ROOT\htafile\Shell\Open]

[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command]
@="C:\\Windows\\SysWOW64\\mshta.exe \"%1\" %*"

[-HKEY_CLASSES_ROOT\SystemFileAssociations\.hta]

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hta]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hta]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hta\OpenWithList]
"a"="IEXPLORE.EXE"
"MRUList"="a"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hta\OpenWithProgids]
"htafile"=hex(0):

Обратите внимание, что приведенный выше текст C:\\Windows\\SysWOW64\\mshta.exe относится к 32-разрядному выполнению. Для 64-битного исполнения используйте вместо этого C:\\Windows\\System32\\mshta.exe .

Как дальнейшее примечание, пожалуйста, создайте точку восстановления системы, прежде чем делать какие-либо изменения в реестре, на всякий случай.

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