PPTP MS client wrong remote subnet mask

I have setup PPTP server on MT RB450G RouterOS 6.12
RB lan is 10.228.0.0/16

when windows 10 VPN client connects the route to 10.228.0.0/16 is wrong, with mask /8

route print 10*
         10.0.0.0        255.0.0.0      10.228.10.2    10.228.166.48     26
    10.228.166.48  255.255.255.255         On-link     10.228.166.48    281

I dont see any way in PPTP setup to force a specific mask,

What am I doing wrong ?

RB is actin as DHCP server to local lan, but the DHCP client get correct 10.228.0.0/16 net

This is hardwired in Windows. You can either get a default route, or a route to “all hosts in the network”, which
means the network according to the old class A/B/C. When you want a /16, use a network from the 172.12.0.0/12 range.
(172.16.0.0/16 etc)

thank you

This is hardwired in Windows.
I wonder what they were smoking at MS when they make such design route ?

Would it help if I setup a PPTP server using windows server instead of RB ?

EDIT:

This is hardwired in Windows.
Can you please quote the source of this.

It normally works fine in the intended usage of a VPN to connect from a roadwarrior user to the company network.
Even when the subnet seems too large, the resulting route usually still is what you like to have.
(e.g. when the company has multiple subsidiaries and your route covers them all via the access router)

I think there are some ways to override the routing by setting specific options in a DHCP server, but I don’t know
if it will work with a MikroTik router. Normally PPTP uses PPP to assign the address, and running DHCP over
that is of course nonstandard. I don’t know if the MikroTik DHCP server can be configured to send options
(and no address) to a PPP client. Of course the Windows PPTP server will support the required configuration
for their own clients. But be careful, running a PPTP server behind NAT could also cause trouble.

When you use google you will find information like this.

years ago discussion http://forum.mikrotik.com/t/pptp-classless-route-vs-class-routing/55259/1

Workaround,
win10 vpn properties advanced disabled adding classles route (or keep it and remove the route in the following script)
added scheduled script triggered by custom event

Task has to run as admin and have ‘run whether user logged on or not’ selected.

Custom Event in Scheduler

<QueryList>
  <Query Id="0" Path="Application">
    <Select Path="Application">
        *[
        System[(EventID = 20225) and (Level = 4)] 
        and  EventData[(Data = 'vpn-connection-name')] 
        ]
    </Select>
  </Query>
</QueryList>

The “my-fix-vpn-routes.cmd” script to run upon the event

@rem = '-*- PERL -*-';
@rem = '
@echo off
rem ***** This assumes PERL is in the PATH *****
perl.exe -w -S %0 %*
goto endofperl
@rem ';
#!/usr/bin/perl -w
foreach (map {chomp; $_; } `route print 10.228.166.*`)
{
    if(/(10\.228\S+).*255.255.255.255/)
    {
        $cmd = "route add 10.228.0.0 MASK 255.255.0.0 $1";
        print $cmd,"\n";
        system($cmd);
    }
}
__END__
:endofperl