Ярлык проблем JNLP

У меня проблема с JNLP.

Когда на компьютере установлены две версии Java, 64-битная и 32-битная. Компьютер по умолчанию выполняет 32-битную версию.

И ярлык

C:\Windows\SysWOW64\javaws.exe -localfile 
    "C:\Users\Micro\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\43\b9706ab-6de97627"

Как заставить ярлык выполняться C:/Windows/System32/javaws.exe независимо от версии Java?


person Ricardo Pontes    schedule 17.04.2012    source источник
comment
Можем ли мы просто изменить ярлык, заменив C:\Windows\SysWOW64 на C:/Windows/System32?   -  person Zecas    schedule 23.05.2012


Ответы (1)


Компьютер по умолчанию выполняет 32-битную версию.

Не совсем. Это скорее зависит от вызывающего приложения.

Давайте посмотрим два примера:

  1. Запустите cmd.exe (используйте WINDOWS+R и введите cmd)

  2. запустите "java -версия", и вы получите

    java version "1.7.0_03"
    Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
    Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)
    
  3. Запустите cmd.exe через 32-битную программу (например, Total Commander)

  4. запустите "java -версия", и вы получите

    java version "1.7.0_03"
    Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
    Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing)
    

Так же можно попробовать использовать заглушки в windows\system32 и windows\syswow64 напрямую. Единственное изменение:

  • вы можете перейти с 64-битной на 32-битную, используя

    c:\Windows\Syswow64\java -version
    

Единственный известный мне способ подняться с 32-битной до 64-битной версии — это явно запустить 64-битную версию, используя

    "c:\Program Files\Java\jre6\bin\java.exe" -version

Эта логика также применима ко всем другим java-командам, использующим обертки в windows\system, например javaws.

=> ссылка на "c:\Program Files\Java\jre6\bin\javaws.exe"

person bebbo    schedule 24.05.2012