開發(fā)Windows商店應(yīng)用時使用SmsDevice類API遇到的Access Denied問題解決方法

在開發(fā)基于Windows商店的SMS短信設(shè)備應(yīng)用時,需要使用SmsDevice類API,該類API僅能用于移動運(yùn)營商的商店應(yīng)用(MBAE App)或運(yùn)營商、移動寬帶設(shè)備供應(yīng)商授權(quán)的Windows 商店設(shè)備應(yīng)用,即此類應(yīng)用必須配以相應(yīng)的配置文件Service/Device Metadata,使得綁定的Windows 商店應(yīng)用獲得使用SmsDevice API的權(quán)限。如果metadata配置出現(xiàn)問題,那么就會遇到Access Denied問題。這時候我們可參照如下過程進(jìn)行手工配置。(基于Windows 8 和Visual Studio 2012,假設(shè)metadata已經(jīng)創(chuàng)建完成,調(diào)試機(jī)器自帶嵌入式移動寬帶設(shè)備)。
1. 檢查Metadata文件是否正確
將Metadata文件拖動到Visual Studio界面,會彈出Device Metadata Authoring Wizard 對話框,在該對話框中注意檢查以下兩項(xiàng):
1) 在Associations 標(biāo)簽下,檢查Hardware ID里的設(shè)備的PID&VID是否正確
2) 在Applications標(biāo)簽下,檢查Metro style Device App中的各項(xiàng)內(nèi)容,確保與待調(diào)試的商店應(yīng)用中的對應(yīng)項(xiàng)一致
雙擊Package.appxmanifest文件,Package 標(biāo)簽下:
@將Package name的值填到Metro style Device App 下的Package Name處;
@將Publisher 的值填到Metro style Device App 下的Publisher處;
右擊Package.appxmanifest文件,選擇”View Code”,以XML形式查看該文件
@將Application tag 的Id 屬性的值填到Metro style Device App下的App ID處
2. 重新配置metadata
1) 配置機(jī)器為測試模式:
在C:\Windows\System32目錄下,查找cmd.exe,以管理員權(quán)限打開,運(yùn)行bcdedit -set testsigning on(如需關(guān)閉測試模式可使用命令:bcdedit –set testsigning off)
2) 刪除注冊表殘留文件。如果注冊表中沒有對應(yīng)的文件,跳過此步驟。
打開注冊表編輯器
定位到 HKLM\SOFTWARE\Microsoft\WwanSvc\MobileBroadbandAccounts
該鍵下缺省情況沒有子鍵,當(dāng)移動寬帶設(shè)備第一次使用時會創(chuàng)建3個子鍵:Accounts,NetworkInterfaceBindings和Data, 刪除Accounts和NetworkInterfaceBindings這兩個子健
更多信息可參考鏈接http://msdn.microsoft.com/en-us/library/windows/hardware/dn247050.aspx中的Check the registry 章節(jié)
3) 刪除殘留的metadata文件,如果沒有殘留文件則跳過此步驟
將C:\ProgramData\Microsoft\Windows\DeviceMetadataCache\dmrccache路徑下的multiloc文件夾全部刪除
4) 將待調(diào)試的Windows商店應(yīng)用的metadata文件拷貝至以下目錄:
5) 等待一定時間,系統(tǒng)會在目錄C:\ProgramData\Microsoft\Windows\DeviceMetadataCache\dmrccache中重新生成multiloc文件夾,并在該文件夾下生成一個與metadata同名的 文件夾,如下圖所示:
打開SoftwareInfo文件夾下的SoftwareInfo.xml,確保該文件夾中的信息,如Identity Name, Publisher ,Application Id與步驟1.2中metadata的內(nèi)容一致(這里 Identity Name對應(yīng)于PackageName,Application Id對應(yīng)于App ID)。若不一致,則需要按照步驟2)到5)重新進(jìn)行設(shè)置。
此設(shè)備類商店應(yīng)用的access denied 問題常與設(shè)備的訪問權(quán)限相關(guān),通過檢查metadata文件的正確性及該文件配置的正確性,應(yīng)該可以解決access denied 的問題。
相關(guān)文章
Win10應(yīng)用商店打不開怎么辦?試試刪除商店應(yīng)用緩存來解決
Win10應(yīng)用商店打不開的問題一直困擾著某些用戶。今天小編就為大家提供解決辦法,具體內(nèi)容見本文2015-08-25安裝Windows 10商店應(yīng)用而不切換至微軟賬戶的兩種方法
win10下載應(yīng)用匯強(qiáng)制讓用戶從Windows賬戶轉(zhuǎn)向微軟賬戶(Microsoft Account),怎么才能實(shí)現(xiàn)不切換到微軟賬戶也能安裝win10應(yīng)用呢?下面分享兩種解決辦法,需要的朋友可以參2015-08-11Win10/Win8.1/WP8.1商店應(yīng)用啟用年齡分級系統(tǒng)
兩個月前,微軟開始遷移開發(fā)者中心Dev Center賬戶到新的統(tǒng)一儀表板中,這將給Windows Phone和Windows開發(fā)者中心儀表板提供新的改進(jìn),其中之一就是對商店應(yīng)用進(jìn)行年齡分級2015-07-05- 微軟也一直忙于統(tǒng)一開發(fā)中心,方便開發(fā)者提交應(yīng)用并發(fā)布到商店,現(xiàn)在微軟公布了開發(fā)者如何為其應(yīng)用添加年齡評級的一些細(xì)節(jié),一共有五個年齡評級,下面我們一起來看看吧2015-07-04
Win10預(yù)覽版(包Build9841/9860):商店應(yīng)用可添加桌面快捷方式
好消息來了,在Win10預(yù)覽版中(包括Build9841以及9860),現(xiàn)在可以通過直接拖動的方式,將Windows商店應(yīng)用的快捷方式放置到桌面上,包括系統(tǒng)自帶應(yīng)用和第三方應(yīng)用,均可采2014-10-25win8如何啟用分配訪問限制特定帳戶僅使用一個應(yīng)用商店應(yīng)用
分配訪問是一種設(shè)置,它使你可以限制特定標(biāo)準(zhǔn)帳戶僅使用一個 Windows 應(yīng)用商店應(yīng)用。若要啟用分配訪問,需要使用管理員帳戶登錄你的電腦,還需要電腦上的標(biāo)準(zhǔn)帳戶,該電腦2013-11-27Win10操作系統(tǒng)家庭版可以關(guān)閉商店應(yīng)用自動更新
微軟社區(qū)的一個版主曾經(jīng)透露,微軟有望在9月的Win10功能更新中為家庭版用戶“解鎖”應(yīng)用商店手動更新功能。更多消息參考本文2015-08-29