OpenVPN TAP驱动程序安装

时间:2010-01-19 13:36:01

标签: openvpn tap

我正试图通过tapinstall在Windows中控制OpenVPN的TAP驱动程序的多个实例。似乎因为所有设备都具有相同的HWID - 'tap0901' - 我无法使用tapinstall删除任何一个 - 当我发出时它们全部消失

tapinstall.exe remove tap0901

此外,当我用

安装另一个实例时
tapinstall.exe install OemWin2k.inf tap0901

所有其他的重置(使用现有tap安装的打开连接被破坏)因为tapinstall尝试更新所有现有实例上的驱动程序。

到目前为止,我的解决方案是将INF文件中指定的hwid的所有实例重命名为其他内容,并将.cat和.sys文件重命名为此新名称;然而,这打破了驾驶员的签名。

有没有人知道管理多个允许我的OpenVPN TAP驱动程序实例的替代方法:

      
  1. 删除任何单个驱动程序实例,而不会干扰其他实例的操作
  2.   
  3. 安装新实例,而不会干扰其他实例的操作

Win32 API调用也可以;我正在尝试编写一个程序来实现自动化。

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

如果有人想知道,我找到了一种方法来做到这一点,但它非常hacky。受devcon源代码的启发。

      
  1. SetupDiCreateDeviceInfoList
  2.   
  3. SetupDiCreateDeviceInfo
  4.   
  5. SetupDiSetDeviceRegistryProperty
  6.   
  7. SetupDiCallClassInstaller
  8.   
  9. UpdateDriverForPlugAndPlayDevices
  10.   
  11. SetupDiSetDeviceRegistryProperty - 将硬件ID重命名为此处的唯一内容。