Search code examples
windowssikuli

Sikuli setup won't execute


I am trying to install sikuli v1.0.1 on a new computer. I have installed Sikuli on other machines before and it works like a charm.

This time however, sikuli won't start the setup.

As usual, I copied the setup-file into a folder on the desktop and then executed the file to receive the "runSetup" file and the log, which worked just fine.

However, when I execute the runSetup file, the cmd-window briefly appears and closes almost instantly with no further window opening as I am used to...

Does anyone have an idea to solve the issue?

I am trying to install on a windows 7, 64bit (just like all other computers, where I have worked with Sikuli)

Thanks in advance!

Short update:

I have just tried running the setup file from the cmd prompt but get the following error when doin so: +++ Java not found in standard places C:\Program Files or C:\Program Files (x86)

+++ JAVA_HOME not specified +++ ended with some errors

However, A java folder exists in the mentioned directory...


Solution

  • You need Java as wel as JDK installed on your computer.

    If you right click on the .cmd file and select "Edit" you can see what he is trying. It will give you an idea about what is missing from your computer. I think you don't have jre6 or jre7 installed.

    EDIT

    Okey, I was just installing this on my new computer as well. And I had the same problem. It also seems like that Oracle has released a new version. The old version will from March 2015 not be supported anymore. So... I decided to keep the latest Java version and to adjust the "runSetup.cmd" and "runIDE.cmd" to recognize the latest Java version.

    I will post the adjustment here, so maybe other people can also use them. For making this clear. If you go to "C:\Program Files (x86)\Java" I have here the directory "jre1.8.0_40".

    I also made the adjustment for the people that have java installed in "C:\Program Files". I just haven't tested it. But I think it will work because it is exactly the same.

    These are the adjusted files that should work:

    runSetup.cmd

    @echo off
    SETLOCAL
    
    set SIKULIX_HOME=%~dp0
    set PARMS=-Xms64M -Xmx512M -Dfile.encoding=UTF-8
    
    if not defined JAVA_HOME goto CHECKJAVA
    IF EXIST "%JAVA_HOME%\bin\java.exe" goto JAVA_OK
    echo +++ JAVA_HOME specified but not useable %JAVA_HOME%
    echo +++ looking for Java in standard places
    
    :CHECKJAVA
    set PROGRAMS=%ProgramFiles%
    if defined ProgramFiles(x86) set PROGRAMS32=%ProgramFiles(x86)%
    
    IF not EXIST "%PROGRAMS%\Java\jre1.8.0_40" goto JAVA7
    set JAVA_HOME=%PROGRAMS%\Java\jre1.8.0_40
    goto JAVA_OK
    
    :JAVA7
    IF not EXIST "%PROGRAMS%\Java\jre7" goto JAVA6
    set JAVA_HOME=%PROGRAMS%\Java\jre7
    goto JAVA_OK
    
    :JAVA6
    IF not EXIST "%PROGRAMS%\Java\jre6" goto JAVANO
    set JAVA_HOME=%PROGRAMS%\Java\jre6
    goto JAVA_OK
    
    :JAVANO
    if not defined %PROGRAMS32% goto JAVANO32
    
    IF not EXIST "%PROGRAMS32%\Java\jre1.8.0_40" goto JAVA7
    set JAVA_HOME=%PROGRAMS32%\Java\jre1.8.0_40
    goto JAVA_OK
    
    :JAVA7
    IF not EXIST "%PROGRAMS32%\Java\jre7" goto JAVA6
    set JAVA_HOME=%PROGRAMS32%\Java\jre7
    goto JAVA_OK
    
    :JAVA6
    IF not EXIST "%PROGRAMS32%\Java\jre6" goto JAVANO32
    set JAVA_HOME=%PROGRAMS32%\Java\jre6
    goto JAVA_OK
    
    :JAVANO32
    echo +++ Java not found in standard places %PROGRAMS% or %PROGRAMS32%
    echo +++ JAVA_HOME not specified
    goto STOPIT
    
    :JAVA_OK 
    echo +++ running this Java
    "%JAVA_HOME%\bin\java.exe" -version
    PATH=%SIKULIX_HOME%libs;%PATH%
    echo +++ trying to start Sikuli Setup in %SIKULIX_HOME%
    "%JAVA_HOME%\bin\java.exe" %PARMS% -jar "%SIKULIX_HOME%sikuli-setup.jar" %*
    
    GOTO FINALLY
    :STOPIT
    echo.+++ ended with some errors
    :FINALLY
    ENDLOCAL
    

    runIDE.cmd

    @echo off
    SETLOCAL
    
    set SIKULIX_HOME=%~dp0
    set PARMS=-Xms64M -Xmx512M -Dfile.encoding=UTF-8 -Dsikuli.FromCommandLine
    
    if not defined JAVA_HOME goto CHECKJAVA
    IF EXIST "%JAVA_HOME%\bin\java.exe" goto JAVA_OK
    echo +++ JAVA_HOME specified but not useable %JAVA_HOME%
    echo +++ looking for Java in standard places
    
    :CHECKJAVA
    set PROGRAMS=%ProgramFiles%
    if defined ProgramFiles(x86) set PROGRAMS32=%ProgramFiles(x86)%
    
    IF not EXIST "%PROGRAMS%\Java\jre1.8.0_40" goto JAVA7
    set JAVA_HOME=%PROGRAMS%\Java\jre1.8.0_40
    goto JAVA_OK
    
    :JAVA7
    IF not EXIST "%PROGRAMS%\Java\jre7" goto JAVA6
    set JAVA_HOME=%PROGRAMS%\Java\jre7
    goto JAVA_OK
    
    :JAVA6
    IF not EXIST "%PROGRAMS%\Java\jre6" goto JAVANO
    set JAVA_HOME=%PROGRAMS%\Java\jre6
    goto JAVA_OK
    
    :JAVANO
    if not defined %PROGRAMS32% goto JAVANO32
    
    IF not EXIST "%PROGRAMS32%\Java\jre1.8.0_40" goto JAVA7
    set JAVA_HOME=%PROGRAMS32%\Java\jre1.8.0_40
    goto JAVA_OK
    
    :JAVA7
    IF not EXIST "%PROGRAMS32%\Java\jre7" goto JAVA6
    set JAVA_HOME=%PROGRAMS32%\Java\jre7
    goto JAVA_OK
    
    :JAVA6
    IF not EXIST "%PROGRAMS32%\Java\jre6" goto JAVANO32
    set JAVA_HOME=%PROGRAMS32%\Java\jre6
    goto JAVA_OK
    
    :JAVANO32
    echo +++ Java not found in standard places %PROGRAMS% or %PROGRAMS32%
    echo +++ JAVA_HOME not specified
    goto STOPIT
    
    :JAVA_OK 
    echo +++ running this Java
    set SIKULI_COMMAND=%*
    "%JAVA_HOME%\bin\java.exe" -version
    PATH=%SIKULIX_HOME%libs;%PATH%
    echo +++ trying to start Sikuli IDE 
    echo +++ using: %PARMS% -jar %SIKULIX_HOME%sikuli-ide.jar %SIKULI_COMMAND%
    "%JAVA_HOME%\bin\java.exe" %PARMS% -jar "%SIKULIX_HOME%sikuli-ide.jar" %SIKULI_COMMAND%
    
    GOTO FINALLY
    :STOPIT
    echo.+++ ended with some errors
    :FINALLY
    ENDLOCAL
    

    If you still have problems with running "runSetup.cmd" you can also add "pause" (without quotes) below the file on an empty line. Then the command prompt will stay and you can read the error.