From 629261c4bea07bc16d3e103280c92c03916dad32 Mon Sep 17 00:00:00 2001 From: R4SAS Date: Sun, 11 Jun 2017 09:29:31 +0300 Subject: [PATCH] remove msvc and NSIS project files fix some windows build warnings --- Win32/.gitignore | 14 -- Win32/DaemonWin32.cpp | 17 +- Win32/Itoopie.cmd | 14 -- Win32/PurpleI2P.nsi | 282 ------------------------ Win32/Resource.rc | 49 +---- Win32/Resource.rc2 | 11 +- Win32/Win32App.cpp | 2 +- Win32/Win32Service.h | 4 +- Win32/i2pd.sln | 30 --- Win32/i2pd.vcxproj | 292 ------------------------- Win32/i2pd.vcxproj.filters | 302 -------------------------- Win32/ictoopie.bmp | Bin 25818 -> 0 bytes Win32/ictoopie.ico | Bin 180626 -> 0 bytes Win32/install_service.bat | 1 - Win32/installer.iss | 41 ---- Win32/nsi/helper_readme.nsh | 57 ----- Win32/nsi/servicelib.nsh | 419 ------------------------------------ Win32/resource.h | 15 +- Win32/uninstall_service.bat | 1 - libi2pd/FS.cpp | 2 +- 20 files changed, 23 insertions(+), 1530 deletions(-) delete mode 100644 Win32/.gitignore delete mode 100644 Win32/Itoopie.cmd delete mode 100644 Win32/PurpleI2P.nsi delete mode 100644 Win32/i2pd.sln delete mode 100644 Win32/i2pd.vcxproj delete mode 100644 Win32/i2pd.vcxproj.filters delete mode 100644 Win32/ictoopie.bmp delete mode 100644 Win32/ictoopie.ico delete mode 100644 Win32/install_service.bat delete mode 100644 Win32/installer.iss delete mode 100644 Win32/nsi/helper_readme.nsh delete mode 100644 Win32/nsi/servicelib.nsh delete mode 100644 Win32/uninstall_service.bat diff --git a/Win32/.gitignore b/Win32/.gitignore deleted file mode 100644 index 5aa0538d..00000000 --- a/Win32/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -* -!*/ - -!*.h -!*.cpp - -!*.bat - -!*.sln -!*.vcproj -!*.vcxproj -!*.vcxproj.filters -!*.iss -!.gitignore diff --git a/Win32/DaemonWin32.cpp b/Win32/DaemonWin32.cpp index 6eb43dc0..698cf390 100644 --- a/Win32/DaemonWin32.cpp +++ b/Win32/DaemonWin32.cpp @@ -60,7 +60,6 @@ namespace i2p } else LogPrint(eLogDebug, "Daemon: running as user"); - return true; } @@ -71,10 +70,10 @@ namespace i2p SetConsoleOutputCP(1251); setlocale(LC_ALL, "Russian"); #ifdef WIN32_APP - if (!i2p::win32::StartWin32App ()) return false; + if (!i2p::win32::StartWin32App ()) return false; - // override log - i2p::config::SetOption("log", std::string ("file")); + // override log + i2p::config::SetOption("log", std::string ("file")); #endif bool ret = Daemon_Singleton::start(); if (ret && i2p::log::Logger().GetLogType() == eLogFile) @@ -92,24 +91,22 @@ namespace i2p bool DaemonWin32::stop() { #ifdef WIN32_APP - i2p::win32::StopWin32App (); + i2p::win32::StopWin32App (); #endif return Daemon_Singleton::stop(); } void DaemonWin32::run () - { + { #ifdef WIN32_APP - i2p::win32::RunWin32App (); + i2p::win32::RunWin32App (); #else while (running) { std::this_thread::sleep_for (std::chrono::seconds(1)); } - #endif - } + } } } - #endif diff --git a/Win32/Itoopie.cmd b/Win32/Itoopie.cmd deleted file mode 100644 index f7d895c8..00000000 --- a/Win32/Itoopie.cmd +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -convert Itoopie.svg ^ - -fuzz 90%% -fill transparent -floodfill 2x2 white -fuzz 20%% -fill #AE0E99 -opaque red ^ - -fill #FBBC11 -opaque yellow ^ - ( -clone 0 -resize 256x256 ) ^ - ( -clone 0 -resize 128x128 ) ^ - ( -clone 0 -resize 64x64 ) ^ - ( -clone 0 -resize 48x48 ) ^ - ( -clone 0 -resize 32x32 ) ^ - ( -clone 0 -resize 24x24 ) ^ - ( -clone 0 -resize 16x16 ) ^ - ( -size 150x57 xc:white -clone 0 -geometry 57x57+46+0 -composite -gravity center -write BMP3:ictoopie.bmp +delete ) ^ - ( -clone 0 -write Itoopie_purple.png +delete ) ^ - -delete 0 ictoopie.ico diff --git a/Win32/PurpleI2P.nsi b/Win32/PurpleI2P.nsi deleted file mode 100644 index 7aa69daf..00000000 --- a/Win32/PurpleI2P.nsi +++ /dev/null @@ -1,282 +0,0 @@ -# NSIS Installer script. (Tested with NSIS 2.64 on Windows 7) -# Author: Mikal Villa (Meeh) -# Version: 1.1 -Name PurpleI2P - -RequestExecutionLevel highest -SetCompressor /SOLID lzma -ShowInstDetails show - -# General Symbol Definitions -!define REGKEY "SOFTWARE\$(^Name)" -!define VERSION 0.3.0.0 -!define COMPANY "The Privacy Solutions Project" -!define URL "https://i2p.io" - -# MUI Symbol Definitions -!define MUI_ICON "mask.ico" -#!define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" -!define MUI_HEADERIMAGE -!define MUI_HEADERIMAGE_RIGHT -#!define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp" -!define MUI_FINISHPAGE_NOAUTOCLOSE -!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM -!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup -!define MUI_STARTMENUPAGE_DEFAULTFOLDER PurpleI2P -!define MUI_FINISHPAGE_RUN $INSTDIR\i2pd.exe -!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\Readme.txt - - -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" -!define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" -!define MUI_UNFINISHPAGE_NOAUTOCLOSE - -# Included files -!include Sections.nsh -!include MUI2.nsh -!include nsDialogs.nsh -!include winmessages.nsh -!include logiclib.nsh -# Local included files -!include nsi\helper_readme.nsh -;!include nsi\servicelib.nsh - -# Variables -Var StartMenuGroup - -# Installer pages -# Execution flow of installer windows -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_README "../Readme.md" -!insertmacro MUI_PAGE_DIRECTORY -# Disabled for now. Use the bat -;Page custom mode_selection # Meeh's hack for installing and starting service. -!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -# Uninstall pages -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES - -# Installer languages -!insertmacro MUI_LANGUAGE English - -# Installer attributes -OutFile PurpleI2P-0.3.0.0-win32-setup.exe -InstallDir $PROGRAMFILES\PurpleI2P -CRCCheck on -XPStyle on -BrandingText " " -ShowInstDetails show -VIProductVersion 0.3.0.0 -VIAddVersionKey ProductName PurpleI2P -VIAddVersionKey ProductVersion "${VERSION}" -VIAddVersionKey CompanyName "${COMPANY}" -VIAddVersionKey CompanyWebsite "${URL}" -VIAddVersionKey FileVersion "${VERSION}" -VIAddVersionKey FileDescription "" -VIAddVersionKey LegalCopyright "" -InstallDirRegKey HKCU "${REGKEY}" Path -ShowUninstDetails show - -# Readme definitions - -;-------------------------------- -;Languages - ;Set up install lang strings for 1st lang - ${ReadmeLanguage} "${LANG_ENGLISH}" \ - "Read Me" \ - "Please review the following important information." \ - "About $(^name):" \ - "$\n Click on scrollbar arrows or press Page Down to review the entire text." - - ;Add 2nd language - !insertmacro MUI_LANGUAGE "Norwegian" - - ;set up install lang strings for second lang - ${ReadmeLanguage} "${LANG_NORWEGIAN}" \ - "Les meg!" \ - "Vennligst les informasjonen om hvordan du skal bruke PurpleI2P." \ - "Om $(^name):" \ - "$\n Klikk på scrollbaren til høyre for å se hele innholdet." - -;-------------------------------- - -# Installer sections -Section -Main SEC0000 - SetOutPath $INSTDIR - SetOverwrite on - File /oname=i2pd.exe Release\i2pd.exe - File /oname=install_service.bat install_service.bat - File /oname=uninstall_service.bat uninstall_service.bat - File /oname=LICENSE.txt ..\LICENSE - File /oname=Readme.txt ..\README.md - SetOutPath $INSTDIR\src - File /r /x *.nsi /x *.rc /x *.exe /x *.obj /x *.nsh /x *.sln /x *.vcxproj /x *.tlog /x *.log /x *.res /x *.pdb /x *.suo /x *.opensdf /x *.filters /x *.sdf /x *.iss /x *.aps /x .gitignore /x *.o ../\*.* - SetOutPath $INSTDIR - RMDir /r /REBOOTOK $INSTDIR\src\.git # Remove git directory - RMDir /r /REBOOTOK $INSTDIR\src\Win32\Release # Removing release directory - RMDir /r /REBOOTOK $INSTDIR\src\Win32\nsi - WriteRegStr HKCU "${REGKEY}\Components" Main 1 -SectionEnd - -Section -post SEC0001 - WriteRegStr HKCU "${REGKEY}" Path $INSTDIR - SetOutPath $INSTDIR - WriteUninstaller $INSTDIR\uninstall.exe - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - CreateDirectory $SMPROGRAMS\$StartMenuGroup - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\PurpleI2P.lnk" $INSTDIR\i2pd.exe - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Install PurpleI2P Service.lnk" $INSTDIR\install_service.bat - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall PurpleI2P Service.lnk" $INSTDIR\uninstall_service.bat - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall PurpleI2P.lnk" $INSTDIR\uninstall.exe - !insertmacro MUI_STARTMENU_WRITE_END - WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" - WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}" - WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}" - WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}" - WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe - WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe - WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 - WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 - WriteRegStr HKCR "i2pd" "URL Protocol" "" - WriteRegStr HKCR "i2pd" "" "URL:i2pd" # TODO: if a instance of own is found, relaunch with a proxyfied browser to open webage. (e.g i2pd://meeh.i2p) - WriteRegStr HKCR "i2pd\DefaultIcon" "" $INSTDIR\i2pd.exe - WriteRegStr HKCR "i2pd\shell\open\command" "" '"$INSTDIR\i2pd.exe" "%1"' -SectionEnd - -# Macro for selecting uninstaller sections -!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID - Push $R0 - ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}" - StrCmp $R0 1 0 next${UNSECTION_ID} - !insertmacro SelectSection "${UNSECTION_ID}" - GoTo done${UNSECTION_ID} -next${UNSECTION_ID}: - !insertmacro UnselectSection "${UNSECTION_ID}" -done${UNSECTION_ID}: - Pop $R0 -!macroend - - -# Uninstaller sections -Section /o -un.Main UNSEC0000 - Delete /REBOOTOK $INSTDIR\i2pd.exe - Delete /REBOOTOK $INSTDIR\LICENSE.txt - Delete /REBOOTOK $INSTDIR\Readme.txt - Delete /REBOOTOK $INSTDIR\install_service.bat - Delete /REBOOTOK $INSTDIR\uninstall_service.bat - RMDir /r /REBOOTOK $INSTDIR\src - DeleteRegValue HKCU "${REGKEY}\Components" Main -SectionEnd - -Section -un.post UNSEC0001 - DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall PurpleI2P.lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\PurpleI2P.lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Install PurpleI2P Service.lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\UnInstall PurpleI2P Service.lnk" - Delete /REBOOTOK "$SMSTARTUP\PurpleI2P.lnk" - Delete /REBOOTOK $INSTDIR\uninstall.exe - Delete /REBOOTOK $INSTDIR\debug.log - DeleteRegValue HKCU "${REGKEY}" StartMenuGroup - DeleteRegValue HKCU "${REGKEY}" Path - DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components" - DeleteRegKey /IfEmpty HKCU "${REGKEY}" - DeleteRegKey HKCR "i2pd" - RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup - RmDir /REBOOTOK $INSTDIR - Push $R0 - StrCpy $R0 $StartMenuGroup 1 - StrCmp $R0 ">" no_smgroup -no_smgroup: - Pop $R0 -SectionEnd - -; var hwndExecModeRadio -; var hwndRunServiceNowRadio - -; Function mode_selection -; nsDialogs::Create 1018 -; Pop $0 -; ${NSD_CreateLabel} 0 10 75% 20u "How would you like PurpleI2P (i2pd) to run?" -; Pop $0 - -; ${NSD_CreateRadioButton} 20 60 80% 25u "Service Mode" -; Pop $hwndExecModeRadio -; ${NSD_AddStyle} $hwndExecModeRadio ${WS_GROUP} - -; ${NSD_CreateRadioButton} 20 90 80% 25u "Command line Mode" -; Pop $0 - -; ${NSD_CreateButton} 20 150 -40 14u "Do it!" -; Pop $0 -; ${NSD_OnClick} $0 perform_mode - -; nsDialogs::Show -; FunctionEnd - -; Function start_now_selection -; nsDialogs::Create 1018 -; Pop $0 -; ${NSD_CreateLabel} 0 10 75% 20u "Enable the service now?" -; Pop $0 - -; ${NSD_CreateRadioButton} 20 60 80% 25u "Yes" -; Pop $hwndRunServiceNowRadio -; ${NSD_AddStyle} $hwndRunServiceNowRadio ${WS_GROUP} - -; ${NSD_CreateRadioButton} 20 90 80% 25u "No" -; Pop $0 - -; ${NSD_CreateButton} 20 150 -40 14u "Do it!" -; Pop $0 -; ${NSD_OnClick} $0 perform_mode - -; nsDialogs::Show -; FunctionEnd - -; Function perform_mode -; ${NSD_GetState} $hwndExecModeRadio $0 -; ${If} $0 = ${BST_CHECKED} -; Call service_mode -; ${EndIF} -; FunctionEnd - -; Function start_now -; ${NSD_GetState} $hwndRunServiceNowRadio $0 -; ${If} $0 = ${BST_CHECKED} -; Call start_now_selection -; ${EndIF} -; FunctionEnd - -; Function service_mode -; Push "create" -; Push "PurpleI2P Service" -; Push "$INSTDIR\i2pd.exe;autostart=1;display=PurpleI2P" -; Call Service -; Pop $0 ; Actually more to write than !insertmacro, but much more fun :D -; Push "start" -; Push "PurpleI2P Service" -; Call Service -; Pop $0 -; Call start_now -; !define MUI_FINISHPAGE_RUN_NOTCHECKED -; !define MUI_FINISHPAGE_RUN_TEXT "No need to run now since we already installed and launched it as a Windows service!" -; FunctionEnd - -# Installer functions -Function .onInit - InitPluginsDir - !insertmacro MUI_LANGDLL_DISPLAY -FunctionEnd - -# Uninstaller functions -Function un.onInit - ReadRegStr $INSTDIR HKCU "${REGKEY}" Path - !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup - !insertmacro SELECT_UNSECTION Main ${UNSEC0000} - !insertmacro MUI_UNGETLANGUAGE -FunctionEnd \ No newline at end of file diff --git a/Win32/Resource.rc b/Win32/Resource.rc index cca1c16e..5d394d1a 100644 --- a/Win32/Resource.rc +++ b/Win32/Resource.rc @@ -1,73 +1,36 @@ -// Microsoft Visual C++ generated resource script. -// #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// #include "winres.h" - -///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - 1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE BEGIN "#include ""winres.h""\r\n" "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE BEGIN "\r\n" "\0" END +#endif // APSTUDIO_INVOKED -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -MAINICON ICON "mask.ico" -//MAINICON ICON "anke.ico" - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - +MAINICON ICON "mask.ico" +#endif // English (United States) resources #ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - #include "Resource.rc2" - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED +#endif // not APSTUDIO_INVOKED diff --git a/Win32/Resource.rc2 b/Win32/Resource.rc2 index b001be82..6a4f481d 100644 --- a/Win32/Resource.rc2 +++ b/Win32/Resource.rc2 @@ -1,18 +1,9 @@ -// -// Resource.RC2 - resources Microsoft Visual C++ does not edit directly -// - #ifdef APSTUDIO_INVOKED #error this file is not editable by Microsoft Visual C++ #endif //APSTUDIO_INVOKED #include "../libi2pd/version.h" -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - VS_VERSION_INFO VERSIONINFO FILEVERSION I2PD_VERSION_MAJOR,I2PD_VERSION_MINOR,I2PD_VERSION_MICRO,I2PD_VERSION_PATCH PRODUCTVERSION I2P_VERSION_MAJOR,I2P_VERSION_MINOR,I2P_VERSION_MICRO,I2P_VERSION_PATCH @@ -34,7 +25,7 @@ BEGIN VALUE "FileDescription", "C++ I2P daemon" VALUE "FileVersion", I2PD_VERSION VALUE "InternalName", CODENAME - VALUE "LegalCopyright", "Copyright (C) 2013-2015, The PurpleI2P Project" + VALUE "LegalCopyright", "Copyright (C) 2013-2017, The PurpleI2P Project" VALUE "OriginalFilename", "i2pd" VALUE "ProductName", "Purple I2P" VALUE "ProductVersion", I2P_VERSION diff --git a/Win32/Win32App.cpp b/Win32/Win32App.cpp index 8f0f7abd..e66b5f08 100644 --- a/Win32/Win32App.cpp +++ b/Win32/Win32App.cpp @@ -38,7 +38,7 @@ namespace win32 InsertMenu (hPopup, -1, MF_BYPOSITION | MF_STRING, ID_CONSOLE, "Open &console"); InsertMenu (hPopup, -1, MF_BYPOSITION | MF_STRING, ID_APP, "Show app"); InsertMenu (hPopup, -1, MF_BYPOSITION | MF_STRING, ID_ABOUT, "&About..."); - InsertMenu (hPopup, -1, MF_BYPOSITION | MF_SEPARATOR, NULL, NULL); + InsertMenu (hPopup, -1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); InsertMenu (hPopup, -1, MF_BYPOSITION | MF_STRING, ID_GRACEFUL_SHUTDOWN, "&Graceful shutdown"); InsertMenu (hPopup, -1, MF_BYPOSITION | MF_STRING, ID_EXIT, "E&xit"); SetMenuDefaultItem (hPopup, ID_CONSOLE, FALSE); diff --git a/Win32/Win32Service.h b/Win32/Win32Service.h index 097cb111..95cad3b5 100644 --- a/Win32/Win32Service.h +++ b/Win32/Win32Service.h @@ -7,10 +7,10 @@ #ifdef _WIN32 // Internal name of the service -#define SERVICE_NAME "i2pService" +#define SERVICE_NAME "i2pdService" // Displayed name of the service -#define SERVICE_DISPLAY_NAME "i2p router service" +#define SERVICE_DISPLAY_NAME "i2pd router service" // Service start options. #define SERVICE_START_TYPE SERVICE_DEMAND_START diff --git a/Win32/i2pd.sln b/Win32/i2pd.sln deleted file mode 100644 index 4606b24b..00000000 --- a/Win32/i2pd.sln +++ /dev/null @@ -1,30 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30723.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "i2pd", "i2pd.vcxproj", "{930568EC-31C9-406A-AD1C-9636DF5D8FAA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Debug|Win32.ActiveCfg = Debug|Win32 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Debug|Win32.Build.0 = Debug|Win32 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Debug|Win32.Deploy.0 = Debug|Win32 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Debug|x64.ActiveCfg = Debug|x64 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Debug|x64.Build.0 = Debug|x64 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Release|Win32.ActiveCfg = Release|Win32 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Release|Win32.Build.0 = Release|Win32 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Release|Win32.Deploy.0 = Release|Win32 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Release|x64.ActiveCfg = Release|x64 - {930568EC-31C9-406A-AD1C-9636DF5D8FAA}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Win32/i2pd.vcxproj b/Win32/i2pd.vcxproj deleted file mode 100644 index 6426af09..00000000 --- a/Win32/i2pd.vcxproj +++ /dev/null @@ -1,292 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {930568EC-31C9-406A-AD1C-9636DF5D8FAA} - i2pd - - - - Application - true - v120_xp - NotSet - - - Application - true - v120_xp - NotSet - - - Application - false - v120_xp - true - NotSet - - - Application - false - v120_xp - true - NotSet - - - - - - - - - - - - - - - - - - - ./..;$(IncludePath);$(BOOST);$(CRYPTOPP);C:\build-lib\cryptopp;C:\build-lib\boost_1_57_0\ - $(BOOST)\stage\lib;C:\build-lib\cryptopp;C:\build-lib\boost_1_57_0\stage\lib;$(CRYPTOPP)\cryptopp\$(Platform)\Output\$(Configuration);$(LibraryPath) - ./..;$(VC_SourcePath); - $(ProjectName)_d - - - ./..;$(IncludePath);$(BOOST);$(CRYPTOPP) - $(BOOST)\stage\lib;$(CRYPTOPP)\cryptopp\$(Platform)\Output\$(Configuration);$(LibraryPath) - ./..;$(VC_SourcePath); - $(ProjectName)_d - - - ./..;$(IncludePath);$(BOOST);C:\build-lib\boost_1_57_0\;C:\build-lib - C:\build-lib\boost_1_57_0\stage\lib;C:\build-lib\cryptopp\$(Platform)\Output\$(Configuration);$(LibraryPath) - ./..;$(VC_SourcePath); - - - ./..;$(IncludePath);$(BOOST);$(CRYPTOPP) - $(BOOST)\stage\lib;$(CRYPTOPP)\cryptopp\$(Platform)\Output\$(Configuration);$(LibraryPath) - ./..;$(VC_SourcePath); - - - - Level3 - Disabled - true - MultiThreadedDebug - _MBCS;_WIN32_WINNT=0x0501;%(PreprocessorDefinitions) - - - true - cryptlib.lib;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - AsInvoker - 0.2 - Console - - - - - Level3 - Disabled - true - MultiThreadedDebug - _MBCS;_WIN32_WINNT=0x0502;%(PreprocessorDefinitions) - - - true - cryptlib.lib;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - AsInvoker - 0.2 - Console - - - - - Level2 - MaxSpeed - true - true - MultiThreaded - _WIN32_WINNT=0x0501;%(PreprocessorDefinitions) - true - true - - - false - true - false - cryptlib.lib;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - AsInvoker - - - Console - 5.01 - NoErrorReport - - - - - - - - - - - Level3 - MaxSpeed - true - true - MultiThreaded - _WIN32_WINNT=0x0502;%(PreprocessorDefinitions) - true - true - - - false - true - false - cryptlib.lib;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - AsInvoker - - - Console - 5.02 - NoErrorReport - - - - - - - - - - - - diff --git a/Win32/i2pd.vcxproj.filters b/Win32/i2pd.vcxproj.filters deleted file mode 100644 index 4402ec7a..00000000 --- a/Win32/i2pd.vcxproj.filters +++ /dev/null @@ -1,302 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {a880a08c-16b8-4243-82ea-6bfc63bb7dab} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Win32 - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Win32 - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Source Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Win32/ictoopie.bmp b/Win32/ictoopie.bmp deleted file mode 100644 index c92f7c583975d802536ed3def0ae5a733f891137..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25818 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 diff --git a/Win32/ictoopie.ico b/Win32/ictoopie.ico deleted file mode 100644 index 077479a2ab8c7304f6dca1ac1770176394134cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180626 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 iJmHh&v-Y;wb diff --git a/Win32/install_service.bat b/Win32/install_service.bat deleted file mode 100644 index b03c11b6..00000000 --- a/Win32/install_service.bat +++ /dev/null @@ -1 +0,0 @@ -i2pd --service=install \ No newline at end of file diff --git a/Win32/installer.iss b/Win32/installer.iss deleted file mode 100644 index 95c2bf42..00000000 --- a/Win32/installer.iss +++ /dev/null @@ -1,41 +0,0 @@ -#define I2Pd_AppName "i2pd" -#define I2Pd_ver "2.14.0" -#define I2Pd_Publisher "PurpleI2P" - -[Setup] -AppName={#I2Pd_AppName} -AppVersion={#I2Pd_ver} -AppPublisher={#I2Pd_Publisher} -DefaultDirName={pf}\I2Pd -DefaultGroupName=I2Pd -UninstallDisplayIcon={app}\I2Pd.exe -OutputDir=. -LicenseFile=../LICENSE -OutputBaseFilename=setup_{#I2Pd_AppName}_v{#I2Pd_ver} -SetupIconFile=mask.ico -InternalCompressLevel=ultra64 -Compression=lzma/ultra64 -SolidCompression=true -ArchitecturesInstallIn64BitMode=x64 -AppVerName={#I2Pd_AppName} -ExtraDiskSpaceRequired=15 -AppID={{621A23E0-3CF4-4BD6-97BC-4835EA5206A2} -AppPublisherURL=http://i2pd.website/ -AppSupportURL=https://github.com/PurpleI2P/i2pd/issues -AppUpdatesURL=https://github.com/PurpleI2P/i2pd/releases - -[Files] -Source: ..\i2pd_x86.exe; DestDir: {app}; DestName: i2pd.exe; Flags: ignoreversion; Check: not IsWin64 -Source: ..\i2pd_x64.exe; DestDir: {app}; DestName: i2pd.exe; Flags: ignoreversion; Check: IsWin64 -Source: ..\README.md; DestDir: {app}; DestName: Readme.txt; Flags: onlyifdoesntexist -Source: ..\contrib\i2pd.conf; DestDir: {userappdata}\i2pd; Flags: onlyifdoesntexist -Source: ..\contrib\subscriptions.txt; DestDir: {userappdata}\i2pd; Flags: onlyifdoesntexist -Source: ..\contrib\tunnels.conf; DestDir: {userappdata}\i2pd; Flags: onlyifdoesntexist -Source: ..\contrib\certificates\*; DestDir: {userappdata}\i2pd\certificates; Flags: onlyifdoesntexist recursesubdirs createallsubdirs - -[Icons] -Name: {group}\I2Pd; Filename: {app}\i2pd.exe -Name: {group}\Readme; Filename: {app}\Readme.txt - -[UninstallDelete] -Type: filesandordirs; Name: {app} diff --git a/Win32/nsi/helper_readme.nsh b/Win32/nsi/helper_readme.nsh deleted file mode 100644 index a3baaca1..00000000 --- a/Win32/nsi/helper_readme.nsh +++ /dev/null @@ -1,57 +0,0 @@ -!verbose push -!verbose 3 - -!ifndef _MUI_EXTRAPAGES_NSH -!define _MUI_EXTRAPAGES_NSH - -!ifmacrondef MUI_EXTRAPAGE_README & MUI_PAGE_README & MUI_UNPAGE_README & ReadmeLangStrings - -!macro MUI_EXTRAPAGE_README UN ReadmeFile -!verbose push -!verbose 3 - !define MUI_PAGE_HEADER_TEXT "$(${UN}ReadmeHeader)" - !define MUI_PAGE_HEADER_SUBTEXT "$(${UN}ReadmeSubHeader)" - !define MUI_LICENSEPAGE_TEXT_TOP "$(${UN}ReadmeTextTop)" - !define MUI_LICENSEPAGE_TEXT_BOTTOM "$(${UN}ReadmeTextBottom)" - !define MUI_LICENSEPAGE_BUTTON "$(^NextBtn)" - !insertmacro MUI_${UN}PAGE_LICENSE "${ReadmeFile}" -!verbose pop -!macroend - -!define ReadmeRun "!insertmacro MUI_EXTRAPAGE_README" - - -!macro MUI_PAGE_README ReadmeFile -!verbose push -!verbose 3 - ${ReadmeRun} "" "${ReadmeFile}" -!verbose pop -!macroend - - -!macro MUI_UNPAGE_README ReadmeFile -!verbose push -!verbose 3 - ${ReadmeRun} "UN" "${ReadmeFile}" -!verbose pop -!macroend - - -!macro ReadmeLangStrings UN MUI_LANG ReadmeHeader ReadmeSubHeader ReadmeTextTop ReadmeTextBottom -!verbose push -!verbose 3 - LangString ${UN}ReadmeHeader ${MUI_LANG} "${ReadmeHeader}" - LangString ${UN}ReadmeSubHeader ${MUI_LANG} "${ReadmeSubHeader}" - LangString ${UN}ReadmeTextTop ${MUI_LANG} "${ReadmeTextTop}" - LangString ${UN}ReadmeTextBottom ${MUI_LANG} "${ReadmeTextBottom}" -!verbose pop -!macroend - -!define ReadmeLanguage `!insertmacro ReadmeLangStrings ""` - -!define Un.ReadmeLanguage `!insertmacro ReadmeLangStrings "UN"` - -!endif -!endif - -!verbose pop \ No newline at end of file diff --git a/Win32/nsi/servicelib.nsh b/Win32/nsi/servicelib.nsh deleted file mode 100644 index 7f4b5861..00000000 --- a/Win32/nsi/servicelib.nsh +++ /dev/null @@ -1,419 +0,0 @@ -; NSIS SERVICE LIBRARY - servicelib.nsh -; Version 1.8.1 - Jun 21th, 2013 -; Questions/Comments - dselkirk@hotmail.com -; -; Description: -; Provides an interface to window services -; -; Inputs: -; action - systemlib action ie. create, delete, start, stop, pause, -; continue, installed, running, status -; name - name of service to manipulate -; param - action parameters; usage: var1=value1;var2=value2;...etc. -; (don't forget to add a ';' after the last value!) -; -; Actions: -; create - creates a new windows service -; Parameters: -; path - path to service executable -; autostart - automatically start with system ie. 1|0 -; interact - interact with the desktop ie. 1|0 -; depend - service dependencies -; user - user that runs the service -; password - password of the above user -; display - display name in service's console -; description - Description of service -; starttype - start type (supersedes autostart) -; servicetype - service type (supersedes interact) -; -; delete - deletes a windows service -; start - start a stopped windows service -; stop - stops a running windows service -; pause - pauses a running windows service -; continue - continues a paused windows service -; installed - is the provided service installed -; Parameters: -; action - if true then invokes the specified action -; running - is the provided service running -; Parameters: -; action - if true then invokes the specified action -; status - check the status of the provided service -; -; Usage: -; Method 1: -; Push "action" -; Push "name" -; Push "param" -; Call Service -; Pop $0 ;response -; -; Method 2: -; !insertmacro SERVICE "action" "name" "param" -; -; History: -; 1.0 - 09/15/2003 - Initial release -; 1.1 - 09/16/2003 - Changed &l to i, thx brainsucker -; 1.2 - 02/29/2004 - Fixed documentation. -; 1.3 - 01/05/2006 - Fixed interactive flag and pop order (Kichik) -; 1.4 - 12/07/2006 - Added display and depend, fixed datatypes (Vitoco) -; 1.5 - 06/25/2008 - Added description of service.(DeSafe.com/liuqixing#gmail.com) -; 1.5.1 - 06/12/2009 - Added use of __UNINSTALL__ -; 1.6 - 08/02/2010 - Fixed description implementation (Anders) -; 1.7 - 04/11/2010 - Added get running service process id (Nico) -; 1.8 - 24/03/2011 - Added starttype and servicetype (Sergius) -; 1.8.1 - 21/06/2013 - Added dynamic ASCII & Unicode support (Zinthose) - -!ifndef SERVICELIB - !define SERVICELIB - - !define SC_MANAGER_ALL_ACCESS 0x3F - !define SC_STATUS_PROCESS_INFO 0x0 - !define SERVICE_ALL_ACCESS 0xF01FF - - !define SERVICE_CONTROL_STOP 1 - !define SERVICE_CONTROL_PAUSE 2 - !define SERVICE_CONTROL_CONTINUE 3 - - !define SERVICE_STOPPED 0x1 - !define SERVICE_START_PENDING 0x2 - !define SERVICE_STOP_PENDING 0x3 - !define SERVICE_RUNNING 0x4 - !define SERVICE_CONTINUE_PENDING 0x5 - !define SERVICE_PAUSE_PENDING 0x6 - !define SERVICE_PAUSED 0x7 - - !define SERVICE_KERNEL_DRIVER 0x00000001 - !define SERVICE_FILE_SYSTEM_DRIVER 0x00000002 - !define SERVICE_WIN32_OWN_PROCESS 0x00000010 - !define SERVICE_WIN32_SHARE_PROCESS 0x00000020 - !define SERVICE_INTERACTIVE_PROCESS 0x00000100 - - - !define SERVICE_BOOT_START 0x00000000 - !define SERVICE_SYSTEM_START 0x00000001 - !define SERVICE_AUTO_START 0x00000002 - !define SERVICE_DEMAND_START 0x00000003 - !define SERVICE_DISABLED 0x00000004 - - ## Added by Zinthose for Native Unicode Support - !ifdef NSIS_UNICODE - !define APITAG "W" - !else - !define APITAG "A" - !endif - - !macro SERVICE ACTION NAME PARAM - Push '${ACTION}' - Push '${NAME}' - Push '${PARAM}' - !ifdef __UNINSTALL__ - Call un.Service - !else - Call Service - !endif - !macroend - - !macro FUNC_GETPARAM - Push $0 - Push $1 - Push $2 - Push $3 - Push $4 - Push $5 - Push $6 - Push $7 - Exch 8 - Pop $1 ;name - Exch 8 - Pop $2 ;source - StrCpy $0 "" - StrLen $7 $2 - StrCpy $3 0 - lbl_loop: - IntCmp $3 $7 0 0 lbl_done - StrLen $4 "$1=" - StrCpy $5 $2 $4 $3 - StrCmp $5 "$1=" 0 lbl_next - IntOp $5 $3 + $4 - StrCpy $3 $5 - lbl_loop2: - IntCmp $3 $7 0 0 lbl_done - StrCpy $6 $2 1 $3 - StrCmp $6 ";" 0 lbl_next2 - IntOp $6 $3 - $5 - StrCpy $0 $2 $6 $5 - Goto lbl_done - lbl_next2: - IntOp $3 $3 + 1 - Goto lbl_loop2 - lbl_next: - IntOp $3 $3 + 1 - Goto lbl_loop - lbl_done: - Pop $5 - Pop $4 - Pop $3 - Pop $2 - Pop $1 - Exch 2 - Pop $6 - Pop $7 - Exch $0 - !macroend - - !macro CALL_GETPARAM VAR NAME DEFAULT LABEL - Push $1 - Push ${NAME} - Call ${UN}GETPARAM - Pop $6 - StrCpy ${VAR} "${DEFAULT}" - StrCmp $6 "" "${LABEL}" 0 - StrCpy ${VAR} $6 - !macroend - - !macro FUNC_SERVICE UN - Push $0 - Push $1 - Push $2 - Push $3 - Push $4 - Push $5 - Push $6 - Push $7 - Exch 8 - Pop $1 ;param - Exch 8 - Pop $2 ;name - Exch 8 - Pop $3 ;action - ;$0 return - ;$4 OpenSCManager - ;$5 OpenService - - StrCpy $0 "false" - System::Call 'advapi32::OpenSCManager${APITAG}(n, n, i ${SC_MANAGER_ALL_ACCESS}) i.r4' - IntCmp $4 0 lbl_done - StrCmp $3 "create" lbl_create - System::Call 'advapi32::OpenService${APITAG}(i r4, t r2, i ${SERVICE_ALL_ACCESS}) i.r5' - IntCmp $5 0 lbl_done - - lbl_select: - StrCmp $3 "delete" lbl_delete - StrCmp $3 "start" lbl_start - StrCmp $3 "stop" lbl_stop - StrCmp $3 "pause" lbl_pause - StrCmp $3 "continue" lbl_continue - StrCmp $3 "installed" lbl_installed - StrCmp $3 "running" lbl_running - StrCmp $3 "status" lbl_status - StrCmp $3 "processid" lbl_processid - Goto lbl_done - - ; create service - lbl_create: - Push $R1 ;depend - Push $R2 ;user - Push $R3 ;password - Push $R4 ;servicetype/interact - Push $R5 ;starttype/autostart - Push $R6 ;path - Push $R7 ;display - Push $R8 ;description - - !insertmacro CALL_GETPARAM $R1 "depend" "n" "lbl_depend" - StrCpy $R1 't "$R1"' - lbl_depend: - StrCmp $R1 "n" 0 lbl_machine ;old name of depend param - !insertmacro CALL_GETPARAM $R1 "machine" "n" "lbl_machine" - StrCpy $R1 't "$R1"' - lbl_machine: - - !insertmacro CALL_GETPARAM $R2 "user" "n" "lbl_user" - StrCpy $R2 't "$R2"' - lbl_user: - - !insertmacro CALL_GETPARAM $R3 "password" "n" "lbl_password" - StrCpy $R3 't "$R3"' - lbl_password: - - !insertmacro CALL_GETPARAM $R4 "interact" "${SERVICE_WIN32_OWN_PROCESS}" "lbl_interact" - StrCpy $6 ${SERVICE_WIN32_OWN_PROCESS} - IntCmp $R4 0 +2 - IntOp $6 $6 | ${SERVICE_INTERACTIVE_PROCESS} - StrCpy $R4 $6 - lbl_interact: - - !insertmacro CALL_GETPARAM $R4 "servicetype" "$R4" "lbl_servicetype" - lbl_servicetype: - - !insertmacro CALL_GETPARAM $R5 "autostart" "${SERVICE_DEMAND_START}" "lbl_autostart" - StrCpy $6 ${SERVICE_DEMAND_START} - IntCmp $R5 0 +2 - StrCpy $6 ${SERVICE_AUTO_START} - StrCpy $R5 $6 - lbl_autostart: - - !insertmacro CALL_GETPARAM $R5 "starttype" "$R5" "lbl_starttype" - lbl_starttype: - - !insertmacro CALL_GETPARAM $R6 "path" "n" "lbl_path" - lbl_path: - - !insertmacro CALL_GETPARAM $R7 "display" "$2" "lbl_display" - lbl_display: - - !insertmacro CALL_GETPARAM $R8 "description" "$2" "lbl_description" - lbl_description: - - System::Call 'advapi32::CreateService${APITAG}(i r4, t r2, t R7, i ${SERVICE_ALL_ACCESS}, \ - i R4, i R5, i 0, t R6, n, n, $R1, $R2, $R3) i.r6' - - ; write description of service (SERVICE_CONFIG_DESCRIPTION) - System::Call 'advapi32::ChangeServiceConfig2${APITAG}(ir6,i1,*t "$R8")i.R7' - strcmp $R7 "error" 0 lbl_descriptioncomplete - WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\$2" "Description" $R8 - lbl_descriptioncomplete: - - Pop $R8 - Pop $R7 - Pop $R6 - Pop $R5 - Pop $R4 - Pop $R3 - Pop $R2 - Pop $R1 - StrCmp $6 0 lbl_done lbl_good - - ; delete service - lbl_delete: - System::Call 'advapi32::DeleteService(i r5) i.r6' - StrCmp $6 0 lbl_done lbl_good - - ; start service - lbl_start: - System::Call 'advapi32::StartService${APITAG}(i r5, i 0, i 0) i.r6' - StrCmp $6 0 lbl_done lbl_good - - ; stop service - lbl_stop: - Push $R1 - System::Call '*(i,i,i,i,i,i,i) i.R1' - System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_STOP}, i $R1) i' - System::Free $R1 - Pop $R1 - StrCmp $6 0 lbl_done lbl_good - - ; pause service - lbl_pause: - Push $R1 - System::Call '*(i,i,i,i,i,i,i) i.R1' - System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_PAUSE}, i $R1) i' - System::Free $R1 - Pop $R1 - StrCmp $6 0 lbl_done lbl_good - - ; continue service - lbl_continue: - Push $R1 - System::Call '*(i,i,i,i,i,i,i) i.R1' - System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_CONTINUE}, i $R1) i' - System::Free $R1 - Pop $R1 - StrCmp $6 0 lbl_done lbl_good - - ; is installed - lbl_installed: - !insertmacro CALL_GETPARAM $7 "action" "" "lbl_good" - StrCpy $3 $7 - Goto lbl_select - - ; is service running - lbl_running: - Push $R1 - System::Call '*(i,i,i,i,i,i,i) i.R1' - System::Call 'advapi32::QueryServiceStatus(i r5, i $R1) i' - System::Call '*$R1(i, i.r6)' - System::Free $R1 - Pop $R1 - IntFmt $6 "0x%X" $6 - StrCmp $6 ${SERVICE_RUNNING} 0 lbl_done - !insertmacro CALL_GETPARAM $7 "action" "" "lbl_good" - StrCpy $3 $7 - Goto lbl_select - - lbl_status: - Push $R1 - System::Call '*(i,i,i,i,i,i,i) i.R1' - System::Call 'advapi32::QueryServiceStatus(i r5, i $R1) i' - System::Call '*$R1(i, i .r6)' - System::Free $R1 - Pop $R1 - IntFmt $6 "0x%X" $6 - StrCpy $0 "running" - IntCmp $6 ${SERVICE_RUNNING} lbl_done - StrCpy $0 "stopped" - IntCmp $6 ${SERVICE_STOPPED} lbl_done - StrCpy $0 "start_pending" - IntCmp $6 ${SERVICE_START_PENDING} lbl_done - StrCpy $0 "stop_pending" - IntCmp $6 ${SERVICE_STOP_PENDING} lbl_done - StrCpy $0 "running" - IntCmp $6 ${SERVICE_RUNNING} lbl_done - StrCpy $0 "continue_pending" - IntCmp $6 ${SERVICE_CONTINUE_PENDING} lbl_done - StrCpy $0 "pause_pending" - IntCmp $6 ${SERVICE_PAUSE_PENDING} lbl_done - StrCpy $0 "paused" - IntCmp $6 ${SERVICE_PAUSED} lbl_done - StrCpy $0 "unknown" - Goto lbl_done - - lbl_processid: - Push $R1 - Push $R2 - System::Call '*(i,i,i,i,i,i,i,i,i) i.R1' - System::Call '*(i 0) i.R2' - System::Call "advapi32::QueryServiceStatusEx(i r5, i ${SC_STATUS_PROCESS_INFO}, i $R1, i 36, i $R2) i" - System::Call "*$R1(i,i,i,i,i,i,i, i .r0)" - System::Free $R2 - System::Free $R1 - Pop $R2 - Pop $R1 - Goto lbl_done - - lbl_good: - StrCpy $0 "true" - lbl_done: - IntCmp $5 0 +2 - System::Call 'advapi32::CloseServiceHandle(i r5) n' - IntCmp $4 0 +2 - System::Call 'advapi32::CloseServiceHandle(i r4) n' - Pop $4 - Pop $3 - Pop $2 - Pop $1 - Exch 3 - Pop $5 - Pop $7 - Pop $6 - Exch $0 - !macroend - - Function Service - !insertmacro FUNC_SERVICE "" - FunctionEnd - - Function un.Service - !insertmacro FUNC_SERVICE "un." - FunctionEnd - - Function GetParam - !insertmacro FUNC_GETPARAM - FunctionEnd - - Function un.GetParam - !insertmacro FUNC_GETPARAM - FunctionEnd - - !undef APITAG -!endif \ No newline at end of file diff --git a/Win32/resource.h b/Win32/resource.h index a8309c8b..3b188481 100644 --- a/Win32/resource.h +++ b/Win32/resource.h @@ -1,16 +1,11 @@ //{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Resource.rc -// -#define MAINICON 101 +#define MAINICON 101 -// Next default values for new objects -// #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/Win32/uninstall_service.bat b/Win32/uninstall_service.bat deleted file mode 100644 index 0289c24a..00000000 --- a/Win32/uninstall_service.bat +++ /dev/null @@ -1 +0,0 @@ -i2pd --service=remove \ No newline at end of file diff --git a/libi2pd/FS.cpp b/libi2pd/FS.cpp index 713d6ca6..bceda568 100644 --- a/libi2pd/FS.cpp +++ b/libi2pd/FS.cpp @@ -56,7 +56,7 @@ namespace fs { else { // otherwise %appdata% - SHGetFolderPath(NULL, CSIDL_APPDATA, 0, NULL, localAppData); + SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, localAppData); dataDir = std::string(localAppData) + "\\" + appName; } return;