У меня была похожая проблема с Java 6, который использовался для запуска JNLP, а не Java 7 (у меня оба установлены), хотя все мои настройки JAVA_HOME, PATH и Java Control Panel были установлены на 7. Java 7 будет использоваться, когдазапуск с веб-страницы, но с ярлыка на рабочем столе, Java 6 использовалась и поэтому не может быть запущена, поскольку приложение требует 7.
Оказывается, что в C присутствуют исполняемые файлы java, javaw и javaws: \ Windows \ SysWOW64 и это то, на что указывает сгенерированный ярлык.Поэтому я перезаписал эти EXE-файлы файлами из C: \ Program Files \ Java \ jre7 \ bin.
Возможно, переустановка JRE 7 также исправила бы это, но я просто пошел за этим быстрым исправлением.