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 g...@greenie.muc.de fax: +49-89-35655025 g...@net.informatik.tu-muenchen.de
signature.asc
Description: PGP signature