2

这是在 Windows 8 pc 中删除打印机驱动程序的问题。

我们的应用程序在 UI 级别部署中运行良好,我们已成功安装和卸载。

我们已经从 UI 级别以及 PUSH 部署测试了我们在 Windows 8(32 位和 64 位)中的应用程序。

但在 PUSH(Active Directory 部署)中,“OpenPrinter()”函数无法获取请求的打印机驱动程序的句柄。然后deleteprinter也失败了。

我们已经验证了该函数正在按照我们的预期获得参数。但它失败了。

由于该问题仅在 Windows 8 中发生。

服务器为 Windows 2003 和 Windows 2008 r2,并基于每台机器进行部署。

使用 VC++ (VS 2008) 开发并使用 InstallShield12 打包的应用程序。

在我们的调查中,我们发现“Openprinter()”函数无法访问注册表,并且无法返回句柄。

当我们从 PUSH 安装应用程序时,它是使用 SYSTEM 帐户安装的。我们已经验证了这一点。

在 Windows 8 PC 中使用注册表是否有任何限制?还是我们需要修复/设置/配置 Windows 8 PC 中的任何设置?或者是否有任何禁止访问系统帐户的注册表?

请帮我解决问题。

提前致谢。

4

1 回答 1

0


注册表在 Windows 8(32/64 位)中无法访问,而活动目录部署

最后事情被打破了。
主要原因是 openprinter API 依赖于注册表来获取请求的打印机的句柄。
当我们调用 API 时,注册表对它不可用。
当我们等待完成 2 分钟后,API 返回句柄。
因此我的 PUSH 卸载完成,没有挂起。现在问题在我的情况下得到了解决。
但这是 Windows 8 的限制。

于 2012-11-21T06:06:23.623 回答