From 8866759b0293d1df972d93bff9a8a21941a9d159 Mon Sep 17 00:00:00 2001 From: Felipe Olmos Date: Fri, 23 Jun 2023 17:31:54 +0200 Subject: [PATCH] Add NSIS windows packaging - Add and readapt the NSIS scripts - All bundled executables are now passed as parameters within the makensis call - Add a workflow that build the NSIS packages in the GH CI --- ...rs.yml => build-linux-pack-containers.yml} | 14 +- .../workflows/build-nsis-reqs-container.yml | 47 ++ .github/workflows/pack-nsis.yml | 97 +++ packaging/common/images/installer_khiops.ico | Bin 0 -> 82356 bytes packaging/common/images/khiops.ico | Bin 0 -> 72737 bytes .../common/images/khiops_coclustering.ico | Bin 0 -> 75434 bytes .../dockerfiles/{ => linux}/Dockerfile.rocky8 | 0 .../dockerfiles/{ => linux}/Dockerfile.rocky9 | 0 .../{ => linux}/Dockerfile.ubuntu18.04 | 0 .../{ => linux}/Dockerfile.ubuntu20.04 | 0 .../{ => linux}/Dockerfile.ubuntu22.04 | 0 .../windows/nsis-requirements/Dockerfile | 29 + .../windows/nsis/CreateKhiopsCmdFileFunc.nsh | 119 ++++ .../nsis/CreateKhiopsEnvCmdFileFunc.nsh | 195 ++++++ packaging/windows/nsis/GetCoresCount.nsh | 54 ++ packaging/windows/nsis/KhiopsGlobals.nsh | 14 + .../windows/nsis/KhiopsPrerequisiteFunc.nsh | 134 ++++ packaging/windows/nsis/images/headerimage.bmp | Bin 0 -> 215874 bytes packaging/windows/nsis/images/installer.ico | Bin 0 -> 82356 bytes .../windows/nsis/images/welcomefinish.bmp | Bin 0 -> 777270 bytes packaging/windows/nsis/khiops.nsi | 608 ++++++++++++++++++ src/Parallel/PLSamples/CMakeLists.txt | 3 + 22 files changed, 1307 insertions(+), 7 deletions(-) rename .github/workflows/{build-containers.yml => build-linux-pack-containers.yml} (72%) create mode 100644 .github/workflows/build-nsis-reqs-container.yml create mode 100644 .github/workflows/pack-nsis.yml create mode 100644 packaging/common/images/installer_khiops.ico create mode 100644 packaging/common/images/khiops.ico create mode 100644 packaging/common/images/khiops_coclustering.ico rename packaging/dockerfiles/{ => linux}/Dockerfile.rocky8 (100%) rename packaging/dockerfiles/{ => linux}/Dockerfile.rocky9 (100%) rename packaging/dockerfiles/{ => linux}/Dockerfile.ubuntu18.04 (100%) rename packaging/dockerfiles/{ => linux}/Dockerfile.ubuntu20.04 (100%) rename packaging/dockerfiles/{ => linux}/Dockerfile.ubuntu22.04 (100%) create mode 100644 packaging/dockerfiles/windows/nsis-requirements/Dockerfile create mode 100644 packaging/windows/nsis/CreateKhiopsCmdFileFunc.nsh create mode 100644 packaging/windows/nsis/CreateKhiopsEnvCmdFileFunc.nsh create mode 100644 packaging/windows/nsis/GetCoresCount.nsh create mode 100644 packaging/windows/nsis/KhiopsGlobals.nsh create mode 100644 packaging/windows/nsis/KhiopsPrerequisiteFunc.nsh create mode 100644 packaging/windows/nsis/images/headerimage.bmp create mode 100644 packaging/windows/nsis/images/installer.ico create mode 100644 packaging/windows/nsis/images/welcomefinish.bmp create mode 100644 packaging/windows/nsis/khiops.nsi diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-linux-pack-containers.yml similarity index 72% rename from .github/workflows/build-containers.yml rename to .github/workflows/build-linux-pack-containers.yml index 68c2195aa..29a00fee0 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-linux-pack-containers.yml @@ -1,9 +1,11 @@ --- -name: Build development containers +name: Build Linux containers for packaging on: workflow_dispatch: + # DDD + push: jobs: - build-container: + build-packaging-container: runs-on: ubuntu-latest strategy: fail-fast: false @@ -24,13 +26,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build the image and push it to the registry + id: docker-build uses: docker/build-push-action@v2 with: - # relative path to the place where source code with Dockerfile is located - context: ./packaging/dockerfiles - file: ./packaging/dockerfiles/Dockerfile.${{ matrix.os }} - # Note: tags must be lower-case + file: ./packaging/dockerfiles/linux/Dockerfile.${{ matrix.os }} tags: ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.os }}:latest push: true - name: Display the image digest - run: echo ${{ steps.docker_build.outputs.digest }} + run: echo ${{ steps.docker-build.outputs.digest }} diff --git a/.github/workflows/build-nsis-reqs-container.yml b/.github/workflows/build-nsis-reqs-container.yml new file mode 100644 index 000000000..1297bc7a1 --- /dev/null +++ b/.github/workflows/build-nsis-reqs-container.yml @@ -0,0 +1,47 @@ +--- +name: Build NSIS requirements container +on: + workflow_dispatch: +jobs: + build-requirements-container: + name: "Build NSIS software requirements container" + runs-on: ubuntu-latest + permissions: + packages: write + steps: + - name: Checkout sources + uses: actions/checkout@v3 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - name: Login to Github Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build the image and push it to the registry + id: docker-build + uses: docker/build-push-action@v2 + with: + file: ./packaging/dockerfiles/windows/nsis-requirements/Dockerfile + tags: ghcr.io/khiopsml/khiops/khiops-nsis-requirements:latest + push: true + - name: Display the image digest + run: echo ${{ steps.docker-build.outputs.digest }} + test-requirements-container: + name: "Test NSIS software requirements container" + runs-on: ubuntu-latest + needs: build-requirements-container + container: ghcr.io/khiopsml/khiops/khiops-nsis-requirements:latest + permissions: + packages: read + steps: + - name: Test installer files existence + shell: bash + run: |- + cd /var/share/nsis-requirements + test -f $JRE_FILENAME + test -f $KHIOPS_VIZ_FILENAME + test -f $KHIOPS_COVIZ_FILENAME + test -f $MSMPI_FILENAME diff --git a/.github/workflows/pack-nsis.yml b/.github/workflows/pack-nsis.yml new file mode 100644 index 000000000..f1dda654b --- /dev/null +++ b/.github/workflows/pack-nsis.yml @@ -0,0 +1,97 @@ +--- +name: Build NSIS Windows installer +on: + workflow_dispatch: + # DDD + push: +jobs: + retrieve-nsis-requirements: + name: Retrieve NSIS installer software requirements + runs-on: ubuntu-latest + container: ghcr.io/khiopsml/khiops/khiops-nsis-requirements:latest + outputs: + jre-filename: ${{ steps.save-file-data.outputs.jre-filename }} + jre-version: ${{ steps.save-file-data.outputs.jre-version }} + khiops-viz-filename: ${{ steps.save-file-data.outputs.khiops-viz-filename }} + khiops-viz-version: ${{ steps.save-file-data.outputs.khiops-viz-version }} + khiops-coviz-filename: ${{ steps.save-file-data.outputs.khiops-coviz-filename }} + khiops-coviz-version: ${{ steps.save-file-data.outputs.khiops-coviz-version }} + msmpi-filename: ${{ steps.save-file-data.outputs.msmpi-filename }} + msmpi-version: ${{ steps.save-file-data.outputs.msmpi-version }} + steps: + - name: Checkout sources + uses: actions/checkout@v3 + - name: Upload NSIS package requirements + uses: actions/upload-artifact@v3.1.2 + with: + name: nsis-requirements + path: /var/share/nsis-requirements/* + retention-days: 7 + - name: Save package file data to the environment + id: save-file-data + run: | + echo "jre-filename=$JRE_FILENAME" >> "$GITHUB_OUTPUT" + echo "jre-version=$JRE_VERSION" >> "$GITHUB_OUTPUT" + echo "khiops-viz-filename=$KHIOPS_VIZ_FILENAME" >> "$GITHUB_OUTPUT" + echo "khiops-viz-version=$KHIOPS_VIZ_VERSION" >> "$GITHUB_OUTPUT" + echo "khiops-coviz-filename=$KHIOPS_COVIZ_FILENAME" >> "$GITHUB_OUTPUT" + echo "khiops-coviz-version=$KHIOPS_COVIZ_VERSION" >> "$GITHUB_OUTPUT" + echo "msmpi-filename=$MSMPI_FILENAME" >> "$GITHUB_OUTPUT" + echo "msmpi-version=$MSMPI_VERSION" >> "$GITHUB_OUTPUT" + build-nsis-installer: + name: Build NSIS Windows installer + needs: retrieve-nsis-requirements + runs-on: windows-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + - name: Download NSIS requirements + uses: actions/download-artifact@v3.0.2 + with: + name: nsis-requirements + path: ./packaging/windows/nsis/nsis-requirements + - name: Build Khiops binaries + uses: ./.github/actions/build-khiops + with: + preset-name: windows-msvc-release + targets: MODL MODL_Coclustering norm_jar khiops_jar + override-flags: -DTESTING=OFF + - name: Build NSIS package + shell: pwsh + run: |- + cd ./packaging/windows/nsis + makensis ` + /DKHIOPS_VERSION=10.1.5 ` + /DKHIOPS_WINDOWS_BUILD_DIR=..\..\..\build\windows-msvc-release ` + /DJRE_INSTALLER_PATH=.\nsis-requirements\${{ needs.retrieve-nsis-requirements.outputs.jre-filename }} ` + /DMSMPI_INSTALLER_PATH=.\nsis-requirements\${{ needs.retrieve-nsis-requirements.outputs.msmpi-filename }} ` + /DKHIOPS_VIZ_INSTALLER_PATH=.\nsis-requirements\${{ needs.retrieve-nsis-requirements.outputs.khiops-viz-filename }} ` + /DKHIOPS_COVIZ_INSTALLER_PATH=.\nsis-requirements\${{ needs.retrieve-nsis-requirements.outputs.khiops-coviz-filename }} ` + khiops.nsi + - name: Upload installer as artifact + uses: actions/upload-artifact@v3.1.2 + with: + name: khiops-installer + path: ./packaging/windows/nsis/khiops-10.1.5-setup.exe + test-nsis-installer: + name: Test NSIS Windows installer + needs: build-nsis-installer + runs-on: windows-2019 + steps: + - name: Download NSIS installer artifact + uses: actions/download-artifact@v3.0.2 + with: + name: khiops-installer + path: ./khiops-10.1.5-setup.exe + - name: Install Khiops + shell: pwsh + run: | + dir + Get-Host + Test-Path .\khiops-10.1.5-setup.exe + $ErrorActionPreference = 'Stop' + $ProgressPreference = 'SilentlyContinue' + Start-Process -FilePath .\khiops-10.1.5-setup.exe -ArgumentList '/S' -Wait + - name: Check the installation + run: |- + $Env:ProgramFiles\khiops\bin\khiops.cmd -v diff --git a/packaging/common/images/installer_khiops.ico b/packaging/common/images/installer_khiops.ico new file mode 100644 index 0000000000000000000000000000000000000000..95d877710e4df47838ccc118ff570d4be45f09f6 GIT binary patch literal 82356 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 literal 0 HcmV?d00001 diff --git a/packaging/common/images/khiops.ico b/packaging/common/images/khiops.ico new file mode 100644 index 0000000000000000000000000000000000000000..4be84ba01a3563b1de0279b93b31619c957527b3 GIT binary patch literal 72737 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�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 Bw~YV* literal 0 HcmV?d00001 diff --git a/packaging/common/images/khiops_coclustering.ico b/packaging/common/images/khiops_coclustering.ico new file mode 100644 index 0000000000000000000000000000000000000000..4d479036e52c7edef2908ca0e74e16fafa5b4329 GIT binary patch literal 75434 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 literal 0 HcmV?d00001 diff --git a/packaging/dockerfiles/Dockerfile.rocky8 b/packaging/dockerfiles/linux/Dockerfile.rocky8 similarity index 100% rename from packaging/dockerfiles/Dockerfile.rocky8 rename to packaging/dockerfiles/linux/Dockerfile.rocky8 diff --git a/packaging/dockerfiles/Dockerfile.rocky9 b/packaging/dockerfiles/linux/Dockerfile.rocky9 similarity index 100% rename from packaging/dockerfiles/Dockerfile.rocky9 rename to packaging/dockerfiles/linux/Dockerfile.rocky9 diff --git a/packaging/dockerfiles/Dockerfile.ubuntu18.04 b/packaging/dockerfiles/linux/Dockerfile.ubuntu18.04 similarity index 100% rename from packaging/dockerfiles/Dockerfile.ubuntu18.04 rename to packaging/dockerfiles/linux/Dockerfile.ubuntu18.04 diff --git a/packaging/dockerfiles/Dockerfile.ubuntu20.04 b/packaging/dockerfiles/linux/Dockerfile.ubuntu20.04 similarity index 100% rename from packaging/dockerfiles/Dockerfile.ubuntu20.04 rename to packaging/dockerfiles/linux/Dockerfile.ubuntu20.04 diff --git a/packaging/dockerfiles/Dockerfile.ubuntu22.04 b/packaging/dockerfiles/linux/Dockerfile.ubuntu22.04 similarity index 100% rename from packaging/dockerfiles/Dockerfile.ubuntu22.04 rename to packaging/dockerfiles/linux/Dockerfile.ubuntu22.04 diff --git a/packaging/dockerfiles/windows/nsis-requirements/Dockerfile b/packaging/dockerfiles/windows/nsis-requirements/Dockerfile new file mode 100644 index 000000000..d6fe8fc33 --- /dev/null +++ b/packaging/dockerfiles/windows/nsis-requirements/Dockerfile @@ -0,0 +1,29 @@ +FROM ubuntu:22.04 + +ENV JRE_FILENAME="jre-8u371-windows-x64.exe" +ENV JRE_VERSION="8u371" +ENV KHIOPS_VIZ_FILENAME="khiops-visualization-Setup-10.2.8.exe" +ENV KHIOPS_VIZ_VERSION="10.2.8" +ENV KHIOPS_COVIZ_FILENAME="khiops-covisualization-Setup-10.2.4.exe" +ENV KHIOPS_COVIZ_VERSION="10.2.4" +ENV MSMPI_FILENAME="msmpisetup.exe" +ENV MSMPI_VERSION="10.1.3" + +RUN true \ + && apt-get update -y \ + && apt-get install -y --no-install-recommends wget ca-certificates \ + && mkdir -p /var/share/nsis-requirements \ + && cd /var/share/nsis-requirements \ + && wget -O ${JRE_FILENAME} \ + https://javadl.oracle.com/webapps/download/AutoDL?BundleId=248242_ce59cff5c23f4e2eaf4e778a117d4c5b \ + && wget -O ${KHIOPS_VIZ_FILENAME} \ + https://github.com/khiopsrelease/kv-release/releases/download/v10.2.8/khiops-visualization-Setup-10.2.8.exe \ + && wget -O ${KHIOPS_COVIZ_FILENAME} \ + https://github.com/khiopsrelease/kc-release/releases/download/v10.2.4/khiops-covisualization-Setup-10.2.4.exe \ + && wget -O ${MSMPI_FILENAME} \ + https://download.microsoft.com/download/7/2/7/72731ebb-b63c-4170-ade7-836966263a8f/msmpisetup.exe \ + && apt-get remove -y wget ca-certificates \ + && apt-get clean autoclean \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + && true diff --git a/packaging/windows/nsis/CreateKhiopsCmdFileFunc.nsh b/packaging/windows/nsis/CreateKhiopsCmdFileFunc.nsh new file mode 100644 index 000000000..3fce501e9 --- /dev/null +++ b/packaging/windows/nsis/CreateKhiopsCmdFileFunc.nsh @@ -0,0 +1,119 @@ +!include "FileFunc.nsh" +!include "x64.nsh" + +# Macro to create the khiops.cmd script +# Example: +# ${CreateKhiopsCmdFile} "$INSTDIR\khiops.cmd" "MODL" "" "$INSTDIR" "scenario._kh" "log.txt" "1" +# +!define CreateKhiopsCmdFile "!insertmacro CreateKhiopsCmdFile" +!macro CreateKhiopsCmdFile FileName ToolName BinSuffix KhiopsHome ScenarioFileName LogFileName ParallelMode + Push "${ParallelMode}" + Push "${LogFileName}" + Push "${ScenarioFileName}" + Push "${KhiopsHome}" + Push "${BinSuffix}" + Push "${ToolName}" + Push "${FileName}" + Call CreateKhiopsCmdFile +!macroend + + +Function CreateKhiopsCmdFile + # Function parameters + Var /GLOBAL _FileName + Var /GLOBAL _ToolName + Var /GLOBAL _BinSuffix + Var /GLOBAL _KhiopsHome + Var /GLOBAL _ScenarioFileName + Var /GLOBAL _LogFileName + Var /GLOBAL _ParallelMode + + # Retrieve parameters from stack + Pop $_FileName + Pop $_ToolName + Pop $_BinSuffix + Pop $_KhiopsHome + Pop $_ScenarioFileName + Pop $_LogFileName + Pop $_ParallelMode + + # Open file to create + FileOpen $0 "$_FileName" w + + # Write file + FileWrite $0 `@echo off$\r$\n` + FileWrite $0 `setlocal$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM ========================================================$\r$\n` + FileWrite $0 `REM See the khiops_env script for full documentation on the$\r$\n` + FileWrite $0 `REM environment variables used by Khiops$\r$\n` + FileWrite $0 `REM ========================================================$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM ========================================================$\r$\n` + FileWrite $0 `REM Initialization of the installation directory of Khiops$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Test is Khiops environment already set up$\r$\n` + FileWrite $0 `if "%KHIOPS_HOME%".=="". set KHIOPS_HOME=$_KhiopsHome$\r$\n` + FileWrite $0 `if not exist "%KHIOPS_HOME%\bin$_BinSuffix\$_ToolName.exe" goto ERR_PATH$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Test if batch mode from parameters$\r$\n` + FileWrite $0 `set _KHIOPS_BATCH_MODE=$\r$\n` + FileWrite $0 `for %%i in (%*) do if %%i.==-b. set _KHIOPS_BATCH_MODE=true$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Initialize Khiops env variables$\r$\n` + FileWrite $0 `call "%KHIOPS_HOME%\bin\khiops_env" --env > NUL$\r$\n` + FileWrite $0 `if not %_KHIOPS_BATCH_MODE%.==true. if not exist "%KHIOPS_JAVA_PATH%\jvm.dll" goto ERR_JAVA$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Set path$\r$\n` + FileWrite $0 `set path=%KHIOPS_PATH%;%KHIOPS_JAVA_PATH%;%path%$\r$\n` + FileWrite $0 `set classpath=%KHIOPS_CLASSPATH%;%classpath%$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM ========================================================$\r$\n` + FileWrite $0 `REM Start Khiops (with or without parameteres)$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `if %1.==. goto NOPARAMS$\r$\n` + FileWrite $0 `if not %1.==. goto PARAMS$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Start without parameters$\r$\n` + FileWrite $0 `:NOPARAMS$\r$\n` + FileWrite $0 `if not exist "%KHIOPS_LAST_RUN_DIR%" md "%KHIOPS_LAST_RUN_DIR%"$\r$\n` + FileWrite $0 `if not exist "%KHIOPS_LAST_RUN_DIR%" goto PARAMS$\r$\n` + ${If} $_ParallelMode == "0" + FileWrite $0 `"%KHIOPS_PATH%$_BinSuffix\$_ToolName" -o "%KHIOPS_LAST_RUN_DIR%\$_ScenarioFileName" -e "%KHIOPS_LAST_RUN_DIR%\$_LogFileName"$\r$\n` + ${Else} + FileWrite $0 `%KHIOPS_MPI_COMMAND% "%KHIOPS_PATH%$_BinSuffix\$_ToolName" -o "%KHIOPS_LAST_RUN_DIR%\$_ScenarioFileName" -e "%KHIOPS_LAST_RUN_DIR%\$_LogFileName"$\r$\n` + ${EndIf} + FileWrite $0 `goto END$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Start with parameters$\r$\n` + FileWrite $0 `:PARAMS$\r$\n` + ${If} $_ParallelMode == "0" + FileWrite $0 `"%KHIOPS_PATH%$_BinSuffix\$_ToolName" %*$\r$\n` + ${Else} + FileWrite $0 `%KHIOPS_MPI_COMMAND% "%KHIOPS_PATH%$_BinSuffix\$_ToolName" %*$\r$\n` + ${EndIf} + FileWrite $0 `goto END$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM ========================================================$\r$\n` + FileWrite $0 `REM Error messages$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:ERR_PATH$\r$\n` + FileWrite $0 `start "KHIOPS CONFIG PROBLEM" echo ERROR Incorrect installation directory for Khiops (File $_ToolName.exe not found in directory %KHIOPS_PATH%$_BinSuffix)$\r$\n` + FileWrite $0 `exit /b 1$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:ERR_JAVA$\r$\n` + FileWrite $0 `start "KHIOPS CONFIG PROBLEM" echo ERROR Java not correctly installed, jvm.dll not found under java directory tree %_KHIOPS_JAVA_HOME% (%_KHIOPS_JAVA_HOME_ORIGIN%): see khiops_env.cmd file in %KHIOPS_HOME%\bin, after line 'Set user Java Home'$\r$\n` + FileWrite $0 `exit /b 1$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:END$\r$\n` + FileWrite $0 `endlocal$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Return 1 if fatal error, 2 if error(s), 0 otherwise$\r$\n` + FileWrite $0 `exit /b %errorlevel%$\r$\n` + + # Close file + FileClose $0 +FunctionEnd diff --git a/packaging/windows/nsis/CreateKhiopsEnvCmdFileFunc.nsh b/packaging/windows/nsis/CreateKhiopsEnvCmdFileFunc.nsh new file mode 100644 index 000000000..26d4e0877 --- /dev/null +++ b/packaging/windows/nsis/CreateKhiopsEnvCmdFileFunc.nsh @@ -0,0 +1,195 @@ +!include "FileFunc.nsh" +!include "x64.nsh" + +# Macro to create the khiops_env.cmd script +# Example: +# ${CreateKhiopsEnvCmdFile} "$INSTDIR\khiops_env.cmd" "$INSTDIR" "4" +# +!define CreateKhiopsEnvCmdFile "!insertmacro CreateKhiopsEnvCmdFile" +!macro CreateKhiopsEnvCmdFile FileName KhiopsHome PhysicalCoresNumber + Push "${PhysicalCoresNumber}" + Push "${KhiopsHome}" + Push "${FileName}" + Call CreateKhiopsEnvCmdFile +!macroend + +# Function to be used with the macro defined above +Function CreateKhiopsEnvCmdFile + # Define function parameters + Var /GLOBAL _EnvFileName + Var /GLOBAL _EnvKhiopsHome + Var /GLOBAL _EnvProcessNumber + + # Retrieve parameters from stack + Pop $_EnvFileName + Pop $_EnvKhiopsHome + Pop $_EnvProcessNumber + + # Open the file to create + FileOpen $0 "$_EnvFileName" w + + # Write file contents + FileWrite $0 `@echo off$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `if %1.==--env. goto SET_ENV$\r$\n` + FileWrite $0 `goto HELP$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:HELP$\r$\n` + FileWrite $0 `echo Usage: khiops-env [-h] [--env]$\r$\n` + FileWrite $0 `echo khiops-env is an internal script intended to be used by Khiops tool and Khiops'$\r$\n` + FileWrite $0 `echo wrappers only.$\r$\n` + FileWrite $0 `echo If the --env flag is used, the environment list is printed on the standard output$\r$\n` + FileWrite $0 `echo.$\r$\n` + FileWrite $0 `echo The following variables are used to set the path and classpath$\r$\n` + FileWrite $0 `echo for the prerequisite of Khiops.$\r$\n` + FileWrite $0 `echo.$\r$\n` + FileWrite $0 `echo KHIOPS_HOME: home directory of Khiops, on Windows only$\r$\n` + FileWrite $0 `echo.$\r$\n` + FileWrite $0 `echo KHIOPS_PATH: path of Khiops' executable, to add in path$\r$\n` + FileWrite $0 `echo KHIOPS_MPI_COMMAND: MPI command to call the Khiops tool$\r$\n` + FileWrite $0 `echo KHIOPS_MPI_LIB: MPI library path used by the Khiops tool$\r$\n` + FileWrite $0 `echo KHIOPS_JAVA_PATH: path of Java tool, to add in path$\r$\n` + FileWrite $0 `echo KHIOPS_CLASSPATH: Khiops java libraries, to add in classpath$\r$\n` + FileWrite $0 `echo.$\r$\n` + FileWrite $0 `echo If they are not already defined, the following variables used by$\r$\n` + FileWrite $0 `echo Khiops are set :$\r$\n` + FileWrite $0 `echo.$\r$\n` + FileWrite $0 `echo KHIOPS_LAST_RUN_DIR: directory where Khiops writes output command$\r$\n` + FileWrite $0 `echo file and log (when not defined with -e and -o)$\r$\n` + FileWrite $0 `echo KHIOPS_PROC_NUMBER: processes number launched by Khiops (it's$\r$\n` + FileWrite $0 `echo default value corresponds to the number of physical cores of$\r$\n` + FileWrite $0 `echo the computer plus one)$\r$\n` + FileWrite $0 `echo.$\r$\n` + FileWrite $0 `echo The following variables are not defined by default and can be used to$\r$\n` + FileWrite $0 `echo change some default properties of Khiops:$\r$\n` + FileWrite $0 `echo.$\r$\n` + FileWrite $0 `echo KHIOPS_TMP_DIR: Khiops' temporary directory location (default : the$\r$\n` + FileWrite $0 `echo system's default) This location can be modified from the tool as well$\r$\n` + FileWrite $0 `echo KHIOPS_MEMORY_LIMIT: Khiops' memory limit (default : the system's$\r$\n` + FileWrite $0 `echo memory limit). This setting is ignored if it is above the system's$\r$\n` + FileWrite $0 `echo memory limit. It can only be reduced from the tool$\r$\n` + FileWrite $0 `echo KHIOPS_API_MODE: standard or api mode for the management of output result files created by Khiops$\r$\n` + FileWrite $0 `echo In standard mode, the result files are stored in the train database directory,$\r$\n` + FileWrite $0 `echo unless an absolute path is specified, and the file extension is forced if necessary.$\r$\n` + FileWrite $0 `echo In api mode, the result files are stored in the current working directory, using the specified results as is.$\r$\n` + FileWrite $0 `echo . default behavior if not set: standard mode$\r$\n` + FileWrite $0 `echo . set to 'true' to force standard mode$\r$\n` + FileWrite $0 `echo . set to 'false' to force api mode$\r$\n` + FileWrite $0 `echo KHIOPS_RAW_GUI: graphical user interface for file name selection$\r$\n` + FileWrite $0 `echo . default behavior if not set: depending on the file drivers available for Khiops$\r$\n` + FileWrite $0 `echo . set to 'true' to allow file name selection with uri schemas$\r$\n` + FileWrite $0 `echo . set to 'false' to allow local file name selection only with a file selection dialog$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `if not %2.==. exit /b 1$\r$\n` + FileWrite $0 `if %1.==-h. exit /b 0$\r$\n` + FileWrite $0 `exit /b 1$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Set Khiops env variables$\r$\n` + FileWrite $0 `:SET_ENV$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Test if Khiops environment already set up$\r$\n` + FileWrite $0 `if "%KHIOPS_HOME%".=="". set KHIOPS_HOME=$_EnvKhiopsHome$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM KHIOPS_PATH$\r$\n` + FileWrite $0 `set KHIOPS_PATH=%KHIOPS_HOME%\bin$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM KHIOPS_CLASSPATH$\r$\n` + FileWrite $0 `set KHIOPS_CLASSPATH=%KHIOPS_HOME%\bin\norm.jar$\r$\n` + FileWrite $0 `set KHIOPS_CLASSPATH=%KHIOPS_HOME%\bin\khiops.jar;%KHIOPS_CLASSPATH%$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM KHIOPS_LAST_RUN_DIR$\r$\n` + FileWrite $0 `if "%KHIOPS_LAST_RUN_DIR%".=="". set KHIOPS_LAST_RUN_DIR=%USERPROFILE%\khiops_data\lastrun$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM KHIOPS_PROC_NUMBER$\r$\n` + FileWrite $0 `if "%KHIOPS_PROC_NUMBER%".=="". set KHIOPS_PROC_NUMBER=$_EnvProcessNumber$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM KHIOPS_MPI_COMMAND$\r$\n` + FileWrite $0 `REM Priority$\r$\n` + FileWrite $0 `REM 0: Idle$\r$\n` + FileWrite $0 `REM 1: Below normal$\r$\n` + FileWrite $0 `REM 2: Normal$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `set KHIOPS_MPI_COMMAND="%MSMPI_BIN%mpiexec" -al spr:P -n %KHIOPS_PROC_NUMBER% /priority 1$\r$\n` + FileWrite $0 `if %KHIOPS_PROC_NUMBER%==1 set KHIOPS_MPI_COMMAND=$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM KHIOPS_JAVA_PATH$\r$\n` + FileWrite $0 `REM May not work in case of a recent new installation of Java on the PC$\r$\n` + FileWrite $0 `set KHIOPS_JAVA_PATH=$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Set user Java Home$\r$\n` + FileWrite $0 `REM Uncomment the following line your own Java version$\r$\n` + FileWrite $0 `REM set _KHIOPS_JAVA_HOME=C:\Program Files\Java\jre${JavaRequiredFullVersion}$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:JAVA_HOME_0$\r$\n` + FileWrite $0 `set _KHIOPS_JAVA_HOME_ORIGIN=java home set by user$\r$\n` + FileWrite $0 `REM Search if set by user$\r$\n` + FileWrite $0 `if not "%_KHIOPS_JAVA_HOME%".=="". goto JAVA_HOME_LAST$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:JAVA_HOME_1$\r$\n` + FileWrite $0 `set _KHIOPS_JAVA_HOME_ORIGIN=found java recent version in registry$\r$\n` + FileWrite $0 `REM Search for a recent version of Java (greater than 8)$\r$\n` + FileWrite $0 `REM Search Java Version from registry and set _KHIOPS_JAVA_VERSION env var$\r$\n` + FileWrite $0 `for /F "tokens=2*" %%f in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE" -v CurrentVersion 2^>nul') do set _KHIOPS_JAVA_VERSION=%%g$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Search Java Home from registry and set _KHIOPS_JAVA_HOME env var$\r$\n` + FileWrite $0 `for /F "tokens=2*" %%f in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE\%_KHIOPS_JAVA_VERSION%" -v JavaHome 2^>nul') do set _KHIOPS_JAVA_HOME=%%g$\r$\n` + FileWrite $0 `if not "%_KHIOPS_JAVA_HOME%".=="". goto JAVA_HOME_LAST$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:JAVA_HOME_2$\r$\n` + FileWrite $0 `set _KHIOPS_JAVA_HOME_ORIGIN=found java version in registry$\r$\n` + FileWrite $0 `REM Search for a previous version of Java$\r$\n` + FileWrite $0 `REM Search Java Version from registry and set _KHIOPS_JAVA_VERSION env var$\r$\n` + FileWrite $0 `for /F "tokens=2*" %%f in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" -v CurrentVersion 2^>nul') do set _KHIOPS_JAVA_VERSION=%%g$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Search Java Home from registry and set _KHIOPS_JAVA_HOME env var$\r$\n` + FileWrite $0 `for /F "tokens=2*" %%f in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%_KHIOPS_JAVA_VERSION%" -v JavaHome 2^>nul') do set _KHIOPS_JAVA_HOME=%%g$\r$\n` + FileWrite $0 `if not "%_KHIOPS_JAVA_HOME%".=="". goto JAVA_HOME_LAST$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:JAVA_HOME_3$\r$\n` + FileWrite $0 `set _KHIOPS_JAVA_HOME_ORIGIN=found in java installation sub dirs$\r$\n` + FileWrite $0 `REM Heuristic search in sub-directories of java installation dir$\r$\n` + FileWrite $0 `if not exist "%programFiles%\java" goto JAVA_HOME_LAST$\r$\n` + # Following instruction surrounding by simple quotes ', to allow internal use of back-quotes ` + FileWrite $0 'FOR /F "usebackq delims=" %%i IN (`where /R "%programFiles%\java" jvm.dll`) DO (set KHIOPS_JAVA_PATH=%%~di%%~pi)$\r$\n' + FileWrite $0 `if exist "%KHIOPS_JAVA_PATH%\jvm.dll" goto JAVA_END$\r$\n` + FileWrite $0 `if not exist "%KHIOPS_JAVA_PATH%\jvm.dll" set KHIOPS_JAVA_PATH=$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:JAVA_HOME_4$\r$\n` + FileWrite $0 `set _KHIOPS_JAVA_HOME_ORIGIN=default installation settings$\r$\n` + FileWrite $0 `REM Set default Java Home if not found in registry$\r$\n` + FileWrite $0 `if "%_KHIOPS_JAVA_HOME%".=="". set _KHIOPS_JAVA_HOME=C:\Program Files\Java\jre${JavaRequiredFullVersion}$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:JAVA_HOME_LAST$\r$\n` + FileWrite $0 `REM Add java runtime dir to KHIOPS_JAVA_PATH$\r$\n` + FileWrite $0 `if exist "%_KHIOPS_JAVA_HOME%\bin\client\jvm.dll" set KHIOPS_JAVA_PATH=%_KHIOPS_JAVA_HOME%\bin\client$\r$\n` + FileWrite $0 `if exist "%_KHIOPS_JAVA_HOME%\bin\server\jvm.dll" set KHIOPS_JAVA_PATH=%_KHIOPS_JAVA_HOME%\bin\server$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `:JAVA_END$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `$\r$\n` + FileWrite $0 `REM Print the environment list on the standard output$\r$\n` + FileWrite $0 `echo KHIOPS_HOME %KHIOPS_HOME%$\r$\n` + FileWrite $0 `echo KHIOPS_PATH %KHIOPS_PATH%$\r$\n` + FileWrite $0 `echo KHIOPS_MPI_COMMAND %KHIOPS_MPI_COMMAND%$\r$\n` + FileWrite $0 `echo KHIOPS_MPI_LIB %KHIOPS_MPI_LIB%$\r$\n` + FileWrite $0 `echo KHIOPS_JAVA_PATH %KHIOPS_JAVA_PATH%$\r$\n` + FileWrite $0 `echo KHIOPS_CLASSPATH %KHIOPS_CLASSPATH%$\r$\n` + FileWrite $0 `echo KHIOPS_LAST_RUN_DIR %KHIOPS_LAST_RUN_DIR%$\r$\n` + FileWrite $0 `echo KHIOPS_PROC_NUMBER %KHIOPS_PROC_NUMBER%$\r$\n` + FileWrite $0 `echo KHIOPS_TMP_DIR %KHIOPS_TMP_DIR%$\r$\n` + FileWrite $0 `echo KHIOPS_MEMORY_LIMIT %KHIOPS_MEMORY_LIMIT%$\r$\n` + FileWrite $0 `echo KHIOPS_API_MODE %KHIOPS_API_MODE%$\r$\n` + FileWrite $0 `echo KHIOPS_RAW_GUI %KHIOPS_RAW_GUI%$\r$\n` + FileWrite $0 `exit /b 0$\r$\n` + + # Close file + FileClose $0 +FunctionEnd diff --git a/packaging/windows/nsis/GetCoresCount.nsh b/packaging/windows/nsis/GetCoresCount.nsh new file mode 100644 index 000000000..74822c04e --- /dev/null +++ b/packaging/windows/nsis/GetCoresCount.nsh @@ -0,0 +1,54 @@ +# Copied entirely from +# http://stackoverflow.com/questions/29911549/cpu-features-getcount-return-incorrect-number-for-cpu-cores +!include LogicLib.nsh +!ifndef ERROR_INSUFFICIENT_BUFFER +!define ERROR_INSUFFICIENT_BUFFER 122 +!endif +!define RelationProcessorCore 0 + +!if "${NSIS_PTR_SIZE}" <= 4 +Function GetProcessorPhysCoreCount +System::Store S +StrCpy $9 0 ; 0 if we fail +System::Call 'kernel32::GetLogicalProcessorInformationEx(i${RelationProcessorCore},i,*i0r2)i.r0?e' +Pop $3 +${If} $3 = ${ERROR_INSUFFICIENT_BUFFER} +${AndIf} $2 <> 0 + System::Alloc $2 + System::Call 'kernel32::GetLogicalProcessorInformationEx(i${RelationProcessorCore},isr1,*ir2r2)i.r0' + Push $1 + ${If} $0 <> 0 + loop_7: + IntOp $9 $9 + 1 + System::Call *$1(i,i.r3) + IntOp $1 $1 + $3 + IntOp $2 $2 - $3 + IntCmp $2 0 "" loop_7 loop_7 + ${EndIf} + Pop $1 + System::Free $1 +${Else} + System::Call 'kernel32::GetLogicalProcessorInformation(i,*i0r2)i.r0?e' + Pop $3 + ${If} $3 = ${ERROR_INSUFFICIENT_BUFFER} + System::Alloc $2 + System::Call 'kernel32::GetLogicalProcessorInformation(isr1,*ir2r2)i.r0' + Push $1 + ${If} $0 <> 0 + loop_v: + System::Call *$1(i,i.r3) + ${If} $3 == ${RelationProcessorCore} + IntOp $9 $9 + 1 + ${EndIf} + IntOp $1 $1 + 24 + IntOp $2 $2 - 24 + IntCmp $2 0 "" loop_v loop_v + ${EndIf} + Pop $1 + System::Free $1 + ${EndIf} +${EndIf} +Push $9 +System::Store L +FunctionEnd +!endif diff --git a/packaging/windows/nsis/KhiopsGlobals.nsh b/packaging/windows/nsis/KhiopsGlobals.nsh new file mode 100644 index 000000000..70a04129f --- /dev/null +++ b/packaging/windows/nsis/KhiopsGlobals.nsh @@ -0,0 +1,14 @@ +# Global Definitions +# ------------------ + +# Minimal required Java version +!define JavaRequiredVersion "1.8" + +# Minimal required Java update version of the package installer +!define JavaInstallerVersionUpdate "181" + +# Minimal required full Java version (stored in the registry) +!define JavaRequiredFullVersion "1.8.0_181" + +# Minimal required MPI version +!define MPIRequiredVersion "10.0" diff --git a/packaging/windows/nsis/KhiopsPrerequisiteFunc.nsh b/packaging/windows/nsis/KhiopsPrerequisiteFunc.nsh new file mode 100644 index 000000000..8f76e63d6 --- /dev/null +++ b/packaging/windows/nsis/KhiopsPrerequisiteFunc.nsh @@ -0,0 +1,134 @@ +!include "FileFunc.nsh" +!include "x64.nsh" +!include "WordFunc.nsh" + +# To deactivate the requirements installation define DO_NOT_INSTALL_REQUIREMENTS + +# Detects and loads Java installation path and the JRE version +# - Defines JavaInstalledVersion and JavaInstallationPath +# - If the detection fails JavaInstalledVersion is set to "" +Function DetectAndLoadJavaEnvironment + # Installed version + Var /GLOBAL JavaInstalledVersion + + # Installation path + Var /GLOBAL JavaInstallationPath + + # Set the 64 bit registry to detect the correct version of Java + SetRegView 64 + + # Detection of JRE for Java >= 10 + StrCpy $JavaInstalledVersion "" + StrCpy $JavaInstallationPath "" + StrCpy $1 "SOFTWARE\JavaSoft\JRE" + StrCpy $2 0 + ReadRegStr $2 HKLM "$1" "CurrentVersion" + ${If} $2 != "" + ReadRegStr $3 HKLM "$1\$2" "JavaHome" + ${If} $3 != "" + StrCpy $JavaInstalledVersion $2 + StrCpy $JavaInstallationPath $3 + ${EndIf} + ${EndIf} + + # Debug message + !ifdef DEBUG + Messagebox MB_OK "JRE (>=10.0): required=${JavaRequiredVersion}, installed=$JavaInstalledVersion, path=$JavaInstallationPath" + !endif + + # Detection of JRE for Java < 10.0 + ${If} $JavaInstalledVersion == "" + StrCpy $JavaInstallationPath "" + StrCpy $1 "SOFTWARE\JavaSoft\Java Runtime Environment" + StrCpy $2 0 + ReadRegStr $2 HKLM "$1" "CurrentVersion" + ${If} $2 != "" + ReadRegStr $3 HKLM "$1\$2" "JavaHome" + ${If} $3 != "" + StrCpy $JavaInstallationPath $3 + StrCpy $JavaInstalledVersion $2 + ${EndIf} + ${EndIf} + ${EndIf} + + # Debug message + !ifdef DEBUG + Messagebox MB_OK "JRE (< 10.0): required=${JavaRequiredVersion}, installed=$JavaInstalledVersion, path=$JavaInstallationPath" + !endif + + # Get back to 32 bit registry + SetRegView 32 +FunctionEnd + +# Installs Java +Function InstallJava +!ifndef DO_NOT_INSTALL_REQUIREMENTS + # Write the JRE installer + SetOutPath $TEMP + File ${JRE_INSTALLER_PATH} + + # Execute the JRE installer silently + Var /Global JRE_INSTALLER_FILENAME + ${GetFileName} ${JRE_INSTALLER_PATH} $JRE_INSTALLER_FILENAME + nsexec::Exec '"$TEMP\$JRE_INSTALLER_FILENAME" INSTALL_SILENT=1 REBOOT=0' + Pop $0 + DetailPrint "Installation of Java JRE: $0" + + # Delete JRE installer + Delete "$TEMP\$JRE_INSTALLER_FILENAME" + + # Load the Java Environment + Call DetectAndLoadJavaEnvironment + + # Fail if the required version is newer than installed version + ${VersionCompare} "${JavaRequiredVersion}" "$JavaInstalledVersion" $0 + ${If} $0 == 1 + Messagebox MB_OK "Could not install Java runtime (version ${JavaRequiredVersion}): Khiops will run only in batch mode. Try installing Java JRE directly before installing to Khiops." /SD IDOK + ${EndIf} +!endif +FunctionEnd + + +# Detects MPI and loads its version +# - Defines MPIInstalledVersion +# - If not installerd MPIInstalledVersion is equal to 0 +Function DetectAndLoadMPIEnvironment + # Installed version + Var /GLOBAL MPIInstalledVersion + StrCpy $MPIInstalledVersion 0 + + # Look in the registry for the MPI installation + StrCpy $1 "SOFTWARE\Microsoft\MPI" + StrCpy $2 0 + ReadRegStr $2 HKLM "$1" "Version" + StrCpy $MPIInstalledVersion $2 +FunctionEnd + + +# Installs MPI +Function InstallMPI +!ifndef DO_NOT_INSTALL_REQUIREMENTS + # Save MPI installer + SetOutPath $TEMP + File ${MSMPI_INSTALLER_PATH} + + # Execute MPI installer + Var /Global MSMPI_INSTALLER_FILENAME + ${GetFileName} ${MSMPI_INSTALLER_PATH} $MSMPI_INSTALLER_FILENAME + nsexec::Exec '"$TEMP\$MSMPI_INSTALLER_FILENAME" -unattend -force -minimal' + Pop $0 + DetailPrint "Installation of MPI: $0" + + # Delete MSMPI installer + Delete "$TEMP\$MSMPI_INSTALLER_FILENAME" + + # Load MPI environment (MPIInstalledVersion) + Call DetectAndLoadMPIEnvironment + + # Show an error if the required version is newer than installed version + ${VersionCompare} "${MPIRequiredVersion}" "$MPIInstalledVersion" $0 + ${If} $0 == 1 + Messagebox MB_OK "Could not install MPI runtime (version ${MPIRequiredVersion}): Khiops will not run. Try installing Microsoft MPI directly before installing Khiops." /SD IDOK + ${EndIf} +!endif +FunctionEnd diff --git a/packaging/windows/nsis/images/headerimage.bmp b/packaging/windows/nsis/images/headerimage.bmp new file mode 100644 index 0000000000000000000000000000000000000000..16942a3ce9a60ac737521cb7c6f28d94916ed42a GIT binary patch literal 215874 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 literal 0 HcmV?d00001 diff --git a/packaging/windows/nsis/images/installer.ico b/packaging/windows/nsis/images/installer.ico new file mode 100644 index 0000000000000000000000000000000000000000..95d877710e4df47838ccc118ff570d4be45f09f6 GIT binary patch literal 82356 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 literal 0 HcmV?d00001 diff --git a/packaging/windows/nsis/images/welcomefinish.bmp b/packaging/windows/nsis/images/welcomefinish.bmp new file mode 100644 index 0000000000000000000000000000000000000000..def59f3a7ff9b13ab62059b2437ca5c5f8fdae2e GIT binary patch literal 777270 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 2 + IntOp $ProcessNumber $PhysicalCoresNumber + 1 + ${EndIf} + ${CreateKhiopsEnvCmdFile} "$INSTDIR\bin\khiops_env.cmd" "$INSTDIR" $ProcessNumber + ${CreateKhiopsCmdFile} "$INSTDIR\bin\khiops.cmd" "MODL" "" "$INSTDIR" "scenario._kh" "log.txt" $IsMPIRequired + ${CreateKhiopsCmdFile} "$INSTDIR\bin\khiops_coclustering.cmd" "MODL_Coclustering" "" "$INSTDIR" "scenario._khc" "logc.txt" "0" + + # Create the Khiops shell + FileOpen $0 "$INSTDIR\bin\shell_khiops.cmd" w + FileWrite $0 '@echo off$\r$\n' + FileWrite $0 'REM Open a shell session with access to Khiops$\r$\n' + FileWrite $0 `if "%KHIOPS_HOME%".=="". set KHIOPS_HOME=$INSTDIR$\r$\n` + FileWrite $0 'set path=%KHIOPS_HOME%\bin;%path%$\r$\n' + FileWrite $0 'title Shell Khiops$\r$\n' + FileWrite $0 '%comspec% /K "echo Welcome to Khiops scripting mode & echo Type khiops -h or khiops_coclustering -h to get help' + FileClose $0 + + # Create the uninstaller + WriteUninstaller "$INSTDIR\uninstall-khiops.exe" + + + ##################################### + # Windows environment customization # + # ################################### + + + # Write registry keys to add Khiops in the Add/Remove Programs pane + WriteRegStr HKLM "Software\Khiops" "" $INSTDIR + WriteRegStr HKLM "${UninstallerKey}\Khiops" "UninstallString" '"$INSTDIR\uninstall-khiops.exe"' + WriteRegStr HKLM "${UninstallerKey}\Khiops" "InstallLocation" "$INSTDIR" + WriteRegStr HKLM "${UninstallerKey}\Khiops" "DisplayName" "Khiops" + WriteRegStr HKLM "${UninstallerKey}\Khiops" "Publisher" "Orange Labs" + WriteRegStr HKLM "${UninstallerKey}\Khiops" "DisplayIcon" "$INSTDIR\bin\icons\installer_khiops.ico" + WriteRegStr HKLM "${UninstallerKey}\Khiops" "DisplayVersion" "${KHIOPS_VERSION}" + WriteRegStr HKLM "${UninstallerKey}\Khiops" "URLInfoAbout" "http://www.khiops.com" + WriteRegDWORD HKLM "${UninstallerKey}\Khiops" "NoModify" "1" + WriteRegDWORD HKLM "${UninstallerKey}\Khiops" "NoRepair" "1" + + # Create application shortcuts in the installation directory + DetailPrint "Installing Start menu Shortcut..." + SetOutPath "$INSTDIR" # for the start directory + CreateShortCut "$INSTDIR\Khiops.lnk" "$INSTDIR\bin\khiops.cmd" "" "$INSTDIR\bin\icons\khiops.ico" 0 SW_SHOWMINIMIZED + CreateShortCut "$INSTDIR\Khiops Coclustering.lnk" "$INSTDIR\bin\khiops_coclustering.cmd" "" "$INSTDIR\bin\icons\khiops_coclustering.ico" 0 SW_SHOWMINIMIZED + ExpandEnvStrings $R0 "%COMSPEC%" + CreateShortCut "$INSTDIR\Shell Khiops.lnk" "$INSTDIR\bin\shell_khiops.cmd" "" "$R0" + + # Create start menu shortcuts for exe + DetailPrint "Installing Start menu Shortcut..." + SetOutPath "$INSTDIR" # for the start directory + CreateDirectory "$SMPROGRAMS\Khiops" + CreateShortCut "$SMPROGRAMS\Khiops\Khiops.lnk" "$INSTDIR\bin\khiops.cmd" "" "$INSTDIR\bin\icons\khiops.ico" 0 SW_SHOWMINIMIZED + CreateShortCut "$SMPROGRAMS\Khiops\Khiops Coclustering.lnk" "$INSTDIR\bin\khiops_coclustering.cmd" "" "$INSTDIR\bin\icons\khiops_coclustering.ico" 0 SW_SHOWMINIMIZED + ExpandEnvStrings $R0 "%COMSPEC%" + CreateShortCut "$SMPROGRAMS\Khiops\Shell Khiops.lnk" "$INSTDIR\bin\shell_khiops.cmd" "" "$R0" + CreateShortCut "$SMPROGRAMS\Khiops\Uninstall.lnk" "$INSTDIR\uninstall-khiops.exe" + + # Define aliases for the following registry keys (also used in the uninstaller section) + # - HKLM (all users) + # - HKCU (current user) + !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' + !define env_hkcu 'HKCU "Environment"' + + # Set KHIOPS_HOME for the local machine and current user + WriteRegExpandStr ${env_hklm} "KHIOPS_HOME" "$INSTDIR" + WriteRegExpandStr ${env_hkcu} "KHIOPS_HOME" "$INSTDIR" + + # Make sure windows knows about the change + SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 + + # Register file association for Khiops visualisation tools # + # inspired from examples\makensis.nsi + + # Khiops dictionary file extension + ReadRegStr $R0 HKCR ".kdic" "" + ${if} $R0 == "Khiops.Dictionary.File" + DeleteRegKey HKCR "Khiops.Dictionary.File" + ${EndIf} + WriteRegStr HKCR ".kdic" "" "Khiops.Dictionary.File" + WriteRegStr HKCR "Khiops.Dictionary.File" "" "Khiops Dictionary File" + ReadRegStr $R0 HKCR "Khiops.Dictionary.File\shell\open\command" "" + ${If} $R0 == "" + WriteRegStr HKCR "Khiops.Dictionary.File\shell" "" "open" + WriteRegStr HKCR "Khiops.Dictionary.File\shell\open\command" "" 'notepad.exe "%1"' + ${EndIf} + + # Khiops scenario file + ReadRegStr $R0 HKCR "._kh" "" + ${if} $R0 == "Khiops.File" + DeleteRegKey HKCR "Khiops.File" + ${EndIf} + WriteRegStr HKCR "._kh" "" "Khiops.File" + WriteRegStr HKCR "Khiops.File" "" "Khiops File" + WriteRegStr HKCR "Khiops.File\DefaultIcon" "" "$INSTDIR\bin\icons\khiops.ico" + ReadRegStr $R0 HKCR "Khiops.File\shell\open\command" "" + ${If} $R0 == "" + WriteRegStr HKCR "Khiops.File\shell" "" "open" + WriteRegStr HKCR "Khiops.File\shell\open\command" "" 'notepad.exe "%1"' + ${EndIf} + WriteRegStr HKCR "Khiops.File\shell\compile" "" "Execute Khiops Script" + WriteRegStr HKCR "Khiops.File\shell\compile\command" "" '"$INSTDIR\bin\khiops.cmd" -i "%1"' + + # Khiops coclustering scenario file + ReadRegStr $R0 HKCR "._khc" "" + ${if} $R0 == "Khiops.Coclustering.File" + DeleteRegKey HKCR "Khiops.Coclustering.File" + ${EndIf} + WriteRegStr HKCR "._khc" "" "Khiops.Coclustering.File" + WriteRegStr HKCR "Khiops.Coclustering.File" "" "Khiops Coclustering File" + WriteRegStr HKCR "Khiops.Coclustering.File\DefaultIcon" "" "$INSTDIR\bin\icons\khiops_coclustering.ico" + ReadRegStr $R0 HKCR "Khiops.Coclustering.File\shell\open\command" "" + ${If} $R0 == "" + WriteRegStr HKCR "Khiops.Coclustering.File\shell" "" "open" + WriteRegStr HKCR "Khiops.Coclustering.File\shell\open\command" "" 'notepad.exe "%1"' + ${EndIf} + WriteRegStr HKCR "Khiops.Coclustering.File\shell\compile" "" "Execute Khiops Coclustering Script" + WriteRegStr HKCR "Khiops.Coclustering.File\shell\compile\command" "" '"$INSTDIR\bin\khiops_coclustering.cmd" -i "%1"' + + # Notify the file extension changes + System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)' + + # Debug message + !ifdef DEBUG + Messagebox MB_OK "Installation finished!" + !endif + +SectionEnd + + +############### +# Uninstaller # +############### + +Section "Uninstall" + # In order to have shortcuts and documents for all users + SetShellVarContext all + + # Restore Registry # + # Unregister file associations + DetailPrint "Uninstalling Khiops Shell Extensions..." + + # Unregister Khiops dictionary file extension + ${If} $R0 == "Khiops.Dictionary.File" + DeleteRegKey HKCR ".kdic" + ${EndIf} + DeleteRegKey HKCR "Khiops.Dictionary.File" + + # Unregister Khiops file extension + ${If} $R0 == "Khiops.File" + DeleteRegKey HKCR "._kh" + ${EndIf} + DeleteRegKey HKCR "Khiops.File" + + # Unregister Khiops coclustering file extension + ${If} $R0 == "Khiops.Coclustering.File" + DeleteRegKey HKCR "._khc" + ${EndIf} + DeleteRegKey HKCR "Khiops.Coclustering.File" + + # Notify file extension changes + System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)' + + # Delete installation folder key + DeleteRegKey HKLM "${UninstallerKey}\Khiops" + DeleteRegKey HKLM "Software\Khiops" + + # Delete environement variable KHIOPS_HOME + DeleteRegValue ${env_hklm} "KHIOPS_HOME" + DeleteRegValue ${env_hkcu} "KHIOPS_HOME" + + # Delete deprecated environment variable KhiopsHome + DeleteRegValue ${env_hklm} "KhiopsHome" + DeleteRegValue ${env_hkcu} "KhiopsHome" + + # Make sure windows knows about the changes in the environment + SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 + + # Delete files # + DetailPrint "Deleting Files ..." + + # Files to delete in root directory + Delete "$INSTDIR\LICENSE" + + # Files to delete in bin directory + Delete "$INSTDIR\bin\khiops_env.cmd" + Delete "$INSTDIR\bin\khiops.cmd" + Delete "$INSTDIR\bin\khiops_coclustering.cmd" + Delete "$INSTDIR\bin\MODL.exe" + Delete "$INSTDIR\bin\MODL_Coclustering.exe" + Delete "$INSTDIR\bin\norm.jar" + Delete "$INSTDIR\bin\khiops.jar" + Delete "$INSTDIR\bin\shell_khiops.cmd" + + # Files to delete in bin\icons directory + Delete "$INSTDIR\bin\icons\installer_khiops.ico" + Delete "$INSTDIR\bin\icons\khiops.ico" + Delete "$INSTDIR\bin\icons\khiops_coclustering.ico" + + # Delete short cuts from install dir + Delete "$INSTDIR\Khiops.lnk" + Delete "$INSTDIR\Khiops Coclustering.lnk" + Delete "$INSTDIR\Shell Khiops.lnk" + + # Delete the installer + Delete "$INSTDIR\uninstall-khiops.exe" + + # Delete the installation directory tree + # Note: Directories are removed only if they are completely empty + RMDir "$INSTDIR\bin\icons" + RMDir "$INSTDIR\bin" + RMDir "$INSTDIR\key" + RMDir "$INSTDIR\doc" + RMDir "$INSTDIR" + + # Delete shortcuts + Delete "$DESKTOP\Khiops.lnk" + Delete "$DESKTOP\Khiops Coclustering.lnk" + Delete "$DESKTOP\Shell Khiops.lnk" + RMDir /r "$SMPROGRAMS\Khiops" +SectionEnd + + +####################### +# Installer Functions # +####################### + +Function "CreateDesktopShortcuts" + DetailPrint "Installing Desktop Shortcut..." + SetOutPath "$INSTDIR" + CreateShortCut "$DESKTOP\Khiops.lnk" "$INSTDIR\bin\khiops.cmd" "" "$INSTDIR\bin\icons\khiops.ico" 0 SW_SHOWMINIMIZED + CreateShortCut "$DESKTOP\Khiops Coclustering.lnk" "$INSTDIR\bin\khiops_coclustering.cmd" "" "$INSTDIR\bin\icons\khiops_coclustering.ico" 0 SW_SHOWMINIMIZED +FunctionEnd + +# Predefined initialization install function +Function .onInit + # Define variables + Var /GLOBAL PreviousUninstaller + Var /GLOBAL PreviousVersion + + # Read location of the uninstaller + ReadRegStr $PreviousUninstaller HKLM "${UninstallerKey}\Khiops" "UninstallString" + ReadRegStr $PreviousVersion HKLM "${UninstallerKey}\Khiops" "DisplayVersion" + + # Ask the user to proceed if there was already a previous Khiops version installed + # In silent mode: remove previous version + ${If} $PreviousUninstaller != "" + MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \ + "Khiops $PreviousVersion is already installed. $\n$\nClick OK to remove the \ + previous version $\n$\nor Cancel to cancel this upgrade." \ + /SD IDOK IDOK uninst + Abort + + # Run the uninstaller + uninst: + ClearErrors + ExecWait '$PreviousUninstaller /S _?=$INSTDIR' + + # Run again the uninstaller to delete the uninstaller itself and the root dir (without waiting) + # Must not be used in silent mode (may delete files from silent following installation) + ${IfNot} ${Silent} + ExecWait '$PreviousUninstaller /S' + ${EndIf} + ${EndIf} + + # Choice of default installation directory, for windows 32 or 64 + ${If} $INSTDIR == "" + ${If} ${RunningX64} + StrCpy $INSTDIR "$PROGRAMFILES64\khiops" + # No 32-bit install + ${EndIf} + ${EndIf} +FunctionEnd + + +# Function to show the page for requirements +Function RequirementsPageShow + # Detect requirements + Call RequirementsDetection + + # Creation of page, with title and subtitle + nsDialogs::Create 1018 + !insertmacro MUI_HEADER_TEXT "Check software requirements" "Check Microsoft MPI and Java Runtime Environment" + + # Message to show for the Microsoft MPI installation + ${NSD_CreateLabel} 0 20u 100% 10u $MPIInstallationMessage + + # Message to show for the JRE installation + ${NSD_CreateLabel} 0 50u 100% 10u $JavaInstallationMessage + + # Show page + nsDialogs::Show +FunctionEnd + + +# Requirements detection +# - Detects if the system architecture is 64-bit +# - Detects whether Java JRE and MPI are installed and their versions +Function RequirementsDetection + # Abort installation if the machine does not have 64-bit architecture + ${IfNot} ${RunningX64} + Messagebox MB_OK "Khiops works only on Windows 64 bits: installation will be terminated." /SD IDOK + Quit + ${EndIf} + + # Decide if MPI is required by detecting the number of cores + StrCpy $PhysicalCoresNumber "0" + Call GetProcessorPhysCoreCount + Pop $0 + StrCpy $PhysicalCoresNumber $0 + ${If} $PhysicalCoresNumber > 1 + StrCpy $IsMPIRequired "1" + ${Else} + StrCpy $IsMPIRequired "0" + ${EndIf} + ${If} $IsMPIRequired == "1" + # Note: This call defines MPIInstalledVersion + Call DetectAndLoadMPIEnvironment + ${EndIf} + + # Try to install MPI if it is required + StrCpy $MPIInstallationNeeded "0" + StrCpy $MPIInstallationMessage "" + ${If} $IsMPIRequired == "1" + # If it is not installed install it + ${If} $MPIInstalledVersion == "0" + StrCpy $MPIInstallationMessage "Microsoft MPI version ${MPIRequiredVersion} will be installed" + StrCpy $MPIInstallationNeeded "1" + # Otherwise install only if the required version is newer than the installed one + ${Else} + ${VersionCompare} "${MPIRequiredVersion}" "$MPIInstalledVersion" $0 + ${If} $0 == 1 + StrCpy $MPIInstallationMessage "Microsoft MPI will be upgraded to version ${MPIRequiredVersion}" + StrCpy $MPIInstallationNeeded "1" + ${Else} + StrCpy $MPIInstallationMessage "Microsoft MPI version $MPIInstalledVersion already installed" + ${EndIf} + ${EndIf} + # Otherwise just inform that MPI is not required + ${Else} + StrCpy $MPIInstallationMessage "Microsoft MPI installation not required" + ${EndIf} + + # Show debug information + !ifdef DEBUG + Messagebox MB_OK "MS-MPI: needed=$MPIInstallationNeeded required=${MPIRequiredVersion} installed=$MPIInstalledVersion" + !endif + + # Detect and load Java Environment + Call DetectAndLoadJavaEnvironment + + # Message to install Java + StrCpy $JavaInstallationNeeded "0" + StrCpy $JavaInstallationMessage "" + ${If} $JavaInstallationPath == "" + StrCpy $JavaInstallationMessage "Java runtime (version ${JavaRequiredVersion}, update ${JavaInstallerVersionUpdate}) will be installed" + StrCpy $JavaInstallationNeeded "1" + # If Java allready installed + ${Else} + # Suite a ce qui semble etre bug de l'installeur Java, on se base desormais sur JavaRequiredVersion, et non sur JavaRequiredFullVersion + ${VersionCompare} "${JavaRequiredVersion}" "$JavaInstalledVersion" $0 + # Required version is newer than installed version + ${If} $0 == 1 + StrCpy $JavaInstallationMessage "New Java runtime (version ${JavaRequiredVersion}, update ${JavaInstallerVersionUpdate}) will be installed" + StrCpy $JavaInstallationNeeded "1" + # Require version is equal or older than installed version + ${Else} + StrCpy $JavaInstallationMessage "Java runtime already installed" + ${EndIf} + ${EndIf} + + # Debug message + !ifdef DEBUG + Messagebox MB_OK "Java runtime: isNeeded=$JavaInstallationNeeded reqVersion=${JavaRequiredVersion} installedVersion=$JavaInstalledVersion" + !endif +FunctionEnd + +# No leave page for required softwares +Function RequirementsPageLeave +FunctionEnd diff --git a/src/Parallel/PLSamples/CMakeLists.txt b/src/Parallel/PLSamples/CMakeLists.txt index 2880beae1..2b048217e 100644 --- a/src/Parallel/PLSamples/CMakeLists.txt +++ b/src/Parallel/PLSamples/CMakeLists.txt @@ -1,7 +1,10 @@ file(GLOB cppfiles ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) add_library(PLSamples STATIC ${cppfiles}) +add_executable(parallel-samples ${cppfiles}) set_khiops_options(PLSamples) +set_khiops_options(parallel-samples) +target_link_libraries(parallel-samples PUBLIC base PLParallelTask) target_include_directories(PLSamples PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(PLSamples PUBLIC PLParallelTask)