mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-23 02:00:20 +07:00
feat: cpack windows full-featured build
This commit is contained in:
+1
-35
@@ -45,38 +45,4 @@ if(NOT IOS AND NOT ANDROID AND NOT MACOS_NE)
|
|||||||
add_subdirectory(service)
|
add_subdirectory(service)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(AMNEZIA_STAGE_DIR "${CMAKE_BINARY_DIR}/stage")
|
include(${CMAKE_SOURCE_DIR}/cmake/CPack.cmake)
|
||||||
|
|
||||||
include(${CMAKE_SOURCE_DIR}/cmake/package.cmake)
|
|
||||||
|
|
||||||
if(WIN32 AND NOT IOS AND NOT ANDROID AND NOT MACOS_NE)
|
|
||||||
file(TO_CMAKE_PATH "${AMNEZIA_STAGE_DIR}" AMNEZIA_STAGE_DIR_CMAKE)
|
|
||||||
|
|
||||||
set(CPACK_GENERATOR "WIX")
|
|
||||||
set(CPACK_WIX_VERSION 4)
|
|
||||||
set(CPACK_PACKAGE_NAME "AmneziaVPN")
|
|
||||||
set(CPACK_PACKAGE_VENDOR "AmneziaVPN")
|
|
||||||
set(CPACK_PACKAGE_VERSION ${AMNEZIAVPN_VERSION})
|
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AmneziaVPN client")
|
|
||||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
|
||||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "AmneziaVPN")
|
|
||||||
set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}")
|
|
||||||
set(CPACK_PACKAGE_EXECUTABLES "AmneziaVPN" "AmneziaVPN")
|
|
||||||
set(CPACK_WIX_UPGRADE_GUID "{2D55AC62-96D6-4692-8C05-0D85BBF95485}")
|
|
||||||
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR}/client/images/app.ico")
|
|
||||||
|
|
||||||
# WiX patches
|
|
||||||
set(_AMNEZIA_WIX_PATCH_SERVICE "${CMAKE_SOURCE_DIR}/deploy/installer/wix/service_install_patch.xml")
|
|
||||||
set(_AMNEZIA_WIX_PATCH_CLOSE_APP "${CMAKE_SOURCE_DIR}/deploy/installer/wix/close_client_patch.xml")
|
|
||||||
file(TO_CMAKE_PATH "${_AMNEZIA_WIX_PATCH_SERVICE}" _AMNEZIA_WIX_PATCH_SERVICE_CMAKE)
|
|
||||||
file(TO_CMAKE_PATH "${_AMNEZIA_WIX_PATCH_CLOSE_APP}" _AMNEZIA_WIX_PATCH_CLOSE_APP_CMAKE)
|
|
||||||
set(CPACK_WIX_PATCH_FILE "${_AMNEZIA_WIX_PATCH_SERVICE_CMAKE};${_AMNEZIA_WIX_PATCH_CLOSE_APP_CMAKE}")
|
|
||||||
|
|
||||||
# WiX v4 Util extension for CloseApplication + namespace for util
|
|
||||||
set(CPACK_WIX_EXTENSIONS "${CPACK_WIX_EXTENSIONS};WixToolset.Util.wixext")
|
|
||||||
set(CPACK_WIX_CUSTOM_XMLNS "util=http://wixtoolset.org/schemas/v4/wxs/util")
|
|
||||||
|
|
||||||
set(CPACK_INSTALLED_DIRECTORIES "${AMNEZIA_STAGE_DIR_CMAKE};/")
|
|
||||||
|
|
||||||
include(CPack)
|
|
||||||
endif()
|
|
||||||
|
|||||||
+6
-23
@@ -196,29 +196,6 @@ endif()
|
|||||||
target_link_libraries(${PROJECT} PRIVATE ${LIBS})
|
target_link_libraries(${PROJECT} PRIVATE ${LIBS})
|
||||||
target_compile_definitions(${PROJECT} PRIVATE "MZ_$<UPPER_CASE:${MZ_PLATFORM_NAME}>")
|
target_compile_definitions(${PROJECT} PRIVATE "MZ_$<UPPER_CASE:${MZ_PLATFORM_NAME}>")
|
||||||
|
|
||||||
# deploy artifacts required to run the application to the debug build folder
|
|
||||||
if(WIN32)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
|
||||||
set(DEPLOY_PLATFORM_PATH "windows/x64")
|
|
||||||
else()
|
|
||||||
set(DEPLOY_PLATFORM_PATH "windows/x32")
|
|
||||||
endif()
|
|
||||||
elseif(LINUX)
|
|
||||||
set(DEPLOY_PLATFORM_PATH "linux/client")
|
|
||||||
elseif(APPLE AND NOT IOS)
|
|
||||||
set(DEPLOY_PLATFORM_PATH "macos")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT IOS AND NOT ANDROID AND NOT MACOS_NE)
|
|
||||||
add_custom_command(
|
|
||||||
TARGET ${PROJECT} POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E $<IF:$<CONFIG:Debug>,copy_directory,true>
|
|
||||||
${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_PLATFORM_PATH}
|
|
||||||
$<TARGET_FILE_DIR:${PROJECT}>
|
|
||||||
COMMAND_EXPAND_LISTS
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_sources(${PROJECT} PRIVATE ${SOURCES} ${HEADERS} ${RESOURCES} ${QRC} ${I18NQRC})
|
target_sources(${PROJECT} PRIVATE ${SOURCES} ${HEADERS} ${RESOURCES} ${QRC} ${I18NQRC})
|
||||||
|
|
||||||
# Finalize the executable so Qt can gather/deploy QML modules and plugins correctly (Android needs this).
|
# Finalize the executable so Qt can gather/deploy QML modules and plugins correctly (Android needs this).
|
||||||
@@ -240,10 +217,16 @@ install(FILES $<TARGET_RUNTIME_DLLS:${PROJECT}>
|
|||||||
COMPONENT client
|
COMPONENT client
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(deploy_tool_options "")
|
||||||
|
if(WIN32)
|
||||||
|
set(deploy_tool_options "--force-openssl --force")
|
||||||
|
endif()
|
||||||
|
|
||||||
qt_generate_deploy_qml_app_script(
|
qt_generate_deploy_qml_app_script(
|
||||||
TARGET ${PROJECT}
|
TARGET ${PROJECT}
|
||||||
OUTPUT_SCRIPT QT_DEPLOY_SCRIPT
|
OUTPUT_SCRIPT QT_DEPLOY_SCRIPT
|
||||||
NO_UNSUPPORTED_PLATFORM_ERROR
|
NO_UNSUPPORTED_PLATFORM_ERROR
|
||||||
|
DEPLOY_TOOL_OPTIONS ${deploy_tool_options}
|
||||||
)
|
)
|
||||||
install(SCRIPT ${QT_DEPLOY_SCRIPT}
|
install(SCRIPT ${QT_DEPLOY_SCRIPT}
|
||||||
COMPONENT client
|
COMPONENT client
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
set(CPACK_PACKAGE_VENDOR AmneziaVPN)
|
||||||
|
set(CPACK_PACKAGE_VERSION ${AMNEZIAVPN_VERSION})
|
||||||
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY AmneziaVPN)
|
||||||
|
set(CPACK_PACKAGE_EXECUTABLES AmneziaVPN AmneziaVPN)
|
||||||
|
# set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
||||||
|
set(CPACK_PRE_BUILD_SCRIPTS ${CMAKE_CURRENT_LIST_DIR}/sign_binaries.cmake)
|
||||||
|
set(CPACK_POST_BUILD_SCRIPTS ${CMAKE_CURRENT_LIST_DIR}/sign_packages.cmake)
|
||||||
|
set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_CURRENT_LIST_DIR}/CPackOptions.cmake)
|
||||||
|
|
||||||
|
if (LINUX AND NOT ANDROID)
|
||||||
|
set(CPACK_GENERATOR IFW)
|
||||||
|
elseif (WIN32)
|
||||||
|
set(CPACK_GENERATOR IFW)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CPACK_IFW_PACKAGE_NAME AmneziaVPN)
|
||||||
|
set(CPACK_IFW_PACKAGE_TITLE AmneziaVPN)
|
||||||
|
set(CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH 600)
|
||||||
|
set(CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT 380)
|
||||||
|
set(CPACK_IFW_PACKAGE_WIZARD_STYLE Modern)
|
||||||
|
set(CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR ON)
|
||||||
|
set(CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH ON)
|
||||||
|
set(CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS ON)
|
||||||
|
set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT "${CMAKE_SOURCE_DIR}/deploy/installer/qif/controlscript.js")
|
||||||
|
|
||||||
|
set(CPACK_WIX_VERSION 4)
|
||||||
|
set(CPACK_WIX_UPGRADE_GUID "{2D55AC62-96D6-4692-8C05-0D85BBF95485}")
|
||||||
|
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR}/client/images/app.ico")
|
||||||
|
set(CPACK_WIX_CUSTOM_XMLNS "util=http://wixtoolset.org/schemas/v4/wxs/util")
|
||||||
|
|
||||||
|
set(_AMNEZIA_WIX_PATCH_SERVICE "${CMAKE_SOURCE_DIR}/deploy/installer/wix/service_install_patch.xml")
|
||||||
|
set(_AMNEZIA_WIX_PATCH_CLOSE_APP "${CMAKE_SOURCE_DIR}/deploy/installer/wix/close_client_patch.xml")
|
||||||
|
file(TO_CMAKE_PATH "${_AMNEZIA_WIX_PATCH_SERVICE}" _AMNEZIA_WIX_PATCH_SERVICE_CMAKE)
|
||||||
|
file(TO_CMAKE_PATH "${_AMNEZIA_WIX_PATCH_CLOSE_APP}" _AMNEZIA_WIX_PATCH_CLOSE_APP_CMAKE)
|
||||||
|
set(CPACK_WIX_PATCH_FILE "${_AMNEZIA_WIX_PATCH_SERVICE_CMAKE};${_AMNEZIA_WIX_PATCH_CLOSE_APP_CMAKE}")
|
||||||
|
set(CPACK_WIX_EXTENSIONS "${CPACK_WIX_EXTENSIONS};WixToolset.Util.wixext")
|
||||||
|
|
||||||
|
if(LINUX AND NOT ANDROID)
|
||||||
|
install(FILES
|
||||||
|
"${CMAKE_SOURCE_DIR}/deploy/data/linux/AmneziaVPN.service"
|
||||||
|
"${CMAKE_SOURCE_DIR}/deploy/data/linux/AmneziaVPN.png"
|
||||||
|
"${CMAKE_SOURCE_DIR}/deploy/data/linux/AmneziaVPN.desktop"
|
||||||
|
"${CMAKE_SOURCE_DIR}/deploy/data/linux/post_install.sh"
|
||||||
|
"${CMAKE_SOURCE_DIR}/deploy/data/linux/post_uninstall.sh"
|
||||||
|
DESTINATION "."
|
||||||
|
COMPONENT auxiliary
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
install(FILES
|
||||||
|
"${CMAKE_SOURCE_DIR}/deploy/data/windows/post_install.cmd"
|
||||||
|
"${CMAKE_SOURCE_DIR}/deploy/data/windows/post_uninstall.cmd"
|
||||||
|
DESTINATION "."
|
||||||
|
COMPONENT auxiliary
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(CPack)
|
||||||
|
cpack_add_component_group(AmneziaVPN
|
||||||
|
DISPLAY_NAME AmneziaVPN
|
||||||
|
)
|
||||||
|
cpack_add_component(client
|
||||||
|
DISPLAY_NAME "AmneziaVPN Client"
|
||||||
|
GROUP AmneziaVPN
|
||||||
|
)
|
||||||
|
cpack_add_component(service
|
||||||
|
DISPLAY_NAME "AmneziaVPN Service"
|
||||||
|
GROUP AmneziaVPN
|
||||||
|
)
|
||||||
|
cpack_add_component(auxiliary
|
||||||
|
DISPLAY_NAME "Auxiliary scripts"
|
||||||
|
GROUP AmneziaVPN
|
||||||
|
)
|
||||||
|
|
||||||
|
include(CPackIFW)
|
||||||
|
cpack_ifw_configure_component_group(AmneziaVPN
|
||||||
|
VERSION ${AMNEZIAVPN_VERSION}
|
||||||
|
RELEASE_DATE ${RELEASE_DATE}
|
||||||
|
REQUIRES_ADMIN_RIGHTS
|
||||||
|
FORCED_INSTALLATION
|
||||||
|
SCRIPT "${CMAKE_SOURCE_DIR}/deploy/installer/qif/componentscript.js"
|
||||||
|
)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
if (CPACK_GENERATOR STREQUAL IFW)
|
||||||
|
set(CPACK_COMPONENTS_ALL client service auxiliary)
|
||||||
|
else()
|
||||||
|
set(CPACK_MONOLITHIC_INSTALL TRUE)
|
||||||
|
endif()
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
if (LINUX)
|
|
||||||
install(FILES
|
|
||||||
"${CMAKE_SOURCE_DIR}/deploy/data/linux/AmneziaVPN.service"
|
|
||||||
"${CMAKE_SOURCE_DIR}/deploy/data/linux/AmneziaVPN.png"
|
|
||||||
"${CMAKE_SOURCE_DIR}/deploy/data/linux/AmneziaVPN.desktop"
|
|
||||||
"${CMAKE_SOURCE_DIR}/deploy/data/linux/post_install.sh"
|
|
||||||
"${CMAKE_SOURCE_DIR}/deploy/data/linux/post_uninstall.sh"
|
|
||||||
DESTINATION "."
|
|
||||||
COMPONENT auxiliary
|
|
||||||
)
|
|
||||||
|
|
||||||
set(CPACK_COMPONENTS_ALL client service auxiliary)
|
|
||||||
set(CPACK_GENERATOR "IFW")
|
|
||||||
set(CPACK_IFW_PACKAGE_NAME "AmneziaVPN")
|
|
||||||
set(CPACK_IFW_PACKAGE_TITLE "AmneziaVPN")
|
|
||||||
set(CPACK_IFW_PACKAGE_VERSION "${AMNEZIAVPN_VERSION}")
|
|
||||||
set(CPACK_IFW_TARGET_DIRECTORY "@ApplicationsDir@/AmneziaVPN")
|
|
||||||
set(CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH "600")
|
|
||||||
set(CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT "380")
|
|
||||||
set(CPACK_IFW_PACKAGE_WIZARD_STYLE "Modern")
|
|
||||||
set(CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR ON)
|
|
||||||
set(CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH ON)
|
|
||||||
set(CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS ON)
|
|
||||||
set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT "${CMAKE_SOURCE_DIR}/deploy/data/linux/controlscript.js")
|
|
||||||
|
|
||||||
include(CPack)
|
|
||||||
include(CPackIFW)
|
|
||||||
|
|
||||||
# cpack_ifw_add_repository(main
|
|
||||||
# URL "https://amneziavpn.org/updates/linux"
|
|
||||||
# DISPLAY_NAME "AmneziaVPN - repository for Linux"
|
|
||||||
# )
|
|
||||||
|
|
||||||
cpack_add_component_group(AmneziaVPN
|
|
||||||
DISPLAY_NAME AmneziaVPN
|
|
||||||
)
|
|
||||||
|
|
||||||
cpack_add_component(client
|
|
||||||
DISPLAY_NAME "AmneziaVPN Client"
|
|
||||||
GROUP AmneziaVPN
|
|
||||||
)
|
|
||||||
cpack_add_component(service
|
|
||||||
DISPLAY_NAME "AmneziaVPN Service"
|
|
||||||
GROUP AmneziaVPN
|
|
||||||
)
|
|
||||||
cpack_add_component(auxiliary
|
|
||||||
DISPLAY_NAME "Auxiliary scripts"
|
|
||||||
GROUP AmneziaVPN
|
|
||||||
)
|
|
||||||
|
|
||||||
cpack_ifw_configure_component_group(AmneziaVPN
|
|
||||||
VERSION ${AMNEZIAVPN_VERSION}
|
|
||||||
RELEASE_DATE ${RELEASE_DATE}
|
|
||||||
REQUIRES_ADMIN_RIGHTS
|
|
||||||
FORCED_INSTALLATION
|
|
||||||
SCRIPT "${CMAKE_SOURCE_DIR}/deploy/data/linux/componentscript.js"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
if(WIN32)
|
||||||
|
file(GLOB_RECURSE BINARIES
|
||||||
|
"${CPACK_TEMPORARY_DIRECTORY}/*.dll"
|
||||||
|
"${CPACK_TEMPORARY_DIRECTORY}/*.exe"
|
||||||
|
)
|
||||||
|
|
||||||
|
if(BINARIES)
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/util/signtool.cmake)
|
||||||
|
signtool_sign_files("${BINARIES}" "${SIGNTOOL_SUBJECT_NAME}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
if(WIN32)
|
||||||
|
if (CPACK_PACKAGE_FILES)
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/util/signtool.cmake)
|
||||||
|
foreach(PACKAGE_FILE IN LISTS CPACK_PACKAGE_FILES)
|
||||||
|
signtool_sign_files("${PACKAGE_FILE}" "${SIGNTOOL_SUBJECT_NAME}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
find_program(SIGNTOOL_COMMAND signtool REQUIRED)
|
||||||
|
|
||||||
|
function(signtool_sign_files PACKAGE_FILES SUBJECT_NAME)
|
||||||
|
if(NOT SUBJECT_NAME)
|
||||||
|
set(SUBJECT_NAME "Privacy Technologies OU")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PACKAGE_FILES)
|
||||||
|
set(args sign
|
||||||
|
/n ${SUBJECT_NAME}
|
||||||
|
/fd sha256
|
||||||
|
/td sha256
|
||||||
|
/tr http://timestamp.comodoca.com/?td=sha256
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach(file IN LISTS PACKAGE_FILES)
|
||||||
|
set(local_args ${args})
|
||||||
|
if (NOT "${file}" MATCHES "\\.msi$")
|
||||||
|
list(APPEND local_args /as)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(cmd ${SIGNTOOL_COMMAND} ${local_args} ${file})
|
||||||
|
|
||||||
|
list(JOIN cmd " " cmd_str)
|
||||||
|
message(STATUS "${cmd_str}")
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${cmd}
|
||||||
|
RESULT_VARIABLE result
|
||||||
|
ERROR_VARIABLE error
|
||||||
|
)
|
||||||
|
if(NOT result EQUAL 0)
|
||||||
|
string(REPLACE "\n" "\n " error " ${error}")
|
||||||
|
message(FATAL_ERROR "signtool failed:\n${error}")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
+34
-34
@@ -1,34 +1,34 @@
|
|||||||
set AmneziaPath=%~dp0
|
set AmneziaPath=%~dp0
|
||||||
echo %AmneziaPath%
|
echo %AmneziaPath%
|
||||||
|
|
||||||
rem Define directories for logs
|
rem Define directories for logs
|
||||||
set "ORG_DIR=%AppData%\AmneziaVPN.ORG"
|
set "ORG_DIR=%AppData%\AmneziaVPN.ORG"
|
||||||
set "USER_APP_DIR=%ORG_DIR%\AmneziaVPN"
|
set "USER_APP_DIR=%ORG_DIR%\AmneziaVPN"
|
||||||
set "USER_LOG_DIR=%USER_APP_DIR%\log"
|
set "USER_LOG_DIR=%USER_APP_DIR%\log"
|
||||||
set "SYS_APP_DIR=%ProgramData%\AmneziaVPN"
|
set "SYS_APP_DIR=%ProgramData%\AmneziaVPN"
|
||||||
set "SYS_LOG_DIR=%SYS_APP_DIR%\log"
|
set "SYS_LOG_DIR=%SYS_APP_DIR%\log"
|
||||||
set "SYS_LOG_FILE=%SYS_LOG_DIR%\AmneziaVPN-service.log"
|
set "SYS_LOG_FILE=%SYS_LOG_DIR%\AmneziaVPN-service.log"
|
||||||
|
|
||||||
timeout /t 1
|
timeout /t 1
|
||||||
sc stop AmneziaVPN-service
|
sc stop AmneziaVPN-service
|
||||||
sc delete AmneziaVPN-service
|
sc delete AmneziaVPN-service
|
||||||
sc stop AmneziaWGTunnel$AmneziaVPN
|
sc stop AmneziaWGTunnel$AmneziaVPN
|
||||||
sc delete AmneziaWGTunnel$AmneziaVPN
|
sc delete AmneziaWGTunnel$AmneziaVPN
|
||||||
sc stop AmneziaVPNSplitTunnel
|
sc stop AmneziaVPNSplitTunnel
|
||||||
sc delete AmneziaVPNSplitTunnel
|
sc delete AmneziaVPNSplitTunnel
|
||||||
taskkill /IM "AmneziaVPN-service.exe" /F
|
taskkill /IM "AmneziaVPN-service.exe" /F
|
||||||
taskkill /IM "AmneziaVPN.exe" /F
|
taskkill /IM "AmneziaVPN.exe" /F
|
||||||
|
|
||||||
rem Delete the service log file under ProgramData
|
rem Delete the service log file under ProgramData
|
||||||
if exist "%SYS_LOG_FILE%" del /F /Q "%SYS_LOG_FILE%"
|
if exist "%SYS_LOG_FILE%" del /F /Q "%SYS_LOG_FILE%"
|
||||||
if exist "%SYS_LOG_DIR%" rmdir /S /Q "%SYS_LOG_DIR%"
|
if exist "%SYS_LOG_DIR%" rmdir /S /Q "%SYS_LOG_DIR%"
|
||||||
rem Try to remove application dir if empty
|
rem Try to remove application dir if empty
|
||||||
rd "%SYS_APP_DIR%" 2>nul
|
rd "%SYS_APP_DIR%" 2>nul
|
||||||
|
|
||||||
rem Delete client logs under current user's AppData\Roaming (Organization\Application)
|
rem Delete client logs under current user's AppData\Roaming (Organization\Application)
|
||||||
if exist "%USER_LOG_DIR%" rmdir /S /Q "%USER_LOG_DIR%"
|
if exist "%USER_LOG_DIR%" rmdir /S /Q "%USER_LOG_DIR%"
|
||||||
rem Try to remove app and org directories if empty
|
rem Try to remove app and org directories if empty
|
||||||
rd "%USER_APP_DIR%" 2>nul
|
rd "%USER_APP_DIR%" 2>nul
|
||||||
rd "%ORG_DIR%" 2>nul
|
rd "%ORG_DIR%" 2>nul
|
||||||
|
|
||||||
exit /b 0
|
exit /b 0
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
sc stop AmneziaWGTunnel$AmneziaVPN
|
|
||||||
sc delete AmneziaWGTunnel$AmneziaVPN
|
|
||||||
taskkill /IM "AmneziaVPN-service.exe" /F
|
|
||||||
taskkill /IM "AmneziaVPN.exe" /F
|
|
||||||
exit /b 0
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
set AmneziaPath=%~dp0
|
|
||||||
echo %AmneziaPath%
|
|
||||||
|
|
||||||
rem Define directories for logs
|
|
||||||
set "ORG_DIR=%AppData%\AmneziaVPN.ORG"
|
|
||||||
set "USER_APP_DIR=%ORG_DIR%\AmneziaVPN"
|
|
||||||
set "USER_LOG_DIR=%USER_APP_DIR%\log"
|
|
||||||
set "SYS_APP_DIR=%ProgramData%\AmneziaVPN"
|
|
||||||
set "SYS_LOG_DIR=%SYS_APP_DIR%\log"
|
|
||||||
set "SYS_LOG_FILE=%SYS_LOG_DIR%\AmneziaVPN-service.log"
|
|
||||||
|
|
||||||
timeout /t 1
|
|
||||||
sc stop AmneziaVPN-service
|
|
||||||
sc delete AmneziaVPN-service
|
|
||||||
sc stop AmneziaWGTunnel$AmneziaVPN
|
|
||||||
sc delete AmneziaWGTunnel$AmneziaVPN
|
|
||||||
sc stop AmneziaVPNSplitTunnel
|
|
||||||
sc delete AmneziaVPNSplitTunnel
|
|
||||||
taskkill /IM "AmneziaVPN-service.exe" /F
|
|
||||||
taskkill /IM "AmneziaVPN.exe" /F
|
|
||||||
|
|
||||||
rem Delete the service log file under ProgramData
|
|
||||||
if exist "%SYS_LOG_FILE%" del /F /Q "%SYS_LOG_FILE%"
|
|
||||||
if exist "%SYS_LOG_DIR%" rmdir /S /Q "%SYS_LOG_DIR%"
|
|
||||||
rem Try to remove application dir if empty
|
|
||||||
rd "%SYS_APP_DIR%" 2>nul
|
|
||||||
|
|
||||||
rem Delete client logs under current user's AppData\Roaming (Organization\Application)
|
|
||||||
if exist "%USER_LOG_DIR%" rmdir /S /Q "%USER_LOG_DIR%"
|
|
||||||
rem Try to remove app and org directories if empty
|
|
||||||
rd "%USER_APP_DIR%" 2>nul
|
|
||||||
rd "%ORG_DIR%" 2>nul
|
|
||||||
|
|
||||||
exit /b 0
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Installer>
|
|
||||||
<Name>AmneziaVPN</Name>
|
|
||||||
<Version>@CMAKE_PROJECT_VERSION@</Version>
|
|
||||||
<Title>AmneziaVPN</Title>
|
|
||||||
<Publisher>AmneziaVPN</Publisher>
|
|
||||||
<StartMenuDir>AmneziaVPN</StartMenuDir>
|
|
||||||
<TargetDir>@ApplicationsDir@/AmneziaVPN</TargetDir>
|
|
||||||
<WizardDefaultWidth>600</WizardDefaultWidth>
|
|
||||||
<WizardDefaultHeight>380</WizardDefaultHeight>
|
|
||||||
<WizardStyle>Modern</WizardStyle>
|
|
||||||
<RemoveTargetDir>true</RemoveTargetDir>
|
|
||||||
<AllowSpaceInPath>true</AllowSpaceInPath>
|
|
||||||
<AllowNonAsciiCharacters>false</AllowNonAsciiCharacters>
|
|
||||||
<ControlScript>controlscript.js</ControlScript>
|
|
||||||
<RepositorySettingsPageVisible>false</RepositorySettingsPageVisible>
|
|
||||||
<DependsOnLocalInstallerBinary>true</DependsOnLocalInstallerBinary>
|
|
||||||
<SupportsModify>false</SupportsModify>
|
|
||||||
<DisableAuthorizationFallback>true</DisableAuthorizationFallback>
|
|
||||||
<RemoteRepositories>
|
|
||||||
<Repository>
|
|
||||||
<Url>https://amneziavpn.org/updates/linux</Url>
|
|
||||||
<Enabled>true</Enabled>
|
|
||||||
<DisplayName>AmneziaVPN - repository for Linux</DisplayName>
|
|
||||||
</Repository>
|
|
||||||
</RemoteRepositories>
|
|
||||||
</Installer>
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Installer>
|
|
||||||
<Name>AmneziaVPN</Name>
|
|
||||||
<Version>@CMAKE_PROJECT_VERSION@</Version>
|
|
||||||
<Title>AmneziaVPN</Title>
|
|
||||||
<Publisher>AmneziaVPN</Publisher>
|
|
||||||
<StartMenuDir>AmneziaVPN</StartMenuDir>
|
|
||||||
<TargetDir>@RootDir@/Program Files/AmneziaVPN</TargetDir>
|
|
||||||
<WizardDefaultWidth>600</WizardDefaultWidth>
|
|
||||||
<WizardDefaultHeight>380</WizardDefaultHeight>
|
|
||||||
<WizardStyle>Modern</WizardStyle>
|
|
||||||
<RemoveTargetDir>true</RemoveTargetDir>
|
|
||||||
<AllowSpaceInPath>true</AllowSpaceInPath>
|
|
||||||
<AllowNonAsciiCharacters>false</AllowNonAsciiCharacters>
|
|
||||||
<ControlScript>controlscript.js</ControlScript>
|
|
||||||
<RepositorySettingsPageVisible>false</RepositorySettingsPageVisible>
|
|
||||||
<DependsOnLocalInstallerBinary>true</DependsOnLocalInstallerBinary>
|
|
||||||
<SupportsModify>false</SupportsModify>
|
|
||||||
<DisableAuthorizationFallback>true</DisableAuthorizationFallback>
|
|
||||||
</Installer>
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Package>
|
|
||||||
<DisplayName>AmneziaVPN</DisplayName>
|
|
||||||
<Description>Installation package for AmneziaVPN</Description>
|
|
||||||
<Version>@CMAKE_PROJECT_VERSION@</Version>
|
|
||||||
<ReleaseDate>@RELEASE_DATE@</ReleaseDate>
|
|
||||||
<Default>true</Default>
|
|
||||||
<ForcedInstallation>true</ForcedInstallation>
|
|
||||||
<RequiresAdminRights>true</RequiresAdminRights>
|
|
||||||
<Script>componentscript.js</Script>
|
|
||||||
</Package>
|
|
||||||
@@ -384,14 +384,23 @@ add_custom_command(TARGET ${PROJECT} POST_BUILD
|
|||||||
${CONAN_EXECS} ${CONAN_BINS}
|
${CONAN_EXECS} ${CONAN_BINS}
|
||||||
"$<TARGET_FILE_DIR:${PROJECT}>"
|
"$<TARGET_FILE_DIR:${PROJECT}>"
|
||||||
)
|
)
|
||||||
install(FILES ${CONAN_EXECS}
|
if(WIN32)
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
# using PERMISSIONS on Windows appends read-only flag
|
||||||
COMPONENT service
|
# to the files so just omit it for it
|
||||||
PERMISSIONS
|
install(FILES ${CONAN_EXECS}
|
||||||
OWNER_READ OWNER_EXECUTE
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
GROUP_READ GROUP_EXECUTE
|
COMPONENT service
|
||||||
WORLD_READ WORLD_EXECUTE
|
)
|
||||||
)
|
else()
|
||||||
|
install(FILES ${CONAN_EXECS}
|
||||||
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
COMPONENT service
|
||||||
|
PERMISSIONS
|
||||||
|
OWNER_READ OWNER_EXECUTE
|
||||||
|
GROUP_READ GROUP_EXECUTE
|
||||||
|
WORLD_READ WORLD_EXECUTE
|
||||||
|
)
|
||||||
|
endif()
|
||||||
install(FILES ${CONAN_BINS}
|
install(FILES ${CONAN_BINS}
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
COMPONENT service
|
COMPONENT service
|
||||||
|
|||||||
Reference in New Issue
Block a user