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