mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-11-26 19:39:53 +03:00
Improvements on the behavior of the reinstall command of Windows Virtual Network Adapters. (#509)
* Improvements on the behavior of the reinstall command of Windows Virtual Network Adapters. When reinstalling the device driver of the Virtual Network Driver card, we changed the behavior as to cleanup the older driver before installing the newer driver. * Improvement of the senetence. Add the same sentence to the Taiwan language file. * Delete the old MsUpgradeVLanWithoutLock_old() function.
This commit is contained in:
parent
b59697fbd4
commit
f96ac3644a
@ -5718,6 +5718,12 @@ void CmMainWindowOnCommandEx(HWND hWnd, WPARAM wParam, LPARAM lParam, bool easy)
|
|||||||
// Installation is prohibited
|
// Installation is prohibited
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// Warning message
|
||||||
|
if (MsgBox(hWnd, MB_ICONINFORMATION | MB_OKCANCEL, _UU("CM_VLAN_REINSTALL_MSG")) == IDCANCEL)
|
||||||
|
{
|
||||||
|
// Cancel
|
||||||
|
break;
|
||||||
|
}
|
||||||
index = LvGetSelected(hWnd, L_VLAN);
|
index = LvGetSelected(hWnd, L_VLAN);
|
||||||
if (index != INFINITE)
|
if (index != INFINITE)
|
||||||
{
|
{
|
||||||
|
@ -8431,19 +8431,11 @@ bool MsUpgradeVLan(char *tag_name, char *connection_tag_name, char *instance_nam
|
|||||||
}
|
}
|
||||||
bool MsUpgradeVLanWithoutLock(char *tag_name, char *connection_tag_name, char *instance_name, MS_DRIVER_VER *ver)
|
bool MsUpgradeVLanWithoutLock(char *tag_name, char *connection_tag_name, char *instance_name, MS_DRIVER_VER *ver)
|
||||||
{
|
{
|
||||||
wchar_t infpath[MAX_PATH];
|
|
||||||
char hwid[MAX_PATH];
|
char hwid[MAX_PATH];
|
||||||
wchar_t hwid_w[MAX_PATH];
|
wchar_t hwid_w[MAX_PATH];
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
bool need_reboot;
|
|
||||||
bool before_status;
|
|
||||||
UCHAR old_mac_address[6];
|
UCHAR old_mac_address[6];
|
||||||
UCHAR new_mac_address[6];
|
|
||||||
char *s;
|
char *s;
|
||||||
NO_WARNING *nw;
|
|
||||||
char neo_sys[MAX_PATH];
|
|
||||||
char *reg_key;
|
|
||||||
UINT i;
|
|
||||||
// Validate arguments
|
// Validate arguments
|
||||||
if (instance_name == NULL || tag_name == NULL || connection_tag_name == NULL || ver == NULL)
|
if (instance_name == NULL || tag_name == NULL || connection_tag_name == NULL || ver == NULL)
|
||||||
{
|
{
|
||||||
@ -8477,38 +8469,6 @@ bool MsUpgradeVLanWithoutLock(char *tag_name, char *connection_tag_name, char *i
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
reg_key = MsGetNetCfgRegKeyName(tag_name, instance_name);
|
|
||||||
|
|
||||||
if (IsEmptyStr(reg_key) == false)
|
|
||||||
{
|
|
||||||
// Add a value to the registry key
|
|
||||||
MsRegWriteInt(REG_LOCAL_MACHINE, reg_key, "*IfType", 6);
|
|
||||||
MsRegWriteInt(REG_LOCAL_MACHINE, reg_key, "*MediaType", 0);
|
|
||||||
MsRegWriteInt(REG_LOCAL_MACHINE, reg_key, "*PhysicalMediaType", 0);
|
|
||||||
}
|
|
||||||
Free(reg_key);
|
|
||||||
|
|
||||||
// Get the .sys file name that is currently being used
|
|
||||||
if (MsGetNeoDriverFilename(neo_sys, sizeof(neo_sys), instance_name) == false)
|
|
||||||
{
|
|
||||||
if (MsIsInfCatalogRequired())
|
|
||||||
{
|
|
||||||
// Can not be upgraded if getting current .sys file name failed
|
|
||||||
// in the Windows 8 or later
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a new file name because it is unknown
|
|
||||||
if (MsMakeNewNeoDriverFilename(neo_sys, sizeof(neo_sys)) == false)
|
|
||||||
{
|
|
||||||
// Failure
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the current operating status
|
|
||||||
before_status = MsIsVLanEnabled(instance_name);
|
|
||||||
|
|
||||||
// Get the previous MAC address
|
// Get the previous MAC address
|
||||||
s = MsGetMacAddress(tag_name, instance_name);
|
s = MsGetMacAddress(tag_name, instance_name);
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
@ -8533,57 +8493,9 @@ bool MsUpgradeVLanWithoutLock(char *tag_name, char *connection_tag_name, char *i
|
|||||||
FreeBuf(b);
|
FreeBuf(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Starting the installation
|
ret = MsUninstallVLanWithoutLock(instance_name);
|
||||||
if (MsStartDriverInstall(instance_name, IsZero(old_mac_address, 6) ? NULL : old_mac_address, neo_sys,
|
|
||||||
new_mac_address, ver) == false)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
MsGetDriverPath(instance_name, NULL, NULL, infpath, NULL, NULL, NULL, neo_sys);
|
|
||||||
|
|
||||||
nw = NULL;
|
ret = MsInstallVLanWithoutLock(tag_name, connection_tag_name, instance_name, ver);
|
||||||
|
|
||||||
//if (MsIsVista() == false)
|
|
||||||
{
|
|
||||||
nw = MsInitNoWarning();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Do the installation
|
|
||||||
if (ms->nt->UpdateDriverForPlugAndPlayDevicesW(
|
|
||||||
NULL, hwid_w, infpath, 1, &need_reboot))
|
|
||||||
{
|
|
||||||
ret = true;
|
|
||||||
}
|
|
||||||
MsFreeNoWarning(nw);
|
|
||||||
|
|
||||||
// Installation complete
|
|
||||||
MsFinishDriverInstall(instance_name, neo_sys);
|
|
||||||
|
|
||||||
for (i = 0;i < 5;i++)
|
|
||||||
{
|
|
||||||
MsInitNetworkConfig(tag_name, instance_name, connection_tag_name);
|
|
||||||
if (MsIsInfCatalogRequired())
|
|
||||||
{
|
|
||||||
// Write the MAC address
|
|
||||||
char mac_address_str[MAX_SIZE];
|
|
||||||
BinToStr(mac_address_str, sizeof(mac_address_str), new_mac_address, sizeof(new_mac_address));
|
|
||||||
MsSetMacAddress(VLAN_ADAPTER_NAME_TAG, instance_name, mac_address_str);
|
|
||||||
}
|
|
||||||
|
|
||||||
SleepThread(MsIsVista() ? 1000 : 300);
|
|
||||||
}
|
|
||||||
|
|
||||||
SleepThread(MsIsVista() ? 1000 : 300);
|
|
||||||
|
|
||||||
// Restore operation
|
|
||||||
if (before_status)
|
|
||||||
{
|
|
||||||
MsEnableVLan(instance_name);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MsDisableVLan(instance_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1004,6 +1004,7 @@ CM_WOULDYOULOAD_IE_PROXY 目前,这台计算机的 Internet Explorer 配置使
|
|||||||
CM_MSG_TITLE VPN Server "%S" (虚拟 HUB: "%S")
|
CM_MSG_TITLE VPN Server "%S" (虚拟 HUB: "%S")
|
||||||
CM_JUMPLIST_RCCONNECT 最近使用的连接设置
|
CM_JUMPLIST_RCCONNECT 最近使用的连接设置
|
||||||
CM_VPNGATE_MESSAGE 在 VPN Gate 学术项目网站上有一个公共 VPN 中继服务器列表。\r\n互联网上的任何人都可以建立 VPN 连接至任一列表上的 VPN 服务器。无需用户注册。\r\n\r\nVPN Gate 不是 SoftEther VPN 的一部分。\r\n此图标只提供了一个超链接到 http://www.vpngate.net/。\r\n\r\n安装带有 SoftEther VPN Client 的 VPN Gate Client 插件。它可用简单的配置连接到 VPN Gate 的一个公共 VPN 中继服务器。\r\n\r\n你想访问 http://www.vpngate.net/ (设在日本筑波大学) ?
|
CM_VPNGATE_MESSAGE 在 VPN Gate 学术项目网站上有一个公共 VPN 中继服务器列表。\r\n互联网上的任何人都可以建立 VPN 连接至任一列表上的 VPN 服务器。无需用户注册。\r\n\r\nVPN Gate 不是 SoftEther VPN 的一部分。\r\n此图标只提供了一个超链接到 http://www.vpngate.net/。\r\n\r\n安装带有 SoftEther VPN Client 的 VPN Gate Client 插件。它可用简单的配置连接到 VPN Gate 的一个公共 VPN 中继服务器。\r\n\r\n你想访问 http://www.vpngate.net/ (设在日本筑波大学) ?
|
||||||
|
CM_VLAN_REINSTALL_MSG After reinstalling the Virtual Network Adapter driver, the current Virtual Network Adapter's MAC address will change. Also, all TCP/IP settings within the Virtual Network Adapter will reset.\r\n\r\nIn case the reinstalled Virtual Network Adapter fails to work, delete it and create a new one. If it still doesn't work properly, please create a new Virtual Network Adapter with a different name.
|
||||||
|
|
||||||
|
|
||||||
# VPN Gate Service
|
# VPN Gate Service
|
||||||
|
@ -995,6 +995,7 @@ CM_WOULDYOULOAD_IE_PROXY Currently the Internet Explorer on this computer is con
|
|||||||
CM_MSG_TITLE VPN Server "%S" (Virtual Hub: "%S")
|
CM_MSG_TITLE VPN Server "%S" (Virtual Hub: "%S")
|
||||||
CM_JUMPLIST_RCCONNECT Recent VPN Servers
|
CM_JUMPLIST_RCCONNECT Recent VPN Servers
|
||||||
CM_VPNGATE_MESSAGE There is the list of Public VPN Relay Servers on the VPN Gate Academic Project Web Site.\r\nAnyone on the Internet can connect a VPN connection to any VPN servers on the list.\r\n\r\nVPN Gate Academic Project is not a part of SoftEther VPN.\r\nThis icon provides just a link to http://www.vpngate.net/.\r\nYou need to install VPN Gate Plugin to connect VPN Gate.\r\n\r\nDo you want to visit http://www.vpngate.net/ (provided by University of Tsukuba) ?
|
CM_VPNGATE_MESSAGE There is the list of Public VPN Relay Servers on the VPN Gate Academic Project Web Site.\r\nAnyone on the Internet can connect a VPN connection to any VPN servers on the list.\r\n\r\nVPN Gate Academic Project is not a part of SoftEther VPN.\r\nThis icon provides just a link to http://www.vpngate.net/.\r\nYou need to install VPN Gate Plugin to connect VPN Gate.\r\n\r\nDo you want to visit http://www.vpngate.net/ (provided by University of Tsukuba) ?
|
||||||
|
CM_VLAN_REINSTALL_MSG After reinstalling the Virtual Network Adapter driver, the current Virtual Network Adapter's MAC address will change. Also, all TCP/IP settings within the Virtual Network Adapter will reset.\r\n\r\nIn case the reinstalled Virtual Network Adapter fails to work, delete it and create a new one. If it still doesn't work properly, please create a new Virtual Network Adapter with a different name.
|
||||||
|
|
||||||
|
|
||||||
VGC_COLUMN_0 DDNS Hostname
|
VGC_COLUMN_0 DDNS Hostname
|
||||||
|
@ -998,6 +998,7 @@ CM_WOULDYOULOAD_IE_PROXY 現在、このコンピュータは Internet Explorer
|
|||||||
CM_MSG_TITLE VPN サーバー "%S" (仮想 HUB: "%S")
|
CM_MSG_TITLE VPN サーバー "%S" (仮想 HUB: "%S")
|
||||||
CM_JUMPLIST_RCCONNECT 最近の接続先
|
CM_JUMPLIST_RCCONNECT 最近の接続先
|
||||||
CM_VPNGATE_MESSAGE VPN Gate 学術実験プロジェクトの Web サイトには、公開 VPN 中継サーバーの一覧が公開されています。\r\nこれらの VPN サーバーには、誰でもユーザー登録なしで VPN 接続することができます。\r\n\r\nVPN Gate 学術実験プロジェクトは SoftEther VPN の一部ではありません。\r\nこのアイコンは http://www.vpngate.net/ へのリンクを提供しているに過ぎません。\r\nVPN Gate に接続するためには、VPN Gate Plugin をインストールする必要があります。\r\n\r\nhttp://www.vpngate.net/ (筑波大学における学術実験サイト) を開きますか?
|
CM_VPNGATE_MESSAGE VPN Gate 学術実験プロジェクトの Web サイトには、公開 VPN 中継サーバーの一覧が公開されています。\r\nこれらの VPN サーバーには、誰でもユーザー登録なしで VPN 接続することができます。\r\n\r\nVPN Gate 学術実験プロジェクトは SoftEther VPN の一部ではありません。\r\nこのアイコンは http://www.vpngate.net/ へのリンクを提供しているに過ぎません。\r\nVPN Gate に接続するためには、VPN Gate Plugin をインストールする必要があります。\r\n\r\nhttp://www.vpngate.net/ (筑波大学における学術実験サイト) を開きますか?
|
||||||
|
CM_VLAN_REINSTALL_MSG 仮想 LAN カードのドライバを再インストールすると、MAC アドレスが変更になります。また、仮想 LAN カードに関する TCP/IP などのネットワーク設定は初期化されます。続行しますか?\r\n\r\nなお、仮想 LAN カードのドライバを再インストールしても正常に動作しない場合は、新たに別の名前で仮想 LAN カードを作成してください。
|
||||||
|
|
||||||
|
|
||||||
# VPN Gate Service 関係
|
# VPN Gate Service 関係
|
||||||
|
@ -1006,6 +1006,7 @@ CM_WOULDYOULOAD_IE_PROXY 目前,這台電腦的 Internet Explorer 配置使用
|
|||||||
CM_MSG_TITLE VPN Server "%S" (虛擬 HUB: "%S")
|
CM_MSG_TITLE VPN Server "%S" (虛擬 HUB: "%S")
|
||||||
CM_JUMPLIST_RCCONNECT 最近使用的連接設置
|
CM_JUMPLIST_RCCONNECT 最近使用的連接設置
|
||||||
CM_VPNGATE_MESSAGE 在 VPN Gate 學術項目網站上有一個公共 VPN 中繼伺服器列表。\r\n網際網路上的任何人都可以建立 VPN 連接至任一列表上的 VPN 伺服器。無需用戶註冊。\r\n\r\nVPN Gate 不是 SoftEther VPN 的一部分。\r\n此圖示只提供了一個超連結到 http://www.vpngate.net/。\r\n\r\n安裝帶有 SoftEther VPN Client 的 VPN Gate Client 外掛程式。它可用簡單的配置連接到 VPN Gate 的一個公共 VPN 中繼伺服器。\r\n\r\n你想訪問 http://www.vpngate.net/ (設在日本筑波大學) ?
|
CM_VPNGATE_MESSAGE 在 VPN Gate 學術項目網站上有一個公共 VPN 中繼伺服器列表。\r\n網際網路上的任何人都可以建立 VPN 連接至任一列表上的 VPN 伺服器。無需用戶註冊。\r\n\r\nVPN Gate 不是 SoftEther VPN 的一部分。\r\n此圖示只提供了一個超連結到 http://www.vpngate.net/。\r\n\r\n安裝帶有 SoftEther VPN Client 的 VPN Gate Client 外掛程式。它可用簡單的配置連接到 VPN Gate 的一個公共 VPN 中繼伺服器。\r\n\r\n你想訪問 http://www.vpngate.net/ (設在日本筑波大學) ?
|
||||||
|
CM_VLAN_REINSTALL_MSG After reinstalling the Virtual Network Adapter driver, the current Virtual Network Adapter's MAC address will change. Also, all TCP/IP settings within the Virtual Network Adapter will reset.\r\n\r\nIn case the reinstalled Virtual Network Adapter fails to work, delete it and create a new one. If it still doesn't work properly, please create a new Virtual Network Adapter with a different name.
|
||||||
|
|
||||||
|
|
||||||
# VPN Gate Service
|
# VPN Gate Service
|
||||||
|
Loading…
Reference in New Issue
Block a user