2012-10-12 44 views
2

這是在Windows 8 PC中刪除打印機驅動程序的問題。Windows 8(32/64位)無法在Active Directory部署時訪問註冊表

我們的應用程序在UI級別部署中運行良好,我們已成功安裝和卸載。

我們已經在UI Level和PUSH Deployments中測試了我們在Windows 8(32和64位)中的應用程序。

但是在PUSH(Active Directory部署)中,「OpenPrinter()」功能無法獲取請求的打印機驅動程序的句柄。然後刪除打印機也失敗了。

我們已經驗證該功能正在按照我們的預期收集參數。但它是失敗的。

因爲這個問題在Windows僅發生8

服務器是Windows 2003和Windows 2008 R2和每個機TEST基礎部署。

在VC++(VS 2008)中開發並與InstallShield12一起打包的應用程序。

在我們的調查中,我們發現註冊表無法訪問'Openprinter()'函數,並且無法返回句柄。

雖然我們從PUSH安裝應用程序,但它使用SYSTEM帳戶進行安裝。我們驗證了這一點。

在Windows 8 PC中使用註冊表有什麼限制嗎? 或者我們是否需要修復/設置/配置Windows 8 PC的任何設置? 或者是否有任何禁止訪問SYSTEM帳戶的註冊表?

請幫我解決問題。

在此先感謝。

+0

兩個潛在的原因:1)默認情況下,RPC被禁用; 2)UAC阻止Win8接受API類型的請求。問題1的答案是更改策略以允許RPC或使用WMI。問題#2的答案是禁用UAC(不推薦)或簽署代碼。 – Lizz

回答

0


註冊表是在Windows 8(32/64位),而Active Directory部署

最後事情爆發訪問..
的主要原因是openprinter API取決於註冊表以獲得手柄請求打印機。
當我們調用API時,註冊表不可用。
當我們等待完成2分鐘時,API返回句柄。
因此,我的PUSH卸載完成與外掛。現在問題解決了我的情況。
但這是Windows 8的限制。