mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-11-22 17:39:53 +03:00
Merge PR #1185: Build vpndrvinst and vpnsetup, build installers on Azure Pipelines, remove MSVC 2008 build on AppVeyor
This commit is contained in:
commit
b57a4b051b
@ -1,7 +1,6 @@
|
|||||||
version: '{build}'
|
version: '{build}'
|
||||||
|
|
||||||
image:
|
image:
|
||||||
- Visual Studio 2015
|
|
||||||
- Visual Studio 2017
|
- Visual Studio 2017
|
||||||
- Ubuntu1604
|
- Ubuntu1604
|
||||||
- Ubuntu1804
|
- Ubuntu1804
|
||||||
@ -24,23 +23,6 @@ init:
|
|||||||
install: git submodule update --init --recursive
|
install: git submodule update --init --recursive
|
||||||
|
|
||||||
for:
|
for:
|
||||||
-
|
|
||||||
matrix:
|
|
||||||
only:
|
|
||||||
- image: Visual Studio 2015
|
|
||||||
build_script:
|
|
||||||
- src\BuildAll.cmd
|
|
||||||
- exit %errorlevel%
|
|
||||||
after_build:
|
|
||||||
- 7z a "%APPVEYOR_BUILD_FOLDER%\%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x86_%CONFIGURATION%_PDBs-vs2015.zip" "%APPVEYOR_BUILD_FOLDER%\src\DebugFiles\pdb\Win32_Release\*.pdb"
|
|
||||||
- 7z a "%APPVEYOR_BUILD_FOLDER%\%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%_PDBs-vs2015.zip" "%APPVEYOR_BUILD_FOLDER%\src\DebugFiles\pdb\x64_Release\*.pdb"
|
|
||||||
artifacts:
|
|
||||||
- path: output\pkg\*\*
|
|
||||||
name: Release
|
|
||||||
- path: "%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x86_%CONFIGURATION%_PDBs-vs2015.zip"
|
|
||||||
name: PDBs (x86)
|
|
||||||
- path: "%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%_PDBs-vs2015.zip"
|
|
||||||
name: PDBs (x64)
|
|
||||||
-
|
-
|
||||||
matrix:
|
matrix:
|
||||||
only:
|
only:
|
||||||
|
@ -4,11 +4,17 @@ parameters:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
cd /d $(Build.BinariesDirectory)
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars${{parameters.bits}}.bat"
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars${{parameters.bits}}.bat"
|
||||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl $(Build.SourcesDirectory)
|
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl $(Build.SourcesDirectory)
|
||||||
cmake --build .
|
cmake --build .
|
||||||
|
workingDirectory: $(Build.BinariesDirectory)
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
|
- script: |
|
||||||
|
mkdir "$(Build.StagingDirectory)/installers"
|
||||||
|
vpnsetup /SFXMODE:vpnclient /SFXOUT:"$(Build.StagingDirectory)/installers/softether-vpnclient-$(Build.SourceVersion).exe"
|
||||||
|
vpnsetup /SFXMODE:vpnserver_vpnbridge /SFXOUT:"$(Build.StagingDirectory)/installers/softether-vpnserver_vpnbridge-$(Build.SourceVersion).exe"
|
||||||
|
workingDirectory: $(Build.BinariesDirectory)
|
||||||
|
displayName: 'Build installers'
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. .ci\appveyor-vpntest.ps1
|
. .ci\appveyor-vpntest.ps1
|
||||||
displayName: 'Test'
|
displayName: 'Test'
|
||||||
@ -16,9 +22,13 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
sourceFolder: '$(Build.BinariesDirectory)'
|
sourceFolder: '$(Build.BinariesDirectory)'
|
||||||
contents: '?(*.exe|*.se2|*.pdb)'
|
contents: '?(*.exe|*.se2|*.pdb)'
|
||||||
TargetFolder: '$(Build.StagingDirectory)'
|
TargetFolder: '$(Build.StagingDirectory)/binaries'
|
||||||
flattenFolders: true
|
flattenFolders: true
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
inputs:
|
inputs:
|
||||||
pathtoPublish: '$(Build.StagingDirectory)'
|
pathtoPublish: '$(Build.StagingDirectory)/binaries'
|
||||||
artifactName: 'Binaries'
|
artifactName: 'Binaries'
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
inputs:
|
||||||
|
pathtoPublish: '$(Build.StagingDirectory)/installers'
|
||||||
|
artifactName: 'Installers'
|
||||||
|
@ -155,11 +155,18 @@ if(WIN32)
|
|||||||
add_subdirectory(PenCore)
|
add_subdirectory(PenCore)
|
||||||
add_dependencies(hamcore-archive-build PenCore)
|
add_dependencies(hamcore-archive-build PenCore)
|
||||||
|
|
||||||
|
# vpndrvinst
|
||||||
|
add_subdirectory(vpndrvinst)
|
||||||
|
add_dependencies(hamcore-archive-build vpndrvinst)
|
||||||
|
|
||||||
# vpnsmgr
|
# vpnsmgr
|
||||||
add_subdirectory(vpnsmgr)
|
add_subdirectory(vpnsmgr)
|
||||||
|
|
||||||
# vpncmgr
|
# vpncmgr
|
||||||
add_subdirectory(vpncmgr)
|
add_subdirectory(vpncmgr)
|
||||||
|
|
||||||
|
# vpnsetup
|
||||||
|
add_subdirectory(vpnsetup)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
|
@ -1286,7 +1286,7 @@ void *CmExecUiHelperMain()
|
|||||||
HANDLE h;
|
HANDLE h;
|
||||||
wchar_t tmp[MAX_SIZE];
|
wchar_t tmp[MAX_SIZE];
|
||||||
|
|
||||||
UniFormat(tmp, sizeof(tmp), L"%s\\%S", MsGetExeDirNameW(), CiGetVpnClientExeFileName());
|
UniFormat(tmp, sizeof(tmp), L"%s\\%S", MsGetExeDirNameW(), CLIENT_WIN32_EXE_FILENAME);
|
||||||
|
|
||||||
// Start
|
// Start
|
||||||
h = Win32RunExW(tmp, SVC_ARG_UIHELP_W, false);
|
h = Win32RunExW(tmp, SVC_ARG_UIHELP_W, false);
|
||||||
|
@ -411,27 +411,6 @@ typedef struct CNC_CONNECT_ERROR_DLG_THREAD_PARAM
|
|||||||
EVENT *Event;
|
EVENT *Event;
|
||||||
} CNC_CONNECT_ERROR_DLG_THREAD_PARAM;
|
} CNC_CONNECT_ERROR_DLG_THREAD_PARAM;
|
||||||
|
|
||||||
|
|
||||||
// Get the file name of vpnclient.exe in Win32
|
|
||||||
char *CiGetVpnClientExeFileName()
|
|
||||||
{
|
|
||||||
if (Is64() == false)
|
|
||||||
{
|
|
||||||
return CLIENT_WIN32_EXE_FILENAME;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (IsX64())
|
|
||||||
{
|
|
||||||
return CLIENT_WIN32_EXE_FILENAME_X64;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return CLIENT_WIN32_EXE_FILENAME_IA64;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Thread to stop forcibly the Certificate check dialog client
|
// Thread to stop forcibly the Certificate check dialog client
|
||||||
void CncCheckCertHaltThread(THREAD *thread, void *param)
|
void CncCheckCertHaltThread(THREAD *thread, void *param)
|
||||||
{
|
{
|
||||||
|
@ -36,8 +36,6 @@
|
|||||||
#define CLIENT_NOTIFY_SERVICE_INSTANCENAME GC_SW_SOFTETHER_PREFIX "vpnclient_uihelper"
|
#define CLIENT_NOTIFY_SERVICE_INSTANCENAME GC_SW_SOFTETHER_PREFIX "vpnclient_uihelper"
|
||||||
|
|
||||||
#define CLIENT_WIN32_EXE_FILENAME "vpnclient.exe"
|
#define CLIENT_WIN32_EXE_FILENAME "vpnclient.exe"
|
||||||
#define CLIENT_WIN32_EXE_FILENAME_X64 "vpnclient_x64.exe"
|
|
||||||
#define CLIENT_WIN32_EXE_FILENAME_IA64 "vpnclient_ia64.exe"
|
|
||||||
|
|
||||||
#define CLIENT_CUSTOM_INI_FILENAME "$custom.ini"
|
#define CLIENT_CUSTOM_INI_FILENAME "$custom.ini"
|
||||||
|
|
||||||
@ -599,7 +597,6 @@ bool CtSetCommonProxySetting(CLIENT *c, INTERNET_SETTING *a);
|
|||||||
// Internal function prototype
|
// Internal function prototype
|
||||||
void CiSendGlobalPulse(CLIENT *c);
|
void CiSendGlobalPulse(CLIENT *c);
|
||||||
void CiPulseRecvThread(THREAD *thread, void *param);
|
void CiPulseRecvThread(THREAD *thread, void *param);
|
||||||
char *CiGetVpnClientExeFileName();
|
|
||||||
void CiServerThread(THREAD *t, void *param);
|
void CiServerThread(THREAD *t, void *param);
|
||||||
void CiInitSaver(CLIENT *c);
|
void CiInitSaver(CLIENT *c);
|
||||||
void CiFreeSaver(CLIENT *c);
|
void CiFreeSaver(CLIENT *c);
|
||||||
|
@ -886,7 +886,7 @@ void VpnCmdInitBootPath()
|
|||||||
char tmp[MAX_PATH];
|
char tmp[MAX_PATH];
|
||||||
GetExeName(exe_path, sizeof(exe_path));
|
GetExeName(exe_path, sizeof(exe_path));
|
||||||
|
|
||||||
if (SearchStrEx(exe_path, "ham.exe", 0, false) != INFINITE || SearchStrEx(exe_path, "ham_x64.exe", 0, false) != INFINITE || SearchStrEx(exe_path, "ham_ia64.exe", 0, false) != INFINITE)
|
if (SearchStrEx(exe_path, "ham.exe", 0, false) != INFINITE)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -901,7 +901,6 @@ void VpnCmdInitBootPath()
|
|||||||
if ((CEDAR_VERSION_BUILD >= current_ver) ||
|
if ((CEDAR_VERSION_BUILD >= current_ver) ||
|
||||||
MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
||||||
{
|
{
|
||||||
char *src_filename;
|
|
||||||
bool b = false;
|
bool b = false;
|
||||||
// Copy the vpncmdsys.exe to system32
|
// Copy the vpncmdsys.exe to system32
|
||||||
if (MsIsNt())
|
if (MsIsNt())
|
||||||
@ -913,49 +912,27 @@ void VpnCmdInitBootPath()
|
|||||||
Format(tmp, sizeof(tmp), "%s\\vpncmd.exe", MsGetWindowsDir());
|
Format(tmp, sizeof(tmp), "%s\\vpncmd.exe", MsGetWindowsDir());
|
||||||
}
|
}
|
||||||
|
|
||||||
src_filename = VPNCMD_BOOTSTRAP_FILENAME;
|
|
||||||
|
|
||||||
if (IsX64())
|
|
||||||
{
|
|
||||||
src_filename = VPNCMD_BOOTSTRAP_FILENAME_X64;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IsIA64())
|
|
||||||
{
|
|
||||||
src_filename = VPNCMD_BOOTSTRAP_FILENAME_IA64;
|
|
||||||
}
|
|
||||||
|
|
||||||
b = true;
|
|
||||||
|
|
||||||
if (MsIs64BitWindows() == false || Is64())
|
if (MsIs64BitWindows() == false || Is64())
|
||||||
{
|
{
|
||||||
if (IsFile(tmp) == false || (CEDAR_VERSION_BUILD > current_ver) || MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
if (IsFile(tmp) == false || (CEDAR_VERSION_BUILD > current_ver) || MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
||||||
{
|
{
|
||||||
b = FileCopy(src_filename, tmp);
|
b = FileCopy(VPNCMD_BOOTSTRAP_FILENAME, tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
void *wow;
|
void *wow = MsDisableWow64FileSystemRedirection();
|
||||||
|
|
||||||
wow = MsDisableWow64FileSystemRedirection();
|
if (IsFile(tmp) == false || (CEDAR_VERSION_BUILD > current_ver) || MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
||||||
|
|
||||||
if (true)
|
|
||||||
{
|
{
|
||||||
if (IsFile(tmp) == false || (CEDAR_VERSION_BUILD > current_ver) || MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
b = FileCopy(VPNCMD_BOOTSTRAP_FILENAME, tmp);
|
||||||
{
|
|
||||||
b = FileCopy(src_filename, tmp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MsRestoreWow64FileSystemRedirection(wow);
|
MsRestoreWow64FileSystemRedirection(wow);
|
||||||
|
|
||||||
if (true)
|
if (IsFile(tmp) == false || (CEDAR_VERSION_BUILD > current_ver) || MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
||||||
{
|
{
|
||||||
if (IsFile(tmp) == false || (CEDAR_VERSION_BUILD > current_ver) || MsRegIsValue(REG_LOCAL_MACHINE, VPNCMD_BOOTSTRAP_REG_KEYNAME, VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH) == false)
|
b = FileCopy(VPNCMD_BOOTSTRAP_FILENAME, tmp);
|
||||||
{
|
|
||||||
b = FileCopy(src_filename, tmp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,8 +25,6 @@
|
|||||||
#define VPNCMD_BOOTSTRAP_REG_VALUENAME_VER "InstalledVersion"
|
#define VPNCMD_BOOTSTRAP_REG_VALUENAME_VER "InstalledVersion"
|
||||||
#define VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH "InstalledPath"
|
#define VPNCMD_BOOTSTRAP_REG_VALUENAME_PATH "InstalledPath"
|
||||||
#define VPNCMD_BOOTSTRAP_FILENAME "|vpncmdsys.exe"
|
#define VPNCMD_BOOTSTRAP_FILENAME "|vpncmdsys.exe"
|
||||||
#define VPNCMD_BOOTSTRAP_FILENAME_X64 "|vpncmdsys_x64.exe"
|
|
||||||
#define VPNCMD_BOOTSTRAP_FILENAME_IA64 "|vpncmdsys_ia64.exe"
|
|
||||||
|
|
||||||
|
|
||||||
// Traffic test results
|
// Traffic test results
|
||||||
|
@ -20028,26 +20028,17 @@ void SmInitDefaultSettingList()
|
|||||||
{
|
{
|
||||||
MS_PROCESS *p = LIST_DATA(pl, i);
|
MS_PROCESS *p = LIST_DATA(pl, i);
|
||||||
|
|
||||||
if (UniInStr(p->ExeFilenameW, L"vpnserver.exe") || UniInStr(p->ExeFilenameW, L"vpnserver_x64.exe") ||
|
if (UniInStr(p->ExeFilenameW, L"vpnserver.exe") || UniInStr(p->ExeFilenameW, L"vpnbridge.exe"))
|
||||||
UniInStr(p->ExeFilenameW, L"vpnserver_ia64.exe") ||
|
|
||||||
UniInStr(p->ExeFilenameW, L"vpnbridge.exe") || UniInStr(p->ExeFilenameW, L"vpnbridge_x64.exe") ||
|
|
||||||
UniInStr(p->ExeFilenameW, L"vpnbridge_ia64.exe"))
|
|
||||||
{
|
{
|
||||||
b = true;
|
b = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UniInStr(p->ExeFilenameW, L"sevpnserver.exe") || UniInStr(p->ExeFilenameW, L"sevpnserver_x64.exe") ||
|
if (UniInStr(p->ExeFilenameW, L"sevpnserver.exe") || UniInStr(p->ExeFilenameW, L"sevpnbridge.exe"))
|
||||||
UniInStr(p->ExeFilenameW, L"sevpnserver_ia64.exe") ||
|
|
||||||
UniInStr(p->ExeFilenameW, L"sevpnbridge.exe") || UniInStr(p->ExeFilenameW, L"sevpnbridge_x64.exe") ||
|
|
||||||
UniInStr(p->ExeFilenameW, L"sevpnbridge_ia64.exe"))
|
|
||||||
{
|
{
|
||||||
b = true;
|
b = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UniInStr(p->ExeFilenameW, L"utvpnserver.exe") || UniInStr(p->ExeFilenameW, L"utvpnserver_x64.exe") ||
|
if (UniInStr(p->ExeFilenameW, L"utvpnserver.exe") || UniInStr(p->ExeFilenameW, L"utvpnbridge.exe"))
|
||||||
UniInStr(p->ExeFilenameW, L"utvpnserver_ia64.exe") ||
|
|
||||||
UniInStr(p->ExeFilenameW, L"utvpnbridge.exe") || UniInStr(p->ExeFilenameW, L"utvpnbridge_x64.exe") ||
|
|
||||||
UniInStr(p->ExeFilenameW, L"utvpnbridge_ia64.exe"))
|
|
||||||
{
|
{
|
||||||
b = true;
|
b = true;
|
||||||
}
|
}
|
||||||
|
158
src/Cedar/SW.c
158
src/Cedar/SW.c
@ -60,29 +60,20 @@ static SW_OLD_MSI old_msi_vpnbridge[] =
|
|||||||
static char *sfx_vpn_server_bridge_files[] =
|
static char *sfx_vpn_server_bridge_files[] =
|
||||||
{
|
{
|
||||||
"vpnsetup.exe",
|
"vpnsetup.exe",
|
||||||
"vpnsetup_x64.exe",
|
|
||||||
"vpnserver.exe",
|
"vpnserver.exe",
|
||||||
"vpnserver_x64.exe",
|
|
||||||
"vpnbridge.exe",
|
"vpnbridge.exe",
|
||||||
"vpnbridge_x64.exe",
|
|
||||||
"vpnsmgr.exe",
|
"vpnsmgr.exe",
|
||||||
"vpnsmgr_x64.exe",
|
|
||||||
"vpncmd.exe",
|
"vpncmd.exe",
|
||||||
"vpncmd_x64.exe",
|
|
||||||
"hamcore.se2",
|
"hamcore.se2",
|
||||||
};
|
};
|
||||||
static char *sfx_vpn_client_files[] =
|
static char *sfx_vpn_client_files[] =
|
||||||
{
|
{
|
||||||
"vpnsetup.exe",
|
"vpnsetup.exe",
|
||||||
"vpnsetup_x64.exe",
|
|
||||||
"vpnclient.exe",
|
"vpnclient.exe",
|
||||||
"vpnclient_x64.exe",
|
|
||||||
"vpncmgr.exe",
|
"vpncmgr.exe",
|
||||||
"vpncmgr_x64.exe",
|
|
||||||
"vpncmd.exe",
|
"vpncmd.exe",
|
||||||
"vpncmd_x64.exe",
|
//"vpninstall.exe",
|
||||||
"vpninstall.exe",
|
//"vpnweb.cab",
|
||||||
"vpnweb.cab",
|
|
||||||
"hamcore.se2",
|
"hamcore.se2",
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -141,7 +132,7 @@ bool SwCompileSfx(LIST *o, wchar_t *dst_filename)
|
|||||||
{
|
{
|
||||||
// Generate the setup.exe file in the Temp directory
|
// Generate the setup.exe file in the Temp directory
|
||||||
ConbinePathW(exe_filename, sizeof(exe_filename), MsGetMyTempDirW(), L"setup.exe");
|
ConbinePathW(exe_filename, sizeof(exe_filename), MsGetMyTempDirW(), L"setup.exe");
|
||||||
if (FileCopyW(L"|vpnsetup_nosign.exe", exe_filename))
|
if (FileCopyW(L"vpnsetup.exe", exe_filename))
|
||||||
{
|
{
|
||||||
// Resource updating start
|
// Resource updating start
|
||||||
HANDLE h = _BeginUpdateResourceW(exe_filename, false);
|
HANDLE h = _BeginUpdateResourceW(exe_filename, false);
|
||||||
@ -289,8 +280,6 @@ bool SwAddBasicFilesToList(LIST *o, char *component_name)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Add(o, SwNewSfxFile("install_src.dat", L"|install_src.dat"));
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1973,7 +1962,6 @@ void SwDeleteShortcuts(SW_LOGFILE *logfile)
|
|||||||
// Uninstall main
|
// Uninstall main
|
||||||
bool SwUninstallMain(SW *sw, WIZARD_PAGE *wp, SW_COMPONENT *c)
|
bool SwUninstallMain(SW *sw, WIZARD_PAGE *wp, SW_COMPONENT *c)
|
||||||
{
|
{
|
||||||
bool x64 = MsIs64BitWindows();
|
|
||||||
bool ok;
|
bool ok;
|
||||||
wchar_t tmp[MAX_SIZE];
|
wchar_t tmp[MAX_SIZE];
|
||||||
UINT i;
|
UINT i;
|
||||||
@ -2349,7 +2337,6 @@ LABEL_CLEANUP:
|
|||||||
void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
||||||
{
|
{
|
||||||
wchar_t tmp[MAX_SIZE];
|
wchar_t tmp[MAX_SIZE];
|
||||||
bool x64 = MsIs64BitWindows();
|
|
||||||
wchar_t src_setup_exe_fullpath[MAX_PATH];
|
wchar_t src_setup_exe_fullpath[MAX_PATH];
|
||||||
wchar_t src_setup_exe_dir[MAX_PATH];
|
wchar_t src_setup_exe_dir[MAX_PATH];
|
||||||
wchar_t src_setup_exe_filename[MAX_PATH];
|
wchar_t src_setup_exe_filename[MAX_PATH];
|
||||||
@ -2363,7 +2350,6 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
wchar_t dir_startup[MAX_PATH];
|
wchar_t dir_startup[MAX_PATH];
|
||||||
wchar_t tmp1[MAX_SIZE], tmp2[MAX_SIZE];
|
wchar_t tmp1[MAX_SIZE], tmp2[MAX_SIZE];
|
||||||
SW_TASK_COPY *setup_exe;
|
SW_TASK_COPY *setup_exe;
|
||||||
SW_TASK_COPY *setup_exe_x64;
|
|
||||||
// Validate arguments
|
// Validate arguments
|
||||||
if (sw == NULL || t == NULL || c == NULL)
|
if (sw == NULL || t == NULL || c == NULL)
|
||||||
{
|
{
|
||||||
@ -2402,10 +2388,6 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
Add(t->CopyTasks, (setup_exe = SwNewCopyTask(src_setup_exe_filename,
|
Add(t->CopyTasks, (setup_exe = SwNewCopyTask(src_setup_exe_filename,
|
||||||
L"vpnsetup.exe", src_setup_exe_dir, sw->InstallDir, true, true)));
|
L"vpnsetup.exe", src_setup_exe_dir, sw->InstallDir, true, true)));
|
||||||
|
|
||||||
// Add vpnsetup_x64.exe to the copy list
|
|
||||||
Add(t->CopyTasks, (setup_exe_x64 = SwNewCopyTask(L"vpnsetup_x64.exe",
|
|
||||||
L"vpnsetup_x64.exe", src_setup_exe_dir, sw->InstallDir, true, true)));
|
|
||||||
|
|
||||||
// Generate the file processing list for each component
|
// Generate the file processing list for each component
|
||||||
if (c->Id == SW_CMP_VPN_SERVER)
|
if (c->Id == SW_CMP_VPN_SERVER)
|
||||||
{
|
{
|
||||||
@ -2416,18 +2398,9 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
CombinePathW(tmp, sizeof(tmp), sw->InstallDir, L"backup.vpn_server.config");
|
CombinePathW(tmp, sizeof(tmp), sw->InstallDir, L"backup.vpn_server.config");
|
||||||
Add(t->SetSecurityPaths, CopyUniStr(tmp));
|
Add(t->SetSecurityPaths, CopyUniStr(tmp));
|
||||||
|
|
||||||
if (x64 == false)
|
vpnserver = SwNewCopyTask(L"vpnserver.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
{
|
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpnserver = SwNewCopyTask(L"vpnserver.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
vpnsmgr = SwNewCopyTask(L"vpnsmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnsmgr = SwNewCopyTask(L"vpnsmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vpnserver = SwNewCopyTask(L"vpnserver_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnsmgr = SwNewCopyTask(L"vpnsmgr_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
Add(t->CopyTasks, vpnserver);
|
Add(t->CopyTasks, vpnserver);
|
||||||
Add(t->CopyTasks, vpncmd);
|
Add(t->CopyTasks, vpncmd);
|
||||||
@ -2496,18 +2469,9 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
CombinePathW(tmp, sizeof(tmp), sw->InstallDir, L"backup.vpn_bridge.config");
|
CombinePathW(tmp, sizeof(tmp), sw->InstallDir, L"backup.vpn_bridge.config");
|
||||||
Add(t->SetSecurityPaths, CopyUniStr(tmp));
|
Add(t->SetSecurityPaths, CopyUniStr(tmp));
|
||||||
|
|
||||||
if (x64 == false)
|
vpnbridge = SwNewCopyTask(L"vpnbridge.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
{
|
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpnbridge = SwNewCopyTask(L"vpnbridge.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
vpnsmgr = SwNewCopyTask(L"vpnsmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnsmgr = SwNewCopyTask(L"vpnsmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vpnbridge = SwNewCopyTask(L"vpnbridge_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnsmgr = SwNewCopyTask(L"vpnsmgr_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
Add(t->CopyTasks, vpnbridge);
|
Add(t->CopyTasks, vpnbridge);
|
||||||
Add(t->CopyTasks, vpncmd);
|
Add(t->CopyTasks, vpncmd);
|
||||||
@ -2572,33 +2536,17 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
// VPN Client
|
// VPN Client
|
||||||
SW_TASK_COPY *ct;
|
SW_TASK_COPY *ct;
|
||||||
SW_TASK_COPY *vpnclient, *vpncmd, *vpncmgr;
|
SW_TASK_COPY *vpnclient, *vpncmd, *vpncmgr;
|
||||||
SW_TASK_COPY *vpnclient_gomi, *vpncmd_gomi, *vpncmgr_gomi;
|
|
||||||
SW_TASK_COPY *sfx_cache = NULL;
|
SW_TASK_COPY *sfx_cache = NULL;
|
||||||
SW_TASK_COPY *vpnweb;
|
//SW_TASK_COPY *vpnweb;
|
||||||
SW_TASK_COPY *vpninstall;
|
//SW_TASK_COPY *vpninstall;
|
||||||
wchar_t *src_config_filename;
|
wchar_t *src_config_filename;
|
||||||
|
|
||||||
CombinePathW(tmp, sizeof(tmp), sw->InstallDir, L"backup.vpn_client.config");
|
CombinePathW(tmp, sizeof(tmp), sw->InstallDir, L"backup.vpn_client.config");
|
||||||
Add(t->SetSecurityPaths, CopyUniStr(tmp));
|
Add(t->SetSecurityPaths, CopyUniStr(tmp));
|
||||||
|
|
||||||
if (x64 == false)
|
vpnclient = SwNewCopyTask(L"vpnclient.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
{
|
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpnclient = SwNewCopyTask(L"vpnclient.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
vpncmgr = SwNewCopyTask(L"vpncmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmgr = SwNewCopyTask(L"vpncmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnclient_gomi = SwNewCopyTask(L"vpnclient_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmd_gomi = SwNewCopyTask(L"vpncmd_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmgr_gomi = SwNewCopyTask(L"vpncmgr_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vpnclient = SwNewCopyTask(L"vpnclient_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmgr = SwNewCopyTask(L"vpncmgr_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnclient_gomi = SwNewCopyTask(L"vpnclient.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmd_gomi = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmgr_gomi = SwNewCopyTask(L"vpncmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (vpncmgr != NULL)
|
if (vpncmgr != NULL)
|
||||||
{
|
{
|
||||||
@ -2621,17 +2569,14 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vpnweb = SwNewCopyTask(L"vpnweb.cab", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
//vpnweb = SwNewCopyTask(L"vpnweb.cab", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpninstall = SwNewCopyTask(L"vpninstall.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
//vpninstall = SwNewCopyTask(L"vpninstall.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
|
|
||||||
Add(t->CopyTasks, vpnclient);
|
Add(t->CopyTasks, vpnclient);
|
||||||
Add(t->CopyTasks, vpncmd);
|
Add(t->CopyTasks, vpncmd);
|
||||||
Add(t->CopyTasks, vpncmgr);
|
Add(t->CopyTasks, vpncmgr);
|
||||||
Add(t->CopyTasks, vpnclient_gomi);
|
//Add(t->CopyTasks, vpnweb);
|
||||||
Add(t->CopyTasks, vpncmd_gomi);
|
//Add(t->CopyTasks, vpninstall);
|
||||||
Add(t->CopyTasks, vpncmgr_gomi);
|
|
||||||
Add(t->CopyTasks, vpnweb);
|
|
||||||
Add(t->CopyTasks, vpninstall);
|
|
||||||
|
|
||||||
|
|
||||||
if (sfx_cache != NULL)
|
if (sfx_cache != NULL)
|
||||||
@ -2713,16 +2658,8 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
// VPN Server Manager (Tools Only)
|
// VPN Server Manager (Tools Only)
|
||||||
SW_TASK_COPY *vpncmd, *vpnsmgr;
|
SW_TASK_COPY *vpncmd, *vpnsmgr;
|
||||||
|
|
||||||
if (x64 == false)
|
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
{
|
vpnsmgr = SwNewCopyTask(L"vpnsmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnsmgr = SwNewCopyTask(L"vpnsmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpnsmgr = SwNewCopyTask(L"vpnsmgr_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
Add(t->CopyTasks, vpncmd);
|
Add(t->CopyTasks, vpncmd);
|
||||||
Add(t->CopyTasks, vpnsmgr);
|
Add(t->CopyTasks, vpnsmgr);
|
||||||
@ -2749,16 +2686,8 @@ void SwDefineTasks(SW *sw, SW_TASK *t, SW_COMPONENT *c)
|
|||||||
// VPN Client Manager (Tools Only)
|
// VPN Client Manager (Tools Only)
|
||||||
SW_TASK_COPY *vpncmd, *vpncmgr;
|
SW_TASK_COPY *vpncmd, *vpncmgr;
|
||||||
|
|
||||||
if (x64 == false)
|
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
{
|
vpncmgr = SwNewCopyTask(L"vpncmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmgr = SwNewCopyTask(L"vpncmgr.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vpncmd = SwNewCopyTask(L"vpncmd_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
vpncmgr = SwNewCopyTask(L"vpncmgr_x64.exe", NULL, sw->InstallSrc, sw->InstallDir, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
Add(t->CopyTasks, vpncmd);
|
Add(t->CopyTasks, vpncmd);
|
||||||
Add(t->CopyTasks, vpncmgr);
|
Add(t->CopyTasks, vpncmgr);
|
||||||
@ -3044,7 +2973,6 @@ bool SwInstallMain(SW *sw, WIZARD_PAGE *wp, SW_COMPONENT *c)
|
|||||||
UINT i;
|
UINT i;
|
||||||
wchar_t tmp[MAX_SIZE * 2];
|
wchar_t tmp[MAX_SIZE * 2];
|
||||||
bool ok;
|
bool ok;
|
||||||
bool x64 = MsIs64BitWindows();
|
|
||||||
// Validate arguments
|
// Validate arguments
|
||||||
if (sw == NULL || wp == NULL || c == NULL)
|
if (sw == NULL || wp == NULL || c == NULL)
|
||||||
{
|
{
|
||||||
@ -3100,7 +3028,7 @@ bool SwInstallMain(SW *sw, WIZARD_PAGE *wp, SW_COMPONENT *c)
|
|||||||
void *proc_handle = NULL;
|
void *proc_handle = NULL;
|
||||||
wchar_t exe[MAX_PATH];
|
wchar_t exe[MAX_PATH];
|
||||||
|
|
||||||
CombinePathW(exe, sizeof(exe), MsGetExeDirNameW(), L"vpnsetup_x64.exe");
|
CombinePathW(exe, sizeof(exe), MsGetExeDirNameW(), L"vpnsetup.exe");
|
||||||
|
|
||||||
if (MsExecuteEx2W(exe, L"/SUINSTMODE:yes", &proc_handle, true))
|
if (MsExecuteEx2W(exe, L"/SUINSTMODE:yes", &proc_handle, true))
|
||||||
{
|
{
|
||||||
@ -3671,7 +3599,7 @@ LABEL_CREATE_SHORTCUT:
|
|||||||
// Run the vpncmd and exit immediately
|
// Run the vpncmd and exit immediately
|
||||||
wchar_t fullpath[MAX_PATH];
|
wchar_t fullpath[MAX_PATH];
|
||||||
|
|
||||||
ConbinePathW(fullpath, sizeof(fullpath), sw->InstallDir, (MsIsX64() ? L"vpncmd_x64.exe" : L"vpncmd.exe"));
|
ConbinePathW(fullpath, sizeof(fullpath), sw->InstallDir, (L"vpncmd.exe"));
|
||||||
|
|
||||||
RunW(fullpath, L"/?", true, false);
|
RunW(fullpath, L"/?", true, false);
|
||||||
}
|
}
|
||||||
@ -5633,13 +5561,6 @@ UINT SwWelcomeDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, WIZARD *wiz
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_WIZ_NEXT:
|
case WM_WIZ_NEXT:
|
||||||
if (IsFileExistsW(L"@install_src.dat") == false)
|
|
||||||
{
|
|
||||||
// Vpnsetup.exe is launched from other than the installation source
|
|
||||||
MsgBoxEx(hWnd, MB_ICONSTOP, _UU("SW_NOT_INSTALL_SRC"));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (MsIsKB3033929RequiredAndMissing())
|
if (MsIsKB3033929RequiredAndMissing())
|
||||||
{
|
{
|
||||||
// KB3033929 is missing
|
// KB3033929 is missing
|
||||||
@ -6112,49 +6033,34 @@ void SwDefineComponents(SW *sw)
|
|||||||
char *vpn_server_files[] =
|
char *vpn_server_files[] =
|
||||||
{
|
{
|
||||||
"vpnserver.exe",
|
"vpnserver.exe",
|
||||||
"vpnserver_x64.exe",
|
|
||||||
"vpnsmgr.exe",
|
"vpnsmgr.exe",
|
||||||
"vpnsmgr_x64.exe",
|
|
||||||
"vpncmd.exe",
|
"vpncmd.exe",
|
||||||
"vpncmd_x64.exe",
|
|
||||||
"hamcore.se2",
|
"hamcore.se2",
|
||||||
};
|
};
|
||||||
char *vpn_client_files[] =
|
char *vpn_client_files[] =
|
||||||
{
|
{
|
||||||
"vpnclient.exe",
|
"vpnclient.exe",
|
||||||
"vpnclient_x64.exe",
|
|
||||||
"vpncmgr.exe",
|
"vpncmgr.exe",
|
||||||
"vpncmgr_x64.exe",
|
|
||||||
"vpncmd.exe",
|
"vpncmd.exe",
|
||||||
"vpncmd_x64.exe",
|
|
||||||
"hamcore.se2",
|
"hamcore.se2",
|
||||||
"vpninstall.exe",
|
|
||||||
"vpnweb.cab",
|
|
||||||
};
|
};
|
||||||
char *vpn_bridge_files[] =
|
char *vpn_bridge_files[] =
|
||||||
{
|
{
|
||||||
"vpnbridge.exe",
|
"vpnbridge.exe",
|
||||||
"vpnbridge_x64.exe",
|
|
||||||
"vpnsmgr.exe",
|
"vpnsmgr.exe",
|
||||||
"vpnsmgr_x64.exe",
|
|
||||||
"vpncmd.exe",
|
"vpncmd.exe",
|
||||||
"vpncmd_x64.exe",
|
|
||||||
"hamcore.se2",
|
"hamcore.se2",
|
||||||
};
|
};
|
||||||
char *vpn_smgr_files[] =
|
char *vpn_smgr_files[] =
|
||||||
{
|
{
|
||||||
"vpnsmgr.exe",
|
"vpnsmgr.exe",
|
||||||
"vpnsmgr_x64.exe",
|
|
||||||
"vpncmd.exe",
|
"vpncmd.exe",
|
||||||
"vpncmd_x64.exe",
|
|
||||||
"hamcore.se2",
|
"hamcore.se2",
|
||||||
};
|
};
|
||||||
char *vpn_cmgr_files[] =
|
char *vpn_cmgr_files[] =
|
||||||
{
|
{
|
||||||
"vpncmgr.exe",
|
"vpncmgr.exe",
|
||||||
"vpncmgr_x64.exe",
|
|
||||||
"vpncmd.exe",
|
"vpncmd.exe",
|
||||||
"vpncmd_x64.exe",
|
|
||||||
"hamcore.se2",
|
"hamcore.se2",
|
||||||
};
|
};
|
||||||
// Validate arguments
|
// Validate arguments
|
||||||
@ -6164,16 +6070,16 @@ void SwDefineComponents(SW *sw)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// VPN Server
|
// VPN Server
|
||||||
c = SwNewComponent(SW_NAME_VPNSERVER, GC_SVC_NAME_VPNSERVER, SW_CMP_VPN_SERVER, ICO_VPNSERVER, 5, (MsIsX64() ? L"vpnserver_x64.exe" : L"vpnserver.exe"),
|
c = SwNewComponent(SW_NAME_VPNSERVER, GC_SVC_NAME_VPNSERVER, SW_CMP_VPN_SERVER, ICO_VPNSERVER, 5, L"vpnserver.exe",
|
||||||
SW_LONG_VPNSERVER, false, sizeof(vpn_server_files) / sizeof(char *), vpn_server_files,
|
SW_LONG_VPNSERVER, false, sizeof(vpn_server_files) / sizeof(char *), vpn_server_files,
|
||||||
(MsIsX64() ? L"vpnsmgr_x64.exe" : L"vpnsmgr.exe"), _UU("SW_RUN_TEXT_VPNSMGR"),
|
L"vpnsmgr.exe", _UU("SW_RUN_TEXT_VPNSMGR"),
|
||||||
old_msi_vpnserver, sizeof(old_msi_vpnserver) / sizeof(SW_OLD_MSI));
|
old_msi_vpnserver, sizeof(old_msi_vpnserver) / sizeof(SW_OLD_MSI));
|
||||||
Add(sw->ComponentList, c);
|
Add(sw->ComponentList, c);
|
||||||
|
|
||||||
// VPN Client
|
// VPN Client
|
||||||
c = SwNewComponent(SW_NAME_VPNCLIENT, GC_SVC_NAME_VPNCLIENT, SW_CMP_VPN_CLIENT, ICO_VPN, 6, (MsIsX64() ? L"vpnclient_x64.exe" : L"vpnclient.exe"),
|
c = SwNewComponent(SW_NAME_VPNCLIENT, GC_SVC_NAME_VPNCLIENT, SW_CMP_VPN_CLIENT, ICO_VPN, 6, L"vpnclient.exe",
|
||||||
SW_LONG_VPNCLIENT, true, sizeof(vpn_client_files) / sizeof(char *), vpn_client_files,
|
SW_LONG_VPNCLIENT, true, sizeof(vpn_client_files) / sizeof(char *), vpn_client_files,
|
||||||
(MsIsX64() ? L"vpncmgr_x64.exe" : L"vpncmgr.exe"), _UU("SW_RUN_TEXT_VPNCMGR"),
|
L"vpncmgr.exe", _UU("SW_RUN_TEXT_VPNCMGR"),
|
||||||
old_msi_vpnclient, sizeof(old_msi_vpnclient) / sizeof(SW_OLD_MSI));
|
old_msi_vpnclient, sizeof(old_msi_vpnclient) / sizeof(SW_OLD_MSI));
|
||||||
|
|
||||||
#ifdef GC_ENABLE_VPNGATE
|
#ifdef GC_ENABLE_VPNGATE
|
||||||
@ -6182,23 +6088,23 @@ void SwDefineComponents(SW *sw)
|
|||||||
Add(sw->ComponentList, c);
|
Add(sw->ComponentList, c);
|
||||||
|
|
||||||
// VPN Bridge
|
// VPN Bridge
|
||||||
c = SwNewComponent(SW_NAME_VPNBRIDGE, GC_SVC_NAME_VPNBRIDGE, SW_CMP_VPN_BRIDGE, ICO_CASCADE, 7, (MsIsX64() ? L"vpnbridge_x64.exe" : L"vpnbridge.exe"),
|
c = SwNewComponent(SW_NAME_VPNBRIDGE, GC_SVC_NAME_VPNBRIDGE, SW_CMP_VPN_BRIDGE, ICO_CASCADE, 7, L"vpnbridge.exe",
|
||||||
SW_LONG_VPNBRIDGE, false, sizeof(vpn_bridge_files) / sizeof(char *), vpn_bridge_files,
|
SW_LONG_VPNBRIDGE, false, sizeof(vpn_bridge_files) / sizeof(char *), vpn_bridge_files,
|
||||||
(MsIsX64() ? L"vpnsmgr_x64.exe" : L"vpnsmgr.exe"), _UU("SW_RUN_TEXT_VPNSMGR"),
|
L"vpnsmgr.exe", _UU("SW_RUN_TEXT_VPNSMGR"),
|
||||||
old_msi_vpnbridge, sizeof(old_msi_vpnbridge) / sizeof(SW_OLD_MSI));
|
old_msi_vpnbridge, sizeof(old_msi_vpnbridge) / sizeof(SW_OLD_MSI));
|
||||||
Add(sw->ComponentList, c);
|
Add(sw->ComponentList, c);
|
||||||
|
|
||||||
// VPN Server Manager (Tools Only)
|
// VPN Server Manager (Tools Only)
|
||||||
c = SwNewComponent(SW_NAME_VPNSMGR, NULL, SW_CMP_VPN_SMGR, ICO_USER_ADMIN, 8, NULL,
|
c = SwNewComponent(SW_NAME_VPNSMGR, NULL, SW_CMP_VPN_SMGR, ICO_USER_ADMIN, 8, NULL,
|
||||||
SW_LONG_VPNSMGR, false, sizeof(vpn_smgr_files) / sizeof(char *), vpn_smgr_files,
|
SW_LONG_VPNSMGR, false, sizeof(vpn_smgr_files) / sizeof(char *), vpn_smgr_files,
|
||||||
(MsIsX64() ? L"vpnsmgr_x64.exe" : L"vpnsmgr.exe"), _UU("SW_RUN_TEXT_VPNSMGR"),
|
L"vpnsmgr.exe", _UU("SW_RUN_TEXT_VPNSMGR"),
|
||||||
NULL, 0);
|
NULL, 0);
|
||||||
Add(sw->ComponentList, c);
|
Add(sw->ComponentList, c);
|
||||||
|
|
||||||
// VPN Client Manager (Tools Only)
|
// VPN Client Manager (Tools Only)
|
||||||
c = SwNewComponent(SW_NAME_VPNCMGR, NULL, SW_CMP_VPN_CMGR, ICO_INTERNET, 9, NULL,
|
c = SwNewComponent(SW_NAME_VPNCMGR, NULL, SW_CMP_VPN_CMGR, ICO_INTERNET, 9, NULL,
|
||||||
SW_LONG_VPNCMGR, false, sizeof(vpn_cmgr_files) / sizeof(char *), vpn_cmgr_files,
|
SW_LONG_VPNCMGR, false, sizeof(vpn_cmgr_files) / sizeof(char *), vpn_cmgr_files,
|
||||||
(MsIsX64() ? L"vpncmgr_x64.exe /remote" : L"vpncmgr.exe /remote"), _UU("SW_RUN_TEXT_VPNCMGR"),
|
L"vpncmgr.exe /remote", _UU("SW_RUN_TEXT_VPNCMGR"),
|
||||||
NULL, 0);
|
NULL, 0);
|
||||||
Add(sw->ComponentList, c);
|
Add(sw->ComponentList, c);
|
||||||
}
|
}
|
||||||
|
@ -1842,25 +1842,12 @@ void RegistWindowsFirewallAll()
|
|||||||
void RegistWindowsFirewallAllEx(char *dir)
|
void RegistWindowsFirewallAllEx(char *dir)
|
||||||
{
|
{
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_CLIENT_STR, "vpnclient.exe", dir);
|
MsRegistWindowsFirewallEx2(CEDAR_CLIENT_STR, "vpnclient.exe", dir);
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_CLIENT_STR, "vpnclient_x64.exe", dir);
|
|
||||||
|
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_CLIENT_MANAGER_STR, "vpncmgr.exe", dir);
|
MsRegistWindowsFirewallEx2(CEDAR_CLIENT_MANAGER_STR, "vpncmgr.exe", dir);
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_CLIENT_MANAGER_STR, "vpncmgr_x64.exe", dir);
|
|
||||||
|
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_MANAGER_STR, "vpnsmgr.exe", dir);
|
MsRegistWindowsFirewallEx2(CEDAR_MANAGER_STR, "vpnsmgr.exe", dir);
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_MANAGER_STR, "vpnsmgr_x64.exe", dir);
|
|
||||||
|
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_SERVER_STR, "vpnserver.exe", dir);
|
MsRegistWindowsFirewallEx2(CEDAR_SERVER_STR, "vpnserver.exe", dir);
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_SERVER_STR, "vpnserver_x64.exe", dir);
|
|
||||||
|
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_BRIDGE_STR, "vpnbridge.exe", dir);
|
MsRegistWindowsFirewallEx2(CEDAR_BRIDGE_STR, "vpnbridge.exe", dir);
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_BRIDGE_STR, "vpnbridge_x64.exe", dir);
|
|
||||||
|
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_CUI_STR, "vpncmd.exe", dir);
|
MsRegistWindowsFirewallEx2(CEDAR_CUI_STR, "vpncmd.exe", dir);
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_CUI_STR, "vpncmd_x64.exe", dir);
|
|
||||||
|
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_PRODUCT_STR, "vpntest.exe", dir);
|
MsRegistWindowsFirewallEx2(CEDAR_PRODUCT_STR, "vpntest.exe", dir);
|
||||||
MsRegistWindowsFirewallEx2(CEDAR_PRODUCT_STR, "vpntest_x64.exe", dir);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check whether the notification service is already running
|
// Check whether the notification service is already running
|
||||||
@ -10125,11 +10112,11 @@ void InitWinUi(wchar_t *software_name, char *font, UINT fontsize)
|
|||||||
{
|
{
|
||||||
if (Is64())
|
if (Is64())
|
||||||
{
|
{
|
||||||
hDll = MsLoadLibraryAsDataFile(MsGetPenCoreDllFileName());
|
hDll = MsLoadLibraryAsDataFile(PENCORE_DLL_NAME);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hDll = MsLoadLibrary(MsGetPenCoreDllFileName());
|
hDll = MsLoadLibrary(PENCORE_DLL_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hDll == NULL)
|
if (hDll == NULL)
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#endif // WINDOWS_H
|
#endif // WINDOWS_H
|
||||||
|
|
||||||
|
|
||||||
#if !defined(ENCRYPT_C) && !defined(HAM_C)
|
#if !defined(ENCRYPT_C)
|
||||||
// Structure which is used by OpenSSL
|
// Structure which is used by OpenSSL
|
||||||
typedef struct x509_st X509;
|
typedef struct x509_st X509;
|
||||||
typedef struct evp_pkey_st EVP_PKEY;
|
typedef struct evp_pkey_st EVP_PKEY;
|
||||||
|
@ -12,11 +12,7 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
// PenCore.dll related
|
|
||||||
#define PENCORE_DLL_NAME "|PenCore.dll"
|
#define PENCORE_DLL_NAME "|PenCore.dll"
|
||||||
// #define PENCORE_DLL_NAME_X64 "|PenCore_x64.dll" // commonized to x86
|
|
||||||
// #define PENCORE_DLL_NAME_IA64 "|PenCore_ia64.dll" // commonized to x86
|
|
||||||
|
|
||||||
|
|
||||||
//#define USE_PROBE // Use Probe
|
//#define USE_PROBE // Use Probe
|
||||||
|
|
||||||
|
@ -2098,7 +2098,6 @@ bool MsExecDriverInstaller(char *arg)
|
|||||||
HANDLE h;
|
HANDLE h;
|
||||||
UINT retcode;
|
UINT retcode;
|
||||||
SHELLEXECUTEINFOW info;
|
SHELLEXECUTEINFOW info;
|
||||||
wchar_t *src_exe;
|
|
||||||
wchar_t *arg_w;
|
wchar_t *arg_w;
|
||||||
// Validate arguments
|
// Validate arguments
|
||||||
if (arg == NULL)
|
if (arg == NULL)
|
||||||
@ -2110,20 +2109,9 @@ bool MsExecDriverInstaller(char *arg)
|
|||||||
UniFormat(hamcore_src, sizeof(hamcore_src), L"%s\\hamcore.se2", MsGetExeDirNameW());
|
UniFormat(hamcore_src, sizeof(hamcore_src), L"%s\\hamcore.se2", MsGetExeDirNameW());
|
||||||
|
|
||||||
// Extract the File
|
// Extract the File
|
||||||
src_exe = VISTA_DRIVER_INSTALLER_SRC;
|
|
||||||
|
|
||||||
if (MsIsX64())
|
|
||||||
{
|
|
||||||
src_exe = VISTA_DRIVER_INSTALLER_SRC_X64;
|
|
||||||
}
|
|
||||||
if (MsIsIA64())
|
|
||||||
{
|
|
||||||
src_exe = VISTA_DRIVER_INSTALLER_SRC_IA64;
|
|
||||||
}
|
|
||||||
|
|
||||||
UniFormat(tmp, sizeof(tmp), VISTA_DRIVER_INSTALLER_DST, MsGetMyTempDirW());
|
UniFormat(tmp, sizeof(tmp), VISTA_DRIVER_INSTALLER_DST, MsGetMyTempDirW());
|
||||||
|
|
||||||
if (FileCopyW(src_exe, tmp) == false)
|
if (FileCopyW(VISTA_DRIVER_INSTALLER_SRC, tmp) == false)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -3938,26 +3926,6 @@ LRESULT CALLBACK MsUserModeWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM
|
|||||||
return DefWindowProc(hWnd, msg, wParam, lParam);
|
return DefWindowProc(hWnd, msg, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the name of PenCore.dll
|
|
||||||
char *MsGetPenCoreDllFileName()
|
|
||||||
{
|
|
||||||
/*if (Is64())
|
|
||||||
{
|
|
||||||
if (IsX64())
|
|
||||||
{
|
|
||||||
return PENCORE_DLL_NAME_X64;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return PENCORE_DLL_NAME_IA64;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else*/
|
|
||||||
{
|
|
||||||
return PENCORE_DLL_NAME;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get whether this instance is in user mode
|
// Get whether this instance is in user mode
|
||||||
bool MsIsUserMode()
|
bool MsIsUserMode()
|
||||||
{
|
{
|
||||||
@ -4304,11 +4272,11 @@ void MsUserModeW(wchar_t *title, SERVICE_FUNCTION *start, SERVICE_FUNCTION *stop
|
|||||||
|
|
||||||
if (Is64())
|
if (Is64())
|
||||||
{
|
{
|
||||||
hDll = MsLoadLibraryAsDataFile(MsGetPenCoreDllFileName());
|
hDll = MsLoadLibraryAsDataFile(PENCORE_DLL_NAME);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hDll = MsLoadLibrary(MsGetPenCoreDllFileName());
|
hDll = MsLoadLibrary(PENCORE_DLL_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read icon
|
// Read icon
|
||||||
@ -4877,15 +4845,7 @@ UINT MsService(char *name, SERVICE_FUNCTION *start, SERVICE_FUNCTION *stop, UINT
|
|||||||
wchar_t filename[MAX_PATH];
|
wchar_t filename[MAX_PATH];
|
||||||
|
|
||||||
UniFormat(filename, sizeof(filename), L"\"%s\"", arg_w);
|
UniFormat(filename, sizeof(filename), L"\"%s\"", arg_w);
|
||||||
|
UniFormat(vpncmgr, sizeof(vpncmgr), L"%s\\vpncmgr.exe", MsGetExeDirNameW());
|
||||||
if (Is64() == false)
|
|
||||||
{
|
|
||||||
UniFormat(vpncmgr, sizeof(vpncmgr), L"%s\\vpncmgr.exe", MsGetExeDirNameW());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UniFormat(vpncmgr, sizeof(vpncmgr), L"%s\\vpncmgr_x64.exe", MsGetExeDirNameW());
|
|
||||||
}
|
|
||||||
|
|
||||||
RunW(vpncmgr, filename, false, false);
|
RunW(vpncmgr, filename, false, false);
|
||||||
}
|
}
|
||||||
|
@ -133,10 +133,8 @@ typedef void *HWND;
|
|||||||
|
|
||||||
|
|
||||||
// Vista driver installer related
|
// Vista driver installer related
|
||||||
#define VISTA_DRIVER_INSTALLER_SRC L"|driver_installer.exe"
|
#define VISTA_DRIVER_INSTALLER_SRC L"|vpndrvinst.exe"
|
||||||
#define VISTA_DRIVER_INSTALLER_SRC_X64 L"|driver_installer_x64.exe"
|
#define VISTA_DRIVER_INSTALLER_DST L"%s\\vpndrvinst.exe"
|
||||||
#define VISTA_DRIVER_INSTALLER_SRC_IA64 L"|driver_installer_ia64.exe"
|
|
||||||
#define VISTA_DRIVER_INSTALLER_DST L"%s\\driver_installer.exe"
|
|
||||||
|
|
||||||
#define DRIVER_DEVICE_ID_TAG "NeoAdapter_%s"
|
#define DRIVER_DEVICE_ID_TAG "NeoAdapter_%s"
|
||||||
|
|
||||||
@ -741,7 +739,6 @@ void MsServiceMode(SERVICE_FUNCTION *start, SERVICE_FUNCTION *stop);
|
|||||||
void MsUserModeW(wchar_t *title, SERVICE_FUNCTION *start, SERVICE_FUNCTION *stop, UINT icon);
|
void MsUserModeW(wchar_t *title, SERVICE_FUNCTION *start, SERVICE_FUNCTION *stop, UINT icon);
|
||||||
bool MsIsUserMode();
|
bool MsIsUserMode();
|
||||||
void MsTestOnly();
|
void MsTestOnly();
|
||||||
char *MsGetPenCoreDllFileName();
|
|
||||||
void MsPlaySound(char *name);
|
void MsPlaySound(char *name);
|
||||||
void MsSetThreadSingleCpu();
|
void MsSetThreadSingleCpu();
|
||||||
void MsWin9xTest();
|
void MsWin9xTest();
|
||||||
|
@ -1 +0,0 @@
|
|||||||
TanakaJiro!!!
|
|
@ -7178,7 +7178,6 @@ SW_DIR_DST_IS_SYSTEM_MODE 同样的软件已经在指定目录中以系统模
|
|||||||
SW_DIR_DST_IS_USER_MODE 同样的软件已经在指定目录中以用户模式安装。\r\n\r\n请指定另外一个目录。
|
SW_DIR_DST_IS_USER_MODE 同样的软件已经在指定目录中以用户模式安装。\r\n\r\n请指定另外一个目录。
|
||||||
SW_SYSTEM_MODE_ALREADY_INSTALLED 本软件 "%s" 以系统模式被安装在这台电脑上。\r\n\r\n同样的软件以用户模式和系统模式安装在同一台电脑上会发生冲突。\r\n\r\n您确定要以用户模式继续进行安装?
|
SW_SYSTEM_MODE_ALREADY_INSTALLED 本软件 "%s" 以系统模式被安装在这台电脑上。\r\n\r\n同样的软件以用户模式和系统模式安装在同一台电脑上会发生冲突。\r\n\r\n您确定要以用户模式继续进行安装?
|
||||||
|
|
||||||
SW_NOT_INSTALL_SRC 安装程序已在一个外部的安装源执行。\r\n\r\n不能再继续安装。
|
|
||||||
SW_SETUPLOG_CORRUPTED "setuplog.dat" 文件已被破坏。
|
SW_SETUPLOG_CORRUPTED "setuplog.dat" 文件已被破坏。
|
||||||
SW_MSI_UNINSTALL_FAILED 之前的版本 %s (产品号: "%S")已安装。 Windows安装工具卸载旧版本失败。\r\n\r\n请您手动卸载并且重启本安装工具。
|
SW_MSI_UNINSTALL_FAILED 之前的版本 %s (产品号: "%S")已安装。 Windows安装工具卸载旧版本失败。\r\n\r\n请您手动卸载并且重启本安装工具。
|
||||||
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows 安装工具已经卸载旧版本 %s。请重启电脑。\r\n\r\n点击结束按钮并且手动重启电脑,然后在电脑重启后,重启本安装工具。
|
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows 安装工具已经卸载旧版本 %s。请重启电脑。\r\n\r\n点击结束按钮并且手动重启电脑,然后在电脑重启后,重启本安装工具。
|
||||||
|
@ -7171,7 +7171,6 @@ SW_DIR_DST_IS_SYSTEM_MODE The same software is already installed on the spec
|
|||||||
SW_DIR_DST_IS_USER_MODE The same software is already installed on the specified directory as the User Mode.\r\n\r\nPlease specify another directory.
|
SW_DIR_DST_IS_USER_MODE The same software is already installed on the specified directory as the User Mode.\r\n\r\nPlease specify another directory.
|
||||||
SW_SYSTEM_MODE_ALREADY_INSTALLED The software "%s" is already installed on this computer as the System Mode.\r\n\r\nBoth the System Mode and the User Mode installation of the same software on the same computer will conflict.\r\n\r\nDo you really want to continue the installation as the User Mode?
|
SW_SYSTEM_MODE_ALREADY_INSTALLED The software "%s" is already installed on this computer as the System Mode.\r\n\r\nBoth the System Mode and the User Mode installation of the same software on the same computer will conflict.\r\n\r\nDo you really want to continue the installation as the User Mode?
|
||||||
|
|
||||||
SW_NOT_INSTALL_SRC The setup program has been executed from outside an install source.\r\n\r\nUnable to continue the installation.
|
|
||||||
SW_SETUPLOG_CORRUPTED The "setuplog.dat" file is broken.
|
SW_SETUPLOG_CORRUPTED The "setuplog.dat" file is broken.
|
||||||
SW_MSI_UNINSTALL_FAILED The older version of %s (Product Code: "%S") is installed. Windows Installer failed to uninstall this older version.\r\n\r\nPlease uninstall this older version manually and restart this installer again.
|
SW_MSI_UNINSTALL_FAILED The older version of %s (Product Code: "%S") is installed. Windows Installer failed to uninstall this older version.\r\n\r\nPlease uninstall this older version manually and restart this installer again.
|
||||||
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows Installer has uninstalled the older version of %s. The reboot of computer is required.\r\n\r\nPress Finish button and reboot the computer MANUALLY, and restart this installer after the reboot.
|
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows Installer has uninstalled the older version of %s. The reboot of computer is required.\r\n\r\nPress Finish button and reboot the computer MANUALLY, and restart this installer after the reboot.
|
||||||
|
@ -7173,7 +7173,6 @@ SW_DIR_DST_IS_SYSTEM_MODE 指定されたディレクトリにはすでに
|
|||||||
SW_DIR_DST_IS_USER_MODE 指定されたディレクトリにはすでに本ソフトウェアがユーザーモードでインストールされています。\r\n\r\n別のディレクトリを指定してください。
|
SW_DIR_DST_IS_USER_MODE 指定されたディレクトリにはすでに本ソフトウェアがユーザーモードでインストールされています。\r\n\r\n別のディレクトリを指定してください。
|
||||||
SW_SYSTEM_MODE_ALREADY_INSTALLED ソフトウェア 「%s」 はすでにこのコンピュータにシステムモードでインストールされています。\r\n\r\n同一コンピュータに同一コンポーネントをシステムモードとユーザーモードの両方でインストールする場合は競合が発生する場合があります。\r\n\r\n本当にユーザーモードでインストールを実行しますか?
|
SW_SYSTEM_MODE_ALREADY_INSTALLED ソフトウェア 「%s」 はすでにこのコンピュータにシステムモードでインストールされています。\r\n\r\n同一コンピュータに同一コンポーネントをシステムモードとユーザーモードの両方でインストールする場合は競合が発生する場合があります。\r\n\r\n本当にユーザーモードでインストールを実行しますか?
|
||||||
|
|
||||||
SW_NOT_INSTALL_SRC セットアッププログラムがインストールソース以外から起動されました。\r\n\r\nインストールを続行できません。
|
|
||||||
SW_SETUPLOG_CORRUPTED setuplog.dat ファイルが破損しています。
|
SW_SETUPLOG_CORRUPTED setuplog.dat ファイルが破損しています。
|
||||||
SW_MSI_UNINSTALL_FAILED %s の古いバージョン (製品コード: "%S") を Windows Installer でアンインストールしようとしましたが、アンインストールに失敗しました。\r\n\r\nこのバージョンを手動でアンインストールしてから、再度このインストーラを起動してください。
|
SW_MSI_UNINSTALL_FAILED %s の古いバージョン (製品コード: "%S") を Windows Installer でアンインストールしようとしましたが、アンインストールに失敗しました。\r\n\r\nこのバージョンを手動でアンインストールしてから、再度このインストーラを起動してください。
|
||||||
SW_MSI_UNINSTALL_REBOOT_REQUIRED %s の古いバージョンを Windows Installer でアンインストールしました。コンピュータの再起動が必要です。\r\n\r\n「完了」をクリックしてから手動でコンピュータを再起動し、その後もう一度このインストーラを起動してください。
|
SW_MSI_UNINSTALL_REBOOT_REQUIRED %s の古いバージョンを Windows Installer でアンインストールしました。コンピュータの再起動が必要です。\r\n\r\n「完了」をクリックしてから手動でコンピュータを再起動し、その後もう一度このインストーラを起動してください。
|
||||||
|
@ -7149,7 +7149,6 @@ SW_DIR_DST_IS_SYSTEM_MODE 지정된 디렉토리에 이미 소프트웨어가
|
|||||||
SW_DIR_DST_IS_USER_MODE 지정된 디렉토리에 이미 소프트웨어가 사용자 모드로 설치되어 있습니다. \r\n\r\n 다른 디렉토리를 지정하십시오.
|
SW_DIR_DST_IS_USER_MODE 지정된 디렉토리에 이미 소프트웨어가 사용자 모드로 설치되어 있습니다. \r\n\r\n 다른 디렉토리를 지정하십시오.
|
||||||
SW_SYSTEM_MODE_ALREADY_INSTALLED 소프트웨어 '%s'는 이미이 컴퓨터 시스템 모드로 설치되어 있습니다. \r\n\r\n 동일한 컴퓨터에 동일한 구성 요소를 시스템 모드와 사용자 모드에서 설치하는 경우 충돌이 발생할 수 있습니다. \r\n\r\n 정말 사용자 모드에서 설치를 실행 하시겠습니까?
|
SW_SYSTEM_MODE_ALREADY_INSTALLED 소프트웨어 '%s'는 이미이 컴퓨터 시스템 모드로 설치되어 있습니다. \r\n\r\n 동일한 컴퓨터에 동일한 구성 요소를 시스템 모드와 사용자 모드에서 설치하는 경우 충돌이 발생할 수 있습니다. \r\n\r\n 정말 사용자 모드에서 설치를 실행 하시겠습니까?
|
||||||
|
|
||||||
SW_NOT_INSTALL_SRC 설치 프로그램이 설치 소스 이외에서 시작되었습니다. \r\n\r\n 설치를 계속할 수 없습니다.
|
|
||||||
SW_SETUPLOG_CORRUPTED setuplog.dat 파일이 손상되어 있습니다.
|
SW_SETUPLOG_CORRUPTED setuplog.dat 파일이 손상되어 있습니다.
|
||||||
SW_MSI_UNINSTALL_FAILED %s의 이전 버전 (제품 코드:"%S")을 Windows Installer에서 제거하려고했지만 제거에 실패했습니다. \r\n\r\n이 버전을 수동으로 제거하고 다시 설치 프로그램을 시작하십시오.
|
SW_MSI_UNINSTALL_FAILED %s의 이전 버전 (제품 코드:"%S")을 Windows Installer에서 제거하려고했지만 제거에 실패했습니다. \r\n\r\n이 버전을 수동으로 제거하고 다시 설치 프로그램을 시작하십시오.
|
||||||
SW_MSI_UNINSTALL_REBOOT_REQUIRED %s의 이전 버전을 Windows Installer에서 제거했습니다. 컴퓨터를 다시 시작해야합니다. \r\n\r\n "완료"를 클릭하여 수동으로 컴퓨터를 다시 시작한 다음 다시 설치 프로그램을 시작하십시오.
|
SW_MSI_UNINSTALL_REBOOT_REQUIRED %s의 이전 버전을 Windows Installer에서 제거했습니다. 컴퓨터를 다시 시작해야합니다. \r\n\r\n "완료"를 클릭하여 수동으로 컴퓨터를 다시 시작한 다음 다시 설치 프로그램을 시작하십시오.
|
||||||
|
@ -6897,7 +6897,7 @@ SW_DIR_DST_IS_BROKEN Unable to read a file "%s" which is on the specified direct
|
|||||||
SW_DIR_DST_IS_SYSTEM_MODE The same software is already installed on the specified directory as the System Mode.\r\n\r\nPlease specify another directory.
|
SW_DIR_DST_IS_SYSTEM_MODE The same software is already installed on the specified directory as the System Mode.\r\n\r\nPlease specify another directory.
|
||||||
SW_DIR_DST_IS_USER_MODE The same software is already installed on the specified directory as the User Mode.\r\n\r\nPlease specify another directory.
|
SW_DIR_DST_IS_USER_MODE The same software is already installed on the specified directory as the User Mode.\r\n\r\nPlease specify another directory.
|
||||||
SW_SYSTEM_MODE_ALREADY_INSTALLED The software "%s" is already installed on this computer as the System Mode.\r\n\r\nBoth the System Mode and the User Mode installation of the same software on the same computer will conflict.\r\n\r\nDo you really want to continue the installation as the User Mode?
|
SW_SYSTEM_MODE_ALREADY_INSTALLED The software "%s" is already installed on this computer as the System Mode.\r\n\r\nBoth the System Mode and the User Mode installation of the same software on the same computer will conflict.\r\n\r\nDo you really want to continue the installation as the User Mode?
|
||||||
SW_NOT_INSTALL_SRC The setup program has been executed from outside an install source.\r\n\r\nUnable to continue the installation.
|
|
||||||
SW_SETUPLOG_CORRUPTED The "setuplog.dat" file is broken.
|
SW_SETUPLOG_CORRUPTED The "setuplog.dat" file is broken.
|
||||||
SW_MSI_UNINSTALL_FAILED The older version of %s (Product Code: "%S") is installed. Windows Installer failed to uninstall this older version.\r\n\r\nPlease uninstall this older version manually and restart this installer again.
|
SW_MSI_UNINSTALL_FAILED The older version of %s (Product Code: "%S") is installed. Windows Installer failed to uninstall this older version.\r\n\r\nPlease uninstall this older version manually and restart this installer again.
|
||||||
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows Installer has uninstalled the older version of %s. The reboot of computer is required.\r\n\r\nPress Finish button and reboot the computer MANUALLY, and restart this installer after the reboot.
|
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows Installer has uninstalled the older version of %s. The reboot of computer is required.\r\n\r\nPress Finish button and reboot the computer MANUALLY, and restart this installer after the reboot.
|
||||||
|
@ -7158,7 +7158,6 @@ SW_DIR_DST_IS_SYSTEM_MODE The same software is already installed on the spec
|
|||||||
SW_DIR_DST_IS_USER_MODE The same software is already installed on the specified directory as the User Mode.\r\n\r\nPlease specify another directory.
|
SW_DIR_DST_IS_USER_MODE The same software is already installed on the specified directory as the User Mode.\r\n\r\nPlease specify another directory.
|
||||||
SW_SYSTEM_MODE_ALREADY_INSTALLED The software "%s" is already installed on this computer as the System Mode.\r\n\r\nBoth the System Mode and the User Mode installation of the same software on the same computer will conflict.\r\n\r\nDo you really want to continue the installation as the User Mode?
|
SW_SYSTEM_MODE_ALREADY_INSTALLED The software "%s" is already installed on this computer as the System Mode.\r\n\r\nBoth the System Mode and the User Mode installation of the same software on the same computer will conflict.\r\n\r\nDo you really want to continue the installation as the User Mode?
|
||||||
|
|
||||||
SW_NOT_INSTALL_SRC The setup program has been executed from outside an install source.\r\n\r\nUnable to continue the installation.
|
|
||||||
SW_SETUPLOG_CORRUPTED The "setuplog.dat" file is broken.
|
SW_SETUPLOG_CORRUPTED The "setuplog.dat" file is broken.
|
||||||
SW_MSI_UNINSTALL_FAILED The older version of %s (Product Code: "%S") is installed. Windows Installer failed to uninstall this older version.\r\n\r\nPlease uninstall this older version manually and restart this installer again.
|
SW_MSI_UNINSTALL_FAILED The older version of %s (Product Code: "%S") is installed. Windows Installer failed to uninstall this older version.\r\n\r\nPlease uninstall this older version manually and restart this installer again.
|
||||||
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows Installer has uninstalled the older version of %s. The reboot of computer is required.\r\n\r\nPress Finish button and reboot the computer MANUALLY, and restart this installer after the reboot.
|
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows Installer has uninstalled the older version of %s. The reboot of computer is required.\r\n\r\nPress Finish button and reboot the computer MANUALLY, and restart this installer after the reboot.
|
||||||
|
@ -7180,7 +7180,6 @@ SW_DIR_DST_IS_SYSTEM_MODE 同樣的軟體已經在指定目錄中以系統模
|
|||||||
SW_DIR_DST_IS_USER_MODE 同樣的軟體已經在指定目錄中以使用者模式安裝。\r\n\r\n請指定另外一個目錄。
|
SW_DIR_DST_IS_USER_MODE 同樣的軟體已經在指定目錄中以使用者模式安裝。\r\n\r\n請指定另外一個目錄。
|
||||||
SW_SYSTEM_MODE_ALREADY_INSTALLED 本軟體 "%s" 以系統模式被安裝在這台電腦上。\r\n\r\n同樣的軟體以使用者模式和系統模式安裝在同一台電腦上會發生衝突。\r\n\r\n您確定要以使用者模式繼續進行安裝?
|
SW_SYSTEM_MODE_ALREADY_INSTALLED 本軟體 "%s" 以系統模式被安裝在這台電腦上。\r\n\r\n同樣的軟體以使用者模式和系統模式安裝在同一台電腦上會發生衝突。\r\n\r\n您確定要以使用者模式繼續進行安裝?
|
||||||
|
|
||||||
SW_NOT_INSTALL_SRC 安裝程式已在一個外部的安裝源執行。\r\n\r\n不能再繼續安裝。
|
|
||||||
SW_SETUPLOG_CORRUPTED "setuplog.dat" 檔已被破壞。
|
SW_SETUPLOG_CORRUPTED "setuplog.dat" 檔已被破壞。
|
||||||
SW_MSI_UNINSTALL_FAILED 之前的版本 %s (產品號: "%S")已安裝。 Windows安裝工具移除舊版本失敗。\r\n\r\n請您手動移除並且重啟本安裝工具。
|
SW_MSI_UNINSTALL_FAILED 之前的版本 %s (產品號: "%S")已安裝。 Windows安裝工具移除舊版本失敗。\r\n\r\n請您手動移除並且重啟本安裝工具。
|
||||||
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows 安裝工具已經移除舊版本 %s。請重啟電腦。\r\n\r\n點擊結束按鈕並且手動重啟電腦,然後在電腦重啟後,重啟本安裝工具。
|
SW_MSI_UNINSTALL_REBOOT_REQUIRED Windows 安裝工具已經移除舊版本 %s。請重啟電腦。\r\n\r\n點擊結束按鈕並且手動重啟電腦,然後在電腦重啟後,重啟本安裝工具。
|
||||||
|
@ -1 +0,0 @@
|
|||||||
TanakaJiro!!!
|
|
33
src/vpndrvinst/CMakeLists.txt
Normal file
33
src/vpndrvinst/CMakeLists.txt
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
if(NOT WIN32)
|
||||||
|
message(FATAL_ERROR "VPN Driver Installer is available only for Windows.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(COMPONENT_NAME "Driver Installer")
|
||||||
|
set(COMPONENT_INTERNAL_NAME "vpndrvinst")
|
||||||
|
|
||||||
|
add_executable(vpndrvinst WIN32 vpndrvinst.c vpndrvinst.h)
|
||||||
|
|
||||||
|
get_filename_component(COMPONENT_FILE_NAME vpndrvinst NAME)
|
||||||
|
set(COMPONENT_FILE_NAME "${COMPONENT_FILE_NAME}.exe")
|
||||||
|
|
||||||
|
configure_file("${TOP_DIRECTORY}/src/BuildFiles/VerScript/ver.rc" "${CMAKE_CURRENT_BINARY_DIR}/ver.rc")
|
||||||
|
target_sources(vpndrvinst PRIVATE "vpndrvinst.rc" "${CMAKE_CURRENT_BINARY_DIR}/ver.rc")
|
||||||
|
|
||||||
|
# Fixes manifest authoring error c1010001
|
||||||
|
set_target_properties(vpndrvinst PROPERTIES LINK_FLAGS "/MANIFESTUAC:level='requireAdministrator'")
|
||||||
|
|
||||||
|
if(${COMPILER_ARCHITECTURE} STREQUAL "x64")
|
||||||
|
target_sources(vpndrvinst PRIVATE "${TOP_DIRECTORY}/src/BuildFiles/Manifests/x64_admin.manifest")
|
||||||
|
else()
|
||||||
|
target_sources(vpndrvinst PRIVATE "${TOP_DIRECTORY}/src/BuildFiles/Manifests/x86_admin.manifest")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set_target_properties(vpndrvinst
|
||||||
|
PROPERTIES
|
||||||
|
ARCHIVE_OUTPUT_DIRECTORY "${TOP_DIRECTORY}/src/bin/hamcore"
|
||||||
|
LIBRARY_OUTPUT_DIRECTORY "${TOP_DIRECTORY}/src/bin/hamcore"
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY "${TOP_DIRECTORY}/src/bin/hamcore"
|
||||||
|
PDB_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(vpndrvinst cedar mayaqua)
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#include <GlobalConst.h>
|
#include <GlobalConst.h>
|
||||||
|
|
||||||
#define HAM_C
|
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#define HAM_WIN32
|
#define HAM_WIN32
|
||||||
#define _WIN32_WINNT 0x0502
|
#define _WIN32_WINNT 0x0502
|
||||||
@ -27,17 +25,6 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <openssl/ssl.h>
|
|
||||||
#include <openssl/err.h>
|
|
||||||
#include <openssl/rand.h>
|
|
||||||
#include <openssl/engine.h>
|
|
||||||
#include <openssl/bio.h>
|
|
||||||
#include <openssl/x509.h>
|
|
||||||
#include <openssl/pkcs7.h>
|
|
||||||
#include <openssl/pkcs12.h>
|
|
||||||
#include <openssl/rc4.h>
|
|
||||||
#include <openssl/md5.h>
|
|
||||||
#include <openssl/sha.h>
|
|
||||||
#include <Mayaqua/Mayaqua.h>
|
#include <Mayaqua/Mayaqua.h>
|
||||||
#include <Cedar/Cedar.h>
|
#include <Cedar/Cedar.h>
|
||||||
#include "vpndrvinst.h"
|
#include "vpndrvinst.h"
|
||||||
|
30
src/vpnsetup/CMakeLists.txt
Normal file
30
src/vpnsetup/CMakeLists.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
if(NOT WIN32)
|
||||||
|
message(FATAL_ERROR "VPN Setup is available only for Windows.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(COMPONENT_NAME "Setup")
|
||||||
|
set(COMPONENT_INTERNAL_NAME "vpnsetup")
|
||||||
|
|
||||||
|
add_executable(vpnsetup WIN32 vpnsetup.c vpnsetup.rc)
|
||||||
|
|
||||||
|
get_filename_component(COMPONENT_FILE_NAME vpnsetup NAME)
|
||||||
|
set(COMPONENT_FILE_NAME "${COMPONENT_FILE_NAME}.exe")
|
||||||
|
|
||||||
|
configure_file("${TOP_DIRECTORY}/src/BuildFiles/VerScript/ver.rc" "${CMAKE_CURRENT_BINARY_DIR}/ver.rc")
|
||||||
|
target_sources(vpnsetup PRIVATE "vpnsetup.rc" "${CMAKE_CURRENT_BINARY_DIR}/ver.rc")
|
||||||
|
|
||||||
|
if(${COMPILER_ARCHITECTURE} STREQUAL "x64")
|
||||||
|
target_sources(vpnsetup PRIVATE "${TOP_DIRECTORY}/src/BuildFiles/Manifests/x64_user.manifest")
|
||||||
|
else()
|
||||||
|
target_sources(vpnsetup PRIVATE "${TOP_DIRECTORY}/src/BuildFiles/Manifests/x86_user.manifest")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set_target_properties(vpnsetup
|
||||||
|
PROPERTIES
|
||||||
|
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
|
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
|
PDB_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(vpnsetup cedar mayaqua)
|
Loading…
Reference in New Issue
Block a user