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