Hi, On Wed, Nov 25, 2015 at 08:52:09AM -0800, Fish Wang wrote: > Just a small suggestion: I think the following will work: > > - Check the version of the current operating system. > - Dynamically loading related DLLs (in this case, should be WFP-related > libraries) using LoadLibrary() only if OpenVPN is running Windows Vista+, > and pops a warning for XP users who has that option enabled. > - On Vista+, get addresses of those APIs that we want to call (via > GetProcAddress() ), and then use them as function pointers. > > Pros: one binary works for all Windows. > Cons: the code is a bit messier. > > I've done this before for my own projects that must be running on both XP > and later versions of Windows, and it works reliably. I can look into this > later this week (if ValdikSS doesn't have cycles).
This would definitely be something I'd like to have a look at.
Depending how *much* messier the code gets (especially: what settings does
it need to get built? WINXP or VISTA?) this might be a good way to avoid
having to build two different openvpn.exe executables.
OTOH, we need two installers anyway as the NDIS6 tap driver does not work
on XP - so if we bundle openvpn-xp.exe with the old tap driver and
openvpn-vista+.exe with the ndis6 tap driver, it's not that much worse than
what we have now...
And yes, time to get 2.4 out :-)
gert
--
USENET is *not* the non-clickable part of WWW!
//www.muc.de/~gert/
Gert Doering - Munich, Germany [email protected]
fax: +49-89-35655025 [email protected]
signature.asc
Description: PGP signature
