这是在windows 8 pc中删除打印机驱动程序的问题。
我们的应用程序在UI级别部署中运行良好,我们已成功安装和卸载。
我们已经从UI级别和PUSH部署在Windows 8(32和64位)中测试了我们的应用程序。
但在PUSH(Active Directory部署)中,"OpenPrinter()"函数无法获取请求的打印机驱动程序的句柄。然后删除打印机也失败了。
我们已经验证了该函数正在按预期获得perameters。但它失败了。
由于该问题仅在Windows 8中发生。
服务器是Windows 2003和Windows 2008 r2,并基于每台机器进行部署。
应用程序在VC++(VS 2008)中开发,并与InstallShield12打包。
在我们的调查中,我们发现"Openprinter()"函数无法访问Registry,并且它无法返回句柄。
当我们从PUSH安装应用程序时,它是用SYSTEM帐户安装的。我们已经对此进行了验证。
在Windows 8 PC中使用注册表有任何限制吗?或者我们需要在Windows 8 PC中修复/设置/配置任何设置吗?或者是否有禁止访问SYSTEM帐户注册表的内容?
请帮我解决这个问题。
提前谢谢。
注册表在Windows8(32/64位)中不可访问,而active directory部署
最终问题解决了
主要原因是openprinter API依赖注册表来获取请求打印机的句柄
调用API时,注册表不可用。
当我们等待完成2分钟时,API返回句柄
因此,我的PUSH卸载完成时没有挂起。现在我的问题解决了
但这是Windows 8的限制。