Я работаю на машине с Windows 8.1, полностью исправленной, за исключением вредоносной программы Get Windows X. У меня установлен Android SDK на C:\android-sdk , но его нет в пути. Я стараюсь не помещать 2 каталога SDK и 1 каталог NDK в путь, поскольку он содержит много дополнительных двоичных файлов.

Я могу перейти к C:\android-sdk\platform-tools и затем запустить adb.exe .

Я могу создать ярлык для adb.exe именем adb.exe.lnk и поместить его в C:\Windows . Ярлык включает Start in, поэтому библиотеки DLL, используемые adb.exe находятся в пути. Ярлык может выполнить adb.exe .

Однако Windows не может запустить adb.exe.lnk из командной строки, поэтому я создал жесткую ссылку на ярлык:

C:\Windows>mklink /H adb.exe C:\Windows\adb.exe.lnk
Hardlink created for adb.exe <<===>> C:\Windows\adb.exe.lnk

Теперь, когда я запускаю adb.exe из командной строки, я получаю:

Программа или функция "\??\C:\Windows\adb.exe "не может запускаться или запускаться из-за несовместимости с 64-разрядными версиями Windows. Обратитесь к поставщику программного обеспечения, чтобы узнать, доступна ли 64-разрядная версия, совместимая с Windows.

А также:

Я также пытался использовать Windows Compatibility на вкладке свойств, но это дало тот же результат. Неудачные попытки включают Windows XP и Windows XP SP3.

Почему Windows утверждает, что adb.exe является 16-разрядным приложением?

Что я могу сделать, чтобы создать ярлык на пути, который Windows может успешно выполнить?


Я не могу создать прямую жесткую ссылку на C:\android-sdk\platform-tools\adb.exe потому что в ней отсутствует информация о пути. Попытка выполнить его приводит к ошибке «Программа не запускается ...» из-за отсутствия DLL. Вот почему мне нужен промежуточный adb.exe.lnk .


Напоследок много вопросов, связанных с «Программой или функцией»Сообщение \C:\Windows ... не может запуститься или запустить ", кажется, указывает на вредоносное ПО или поврежденный реестр. Например, несовместимость Windows 7 Explorer.exe. Я не верю, что это применимо и здесь.

1 ответ1

0

Если вы используете 64-битную версию Windows, вы не сможете запускать 16-битные программы.

Каждая архитектурная версия Windows поддерживает только свою собственную (очевидную) архитектуру и предыдущую.

Например:64-битная Windows может запускать 32- и 64-битные программы. 32-битная Windows может запускать 16- и 32-битные программы.

И режим совместимости Windows соблюдает этот принцип.

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