開(kāi)發(fā)Windows商店應(yīng)用時(shí)使用SmsDevice類(lèi)API遇到的Access Denied問(wèn)題解決方法
在開(kāi)發(fā)基于Windows商店的SMS短信設(shè)備應(yīng)用時(shí),需要使用SmsDevice類(lèi)API,該類(lèi)API僅能用于移動(dòng)運(yùn)營(yíng)商的商店應(yīng)用(MBAE App)或運(yùn)營(yíng)商、移動(dòng)寬帶設(shè)備供應(yīng)商授權(quán)的Windows 商店設(shè)備應(yīng)用,即此類(lèi)應(yīng)用必須配以相應(yīng)的配置文件Service/Device Metadata,使得綁定的Windows 商店應(yīng)用獲得使用SmsDevice API的權(quán)限。如果metadata配置出現(xiàn)問(wèn)題,那么就會(huì)遇到Access Denied問(wèn)題。這時(shí)候我們可參照如下過(guò)程進(jìn)行手工配置。(基于Windows 8 和Visual Studio 2012,假設(shè)metadata已經(jīng)創(chuàng)建完成,調(diào)試機(jī)器自帶嵌入式移動(dòng)寬帶設(shè)備)。
1. 檢查Metadata文件是否正確
將Metadata文件拖動(dòng)到Visual Studio界面,會(huì)彈出Device Metadata Authoring Wizard 對(duì)話框,在該對(duì)話框中注意檢查以下兩項(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)用中的對(duì)應(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è)試模式:
在C:\Windows\System32目錄下,查找cmd.exe,以管理員權(quán)限打開(kāi),運(yùn)行bcdedit -set testsigning on(如需關(guān)閉測(cè)試模式可使用命令:bcdedit –set testsigning off)
2) 刪除注冊(cè)表殘留文件。如果注冊(cè)表中沒(méi)有對(duì)應(yīng)的文件,跳過(guò)此步驟。
打開(kāi)注冊(cè)表編輯器
定位到 HKLM\SOFTWARE\Microsoft\WwanSvc\MobileBroadbandAccounts
該鍵下缺省情況沒(méi)有子鍵,當(dāng)移動(dòng)寬帶設(shè)備第一次使用時(shí)會(huì)創(chuàng)建3個(gè)子鍵:Accounts,NetworkInterfaceBindings和Data, 刪除Accounts和NetworkInterfaceBindings這兩個(gè)子健
更多信息可參考鏈接http://msdn.microsoft.com/en-us/library/windows/hardware/dn247050.aspx中的Check the registry 章節(jié)
3) 刪除殘留的metadata文件,如果沒(méi)有殘留文件則跳過(guò)此步驟
將C:\ProgramData\Microsoft\Windows\DeviceMetadataCache\dmrccache路徑下的multiloc文件夾全部刪除
4) 將待調(diào)試的Windows商店應(yīng)用的metadata文件拷貝至以下目錄:
5) 等待一定時(shí)間,系統(tǒng)會(huì)在目錄C:\ProgramData\Microsoft\Windows\DeviceMetadataCache\dmrccache中重新生成multiloc文件夾,并在該文件夾下生成一個(gè)與metadata同名的 文件夾,如下圖所示:

打開(kāi)SoftwareInfo文件夾下的SoftwareInfo.xml,確保該文件夾中的信息,如Identity Name, Publisher ,Application Id與步驟1.2中metadata的內(nèi)容一致(這里 Identity Name對(duì)應(yīng)于PackageName,Application Id對(duì)應(yīng)于App ID)。若不一致,則需要按照步驟2)到5)重新進(jìn)行設(shè)置。
此設(shè)備類(lèi)商店應(yīng)用的access denied 問(wèn)題常與設(shè)備的訪問(wèn)權(quán)限相關(guān),通過(guò)檢查metadata文件的正確性及該文件配置的正確性,應(yīng)該可以解決access denied 的問(wèn)題。
相關(guān)文章
Win10應(yīng)用商店打不開(kāi)怎么辦?試試刪除商店應(yīng)用緩存來(lái)解決
Win10應(yīng)用商店打不開(kāi)的問(wèn)題一直困擾著某些用戶(hù)。今天小編就為大家提供解決辦法,具體內(nèi)容見(jiàn)本文2015-08-25安裝Windows 10商店應(yīng)用而不切換至微軟賬戶(hù)的兩種方法
win10下載應(yīng)用匯強(qiáng)制讓用戶(hù)從Windows賬戶(hù)轉(zhuǎn)向微軟賬戶(hù)(Microsoft Account),怎么才能實(shí)現(xiàn)不切換到微軟賬戶(hù)也能安裝win10應(yīng)用呢?下面分享兩種解決辦法,需要的朋友可以參2015-08-11Win10/Win8.1/WP8.1商店應(yīng)用啟用年齡分級(jí)系統(tǒng)
兩個(gè)月前,微軟開(kāi)始遷移開(kāi)發(fā)者中心Dev Center賬戶(hù)到新的統(tǒng)一儀表板中,這將給Windows Phone和Windows開(kāi)發(fā)者中心儀表板提供新的改進(jìn),其中之一就是對(duì)商店應(yīng)用進(jìn)行年齡分級(jí)2015-07-05Win10商店應(yīng)用和游戲年齡評(píng)級(jí)要求曝光
微軟也一直忙于統(tǒng)一開(kāi)發(fā)中心,方便開(kāi)發(fā)者提交應(yīng)用并發(fā)布到商店,現(xiàn)在微軟公布了開(kāi)發(fā)者如何為其應(yīng)用添加年齡評(píng)級(jí)的一些細(xì)節(jié),一共有五個(gè)年齡評(píng)級(jí),下面我們一起來(lái)看看吧2015-07-04Win10預(yù)覽版(包Build9841/9860):商店應(yīng)用可添加桌面快捷方式
好消息來(lái)了,在Win10預(yù)覽版中(包括Build9841以及9860),現(xiàn)在可以通過(guò)直接拖動(dòng)的方式,將Windows商店應(yīng)用的快捷方式放置到桌面上,包括系統(tǒng)自帶應(yīng)用和第三方應(yīng)用,均可采2014-10-25win8如何啟用分配訪問(wèn)限制特定帳戶(hù)僅使用一個(gè)應(yīng)用商店應(yīng)用
分配訪問(wèn)是一種設(shè)置,它使你可以限制特定標(biāo)準(zhǔn)帳戶(hù)僅使用一個(gè) Windows 應(yīng)用商店應(yīng)用。若要啟用分配訪問(wèn),需要使用管理員帳戶(hù)登錄你的電腦,還需要電腦上的標(biāo)準(zhǔn)帳戶(hù),該電腦2013-11-27Win10操作系統(tǒng)家庭版可以關(guān)閉商店應(yīng)用自動(dòng)更新
微軟社區(qū)的一個(gè)版主曾經(jīng)透露,微軟有望在9月的Win10功能更新中為家庭版用戶(hù)“解鎖”應(yīng)用商店手動(dòng)更新功能。更多消息參考本文2015-08-29

