Does anyone had an experience with automating Windows installation process? I am planning (after my extension programming) to implement the following inside it: User runs installer, goes through usual pages and then installer asks for a name of his/her future node. It's not a problem to embed our network bootstrap configuration inside installer. The problem starts with Windows itself. We have tap-win{32,64} directories. Inside them, there is a few batch files and tapinstall.exe binary. It actually performs installation process of TAP driver and new interface. And that's it: I can't safely rename interface from installer batch file. If it comes with name "Local Area Connection", then I can rename it. But if user has many unrenamed "Local Area Connection"'s? And localization issues: in Russia, it's always "??????????? ?? ????????? ????". And OS can append a number if there multiple ones. I can't link which interface belongs to which adapter: newly created, physical or virtual, TAP or VMWare and so on. Does anyone tried to solve this ever? Ironically, Linux configuration can be scripted well, but I usually do that by hand. -- http://lynxlynx.tk/ Power electronics made simple Unix and simple KISS C code
On Sat, Oct 17, 2015 at 02:54:01PM +0700, ???? wrote:> The problem starts with Windows itself. We have tap-win{32,64} > directories. Inside them, there is a few batch files and tapinstall.exe > binary. It actually performs installation process of TAP driver and > new interface. > > And that's it: I can't safely rename interface from installer batch > file. If it comes with name "Local Area Connection", then I can rename > it. But if user has many unrenamed "Local Area Connection"'s? And > localization issues: in Russia, it's always "??????????? ?? ????????? > ????". And OS can append a number if there multiple ones. > > I can't link which interface belongs to which adapter: newly created, > physical or virtual, TAP or VMWare and so on.Have a look in src/mingw/device.c setup_device(). If you don't specify a Device or Interface in tinc.conf, it will use the first available TAP innterface. It finds it by going through the registry to find adapters, and then tries to open \\\\.\\Global\\<adapter id>.tap. If the latter succeeds, it means it's a free TAP interface. -- Met vriendelijke groet / with kind regards, Guus Sliepen <guus at tinc-vpn.org>
On Sat, 17 Oct 2015 14:54:17 +0200 Guus Sliepen <guus at tinc-vpn.org> wrote:> On Sat, Oct 17, 2015 at 02:54:01PM +0700, ???? wrote: > > > The problem starts with Windows itself. We have tap-win{32,64} > > directories. Inside them, there is a few batch files and > > tapinstall.exe binary. It actually performs installation process of > > TAP driver and new interface. > > > > And that's it: I can't safely rename interface from installer batch > > file. If it comes with name "Local Area Connection", then I can > > rename it. But if user has many unrenamed "Local Area > > Connection"'s? And localization issues: in Russia, it's always > > "??????????? ?? ????????? ????". And OS can append a number if > > there multiple ones. > > > > I can't link which interface belongs to which adapter: newly > > created, physical or virtual, TAP or VMWare and so on. > > Have a look in src/mingw/device.c setup_device(). If you don't > specify a Device or Interface in tinc.conf, it will use the first > available TAP innterface. It finds it by going through the registry > to find adapters, and then tries to open \\\\.\\Global\\<adapter > id>.tap. If the latter succeeds, it means it's a free TAP interface. >Okay I see it, thanks! Usually my Windows nodes have no many TAP devices on their boxes, that's what I need. I will try that and will report my success there. -- http://lynxlynx.tk/ Power electronics made simple Unix and simple KISS C code
Possibly Parallel Threads
- Automated Windows installer
- Automated Windows installer
- Automatic hosts files update protocol extension for Tinc
- [PATCH] src/linux/device.c: Fix segfault when running without `--net'.
- How does tinc server handle the case one client's key file is removed after connection