Windows Embedded Standard開(kāi)發(fā)初體驗(六)
好了,讓我們回過(guò)頭來(lái)說(shuō)Silverlight TV的那個(gè)安全限制吧,還是要強調一下,并不是所有的Silverlight都會(huì )遇到這個(gè)問(wèn)題,只是Silverlight TV調用了ActiveX組件,才會(huì )遇到這個(gè)問(wèn)題。
這個(gè)安全提示在我們平時(shí)使用IE時(shí)也經(jīng)常會(huì )遇到,點(diǎn)一下也就沒(méi)事了,畢竟為了安全著(zhù)想嘛。不過(guò)如果將這個(gè)Silverlight組件作為Shell,每次啟動(dòng)之后,都是一個(gè)黑屏,需要人工點(diǎn)一下之后才能正常運行,用戶(hù)體驗似乎不夠友好。
于是,我們就需要更改一些IE的高級安全設置來(lái)解決這個(gè)問(wèn)題了。如果熟悉IE的朋友,可能很快就知道問(wèn)題出在哪里了,不過(guò)我是在同事的幫助下花了兩天才找到問(wèn)題根源的。問(wèn)題的原因在于:
對的,就是在IE的Internet Options對話(huà)框里,安全選項(Security)中“Allow active content to run in files on My computer”的選項默認是不選的。選上這個(gè)設置之后,運行Silverlight TV時(shí)就不會(huì )有安全提示出現了。
IE的問(wèn)題解決了,可是到了Windows Embedded Standard里又有問(wèn)題了。IE的Advanced設置在WES IE組件的設置里是沒(méi)有的。所以,我們只能通過(guò)修改注冊表這一條路了。
總之,經(jīng)過(guò)了千難萬(wàn)險,我們知道了“Allow active content to run in files on My computer”對應:
HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainFeatureControlFEATURE_LOCALMACHINE_LOCKDOWN
中的“iexplore.exe”項,而且非常特別的是,該項為0,表示選中該選項;為1時(shí),則表示未選中該項。大家開(kāi)發(fā)時(shí)一定注意。
總之,我們了解了這個(gè)設置對應的注冊表項后,接下來(lái)就是在組件中添加相應的注冊表項就可以了。這個(gè)工作在前邊已經(jīng)做過(guò)了。
評論