Installation 如何获取可安装打印机并以编程方式安装它们(C#)

Installation 如何获取可安装打印机并以编程方式安装它们(C#),installation,printing,driver,Installation,Printing,Driver,我们正在开发一款支持特定打印机的软件,但我们希望能够添加碰巧以各种方式连接的其他打印机 我已经了解了如何通过以下链接添加网络上的打印机(不确定是否仅限于域打印机): 获取网络打印机列表: 将其与删除列出为已安装的组件结合使用: 最后使用此链接,将打印机添加到机器: 我所做的搜索似乎都指向“获取已安装打印机的列表”,但我们希望获得“可安装打印机”的完整列表 诚然,我不是一名驾驶专家,也可能不知道我面对的是什么,但除了我在上面所了解的以外,他们还想知道: 1. physically conne

我们正在开发一款支持特定打印机的软件,但我们希望能够添加碰巧以各种方式连接的其他打印机

我已经了解了如何通过以下链接添加网络上的打印机(不确定是否仅限于域打印机):

获取网络打印机列表:

将其与删除列出为已安装的组件结合使用:

最后使用此链接,将打印机添加到机器:

我所做的搜索似乎都指向“获取已安装打印机的列表”,但我们希望获得“可安装打印机”的完整列表

诚然,我不是一名驾驶专家,也可能不知道我面对的是什么,但除了我在上面所了解的以外,他们还想知道:

1. physically connected printers via USB
2. printers via print server (if different than what I have done)
3. printers on network, but not necessarily on domain (again, if that's specifically what I have done above)
4. Any other ways printers could be connected, not listed here.
一般来说,我们不希望我们的软件连接到internet,但也有可能只是为了安装打印机而临时建立连接(然后立即删除)。我们通常也希望它们不在域中(但可能会随着位置的不同而变化)

这个软件控制的是一个医疗设备,它通常是隔离的,并且在一个锁定的操作系统上,但这是他们现在让我研究的功能

这个问题还涉及到防火墙,以及它是否会干扰我的工作

对于USB连接的打印机,我发现了如何获取所有USB设备:

但还不知道如何隔离打印机以及如何安装这些打印机(不知道“AddPrinterConnection”的链接是否也适用于本地打印机,或者只是像我所做的那样连接网络)