使用 INF 文件安装后未列出 V4 打印机驱动程序
V4 printer driver not listed after installing using INF file
我关注 this Microsoft tutorial,开发 V4 printer driver
。
Here 是完整的工作解决方案。
为了安装,我只需右键单击 INF 文件并单击安装。
我得到以下确认:
但是打印管理下没有列出驱动程序。
可能是什么问题?是我安装方法不对还是代码有问题
我尝试将日志记录添加到驱动程序源代码中的所有函数中。而none好像是写的。所以驱动还没有自己安装。
仅供参考:我已将 PC 置于测试签名模式并且驱动程序签名强制执行也已禁用。
经过大量挖掘,我找到了解决方案。分享出来是为了让遇到类似问题的人省心
第一件事。在设备驱动程序安装中,发生了两件事。
- 驱动程序文件 uploaded/copied 到驱动程序存储区(这里是:
%windir%\System32\DriverStore\FileRepository\
- 插入相应的设备后,现在就是实际安装的时候了。对应的设备就是你在INF文件中指定的device/model
这是传统路径。
因此,当您尝试使用 INF 文件安装时,驱动程序文件会上传到驱动程序存储的文件存储库中。我认为如果在 INF 安装期间插入任何受支持的模型,驱动程序将完全安装(尚未测试)。
安装。
现在我的要求要求先安装并列出驱动程序。为此,您可以使用函数 InstallPrinterDriverFromPackage function 显式安装它。这是一个使用它的例子:
HRESULT Install(LPCTSTR pszInfPath)
{
HRESULT ret = InstallPrinterDriverFromPackage(
NULL,
pszInfPath, //path of the INF file in the Driver Store
L"MyV4PrintDriver", //the name of the driver as in the INF file
//L"Windows NT x86", 32 bit environment
L"Windows x64",
0);
if ( ret != S_OK )
{
_com_error err(ret);
LPCTSTR errMsg = err.ErrorMessage();
wcout << errMsg << endl;
}
return ret;
}
更多。您可以使用UploadPrinterDriverPackage函数将打印机驱动文件上传到驱动商店。
我关注 this Microsoft tutorial,开发 V4 printer driver
。
Here 是完整的工作解决方案。
为了安装,我只需右键单击 INF 文件并单击安装。
我得到以下确认:
但是打印管理下没有列出驱动程序。
可能是什么问题?是我安装方法不对还是代码有问题
我尝试将日志记录添加到驱动程序源代码中的所有函数中。而none好像是写的。所以驱动还没有自己安装。
仅供参考:我已将 PC 置于测试签名模式并且驱动程序签名强制执行也已禁用。
经过大量挖掘,我找到了解决方案。分享出来是为了让遇到类似问题的人省心
第一件事。在设备驱动程序安装中,发生了两件事。
- 驱动程序文件 uploaded/copied 到驱动程序存储区(这里是:
%windir%\System32\DriverStore\FileRepository\
- 插入相应的设备后,现在就是实际安装的时候了。对应的设备就是你在INF文件中指定的device/model
这是传统路径。
因此,当您尝试使用 INF 文件安装时,驱动程序文件会上传到驱动程序存储的文件存储库中。我认为如果在 INF 安装期间插入任何受支持的模型,驱动程序将完全安装(尚未测试)。
安装。 现在我的要求要求先安装并列出驱动程序。为此,您可以使用函数 InstallPrinterDriverFromPackage function 显式安装它。这是一个使用它的例子:
HRESULT Install(LPCTSTR pszInfPath)
{
HRESULT ret = InstallPrinterDriverFromPackage(
NULL,
pszInfPath, //path of the INF file in the Driver Store
L"MyV4PrintDriver", //the name of the driver as in the INF file
//L"Windows NT x86", 32 bit environment
L"Windows x64",
0);
if ( ret != S_OK )
{
_com_error err(ret);
LPCTSTR errMsg = err.ErrorMessage();
wcout << errMsg << endl;
}
return ret;
}
更多。您可以使用UploadPrinterDriverPackage函数将打印机驱动文件上传到驱动商店。