Files
i2p.i2p/installer/resources/install_i2p_service_winnt.bat

123 lines
3.6 KiB
Batchfile
Raw Normal View History

@echo off
setlocal
rem Copyright (c) 1999, 2011 Tanuki Software, Ltd.
rem http://www.tanukisoftware.com
rem All rights reserved.
rem
rem This software is the proprietary information of Tanuki Software.
rem You shall use it only in accordance with the terms of the
rem license agreement you entered into with Tanuki Software.
rem http://wrapper.tanukisoftware.com/doc/english/licenseOverview.html
rem
rem Java Service Wrapper general NT service install script
rem
rem -----------------------------------------------------------------------------
rem These settings can be modified to fit the needs of your application
rem Optimized for use with version 3.5.9 of the Wrapper.
rem The base name for the Wrapper binary.
set _WRAPPER_BASE=i2psvc
rem The name and location of the Wrapper configuration file. This will be used
rem if the user does not specify a configuration file as the first argument to
rem this script.
set _WRAPPER_CONF_DEFAULT=.\wrapper.config
rem _PASS_THROUGH tells the script to pass all arguments through to the JVM
rem as is.
rem set _PASS_THROUGH=true
rem Do not modify anything beyond this point
rem -----------------------------------------------------------------------------
rem
rem Resolve the real path of the wrapper.exe
rem For non NT systems, the _REALPATH and _WRAPPER_CONF values
rem can be hard-coded below and the following test removed.
rem
if "%OS%"=="Windows_NT" goto nt
echo This script only works with NT-based versions of Windows.
goto :eof
:nt
rem
rem Find the application home.
rem
rem %~dp0 is location of current script under NT
set _REALPATH=%~dp0
rem
rem Decide on the specific Wrapper binary to use (See delta-pack)
rem
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto amd64
if "%PROCESSOR_ARCHITECTURE%"=="IA64" goto ia64
set _WRAPPER_L_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
goto search
:amd64
set _WRAPPER_L_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
goto search
:ia64
set _WRAPPER_L_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-ia-64.exe
goto search
:search
set _WRAPPER_EXE=%_WRAPPER_L_EXE%
if exist "%_WRAPPER_EXE%" goto conf
set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%.exe
if exist "%_WRAPPER_EXE%" goto conf
echo Unable to locate a Wrapper executable using any of the following names:
echo %_WRAPPER_L_EXE%
echo %_WRAPPER_EXE%
pause
goto :eof
rem
rem Find the wrapper.conf
rem
:conf
set _WRAPPER_CONF="%~f1"
if not [%_WRAPPER_CONF%]==[""] (
shift
goto :startup
)
set _WRAPPER_CONF="%_WRAPPER_CONF_DEFAULT%"
:: Query status of service.
:: We remove an existing service to
:: 1) force the service to stop (this will stop the "can't upgrade
:: because file is in use" forum posts from people re-running the
:: installer to get the new version.
:: 2) update service configuration in case wrapper.config was edited
:: 3) prevent hanging the installer if 'install as service' is selected
:: and it's already enabled as a service.
"%_WRAPPER_EXE%" -qs %_WRAPPER_CONF%
if not %errorlevel%==0 (
"%_WRAPPER_EXE%" -r %_WRAPPER_CONF%
call "%~dp0set_config_dir_for_nt_service.bat" uninstall
)
:: Add service path to wrapper.config
call "%_REALPATH%"\set_config_dir_for_nt_service.bat install
rem
rem Install the Wrapper as an NT service.
rem
:startup
rem Collect an parameters
:parameters
set _PARAMETERS=%_PARAMETERS% %1
shift
if not [%1]==[] goto :parameters
if [%_PASS_THROUGH%]==[] (
"%_WRAPPER_EXE%" -i %_WRAPPER_CONF%
) else (
"%_WRAPPER_EXE%" -i %_WRAPPER_CONF% -- %_PARAMETERS%
)
if not errorlevel 1 goto :eof
pause
:eof