Windows Embedded征文比赛

马宁的嵌入式开发研究

Windows Mobile, Windows Embedded
posts - 46, comments - 228, trackbacks - 17, articles - 0

2008年7月14日

 IE的安全限制
       好了,让我们回过头来说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_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN

       中的“iexplore.exe”项,而且非常特别的是,该项为0,表示选中该选项;为1时,则表示未选中该项。大家开发时一定注意。

       总之,我们了解了这个设置对应的注册表项后,接下来就是在组件中添加相应的注册表项就可以了。这个工作在前边已经做过了。

posted @ 2008-08-11 11:08 马宁 阅读(1114) | 评论 (1)编辑

导入组件数据库
       将组建导入组件数据库的工作相对简单,只需要打开Component Database Manager,然后在Database属性页中,点击Import按钮。在弹出的Import SLD对话框中,首先选择SDL file,也就是我们刚才通过Component Designer编辑好的组件,然后点击Import按钮就可以了。

 

       因为导入的文件有些多,所以可能会延时几秒钟,等看到文件被成功导入的提示后,就可以关闭Component Database Manager,打开Target Designer来设计我们的操作系统了。

        创建Silverlight播放器

       在已经创建过一个Target Image之后,我们创建一个以Silverlight为Shell的Image看起来也不是那么复杂。还是让我们回到Target Designer中吧。首先创建一个新的Configuration。

       然后添加下面的这些组件:

       1, Software àTest & Deployment à Virtual PC 2004 Helper Macro

       2, SoftwareàSystemàSecurityàInfrastructureàWindows Logon (Standard)

       3, Software à System àUser Interface àShells à MyShell(这个就是你创建的Shell组件)

       4, Software à Test & Deployment à Runtime Quick Start Helper Macro


       我们打开Runtime Quick Start Helper Macro节点,选中Setting,然后在右边的属性窗口中,不选中Explorer shell。如果不去掉Explorer shell,它将在依赖检查时与我们创建的MyShell发生冲突。

       好了,在完成这一步后,按F5进行依赖检查。在依赖检查完成后,我们还需要设置一下显示器的分辨率,在中间区域被添加的组件中找到“S3 Trio64V+”显卡驱动组件,选中其Setting。在右边的设置窗口中,将Screen resolution选择为“1024 by 768 pixels”。


       好了,完成这一步之后,我们可以放心大胆地F7,编译Windows Embedded Standard的Image,然后将其部署到另外的VPC中去。

       在经历了FBA之后,我们会看到系统启动后,直接进入了Silverlight的显示界面:

       COOL吧?至少我觉得挺酷的。

posted @ 2008-08-11 10:40 马宁 阅读(997) | 评论 (0)编辑

添加文件、依赖组件、注册表


       接下来我们就要进入创建组件最重要的一环了,添加文件。为什么说重要,因为这里有一个大坑,我在Windows Embedded Standard产品组施卫娟老师的指导下,花了两周的时间才勉强爬出来,可见该坑之深。

       在这里我们使用了一个现成的Demo,SilverlightTV作为我们的目标文件。SilverlightTV中包含很多文件和文件夹。我们要做的第一件事,就是将所有文件拷贝到一个文件夹中。这一点非常重要,因为考虑到效率问题,Windows Embedded Standard组件中的文件只能包括在同一个文件夹中。

       主要提示:如果将包含子目录的文件夹添加到组件中,组件设计器不会报错,而要等到这个组件加入到Target Designer时,才会报文件找不到的错误,并且在构建好的Image文件中,只会包括文件夹,而不会包括其中的文件。

       不过,新的问题就来了,如果我的文件结构是固定的,并且有相互的依赖关系,把所有文件都放到一个文件夹后,程序无法正常运行该怎么办呢?我们自然有办法,不过现在,还是赶紧将所有文件放在一个文件夹中吧,这个文件夹就是添加Repositories时指定的Source Path文件夹。不过千万记清文件原来所在的文件夹,否则下一步就麻烦了。


       做完这步之后,回到Component Designer中,在Files节点单击右键,在菜单中选择Add – Files in Folder,在稍后弹出的对话框中,选择我们放置源文件的文件夹。经过下面的处理过程之后,文件夹中所有的文件都被加入到组件中了


       不过问题是,所有的文件还被放置在同一个目录中,无法正常执行。这时,我们要通过一个比较繁琐的过程来解决这个问题——修改文件的目的文件夹。在右侧的文件列表中,选中某一个文件,双击,打开文件编辑对话框:


       我们打开的是一个wmv文件,我们只需要修改Destination中的目录结构,%24%是一个转义字符,表示C盘,我们不要去动它。根据我们文件的原始位置填写目的文件的所在目录就可以了。这个工作要花费一段时间,需要点耐心。

       接下来,我们要添加组件的Group Memberships,表示组件在组件目录树中所处的位置。我们在“Group Memberships”节点上右键选择“Add Group Membership”命令。在弹出的对话框中,选择SoftwareàSystemàUser InterfaceàShells,然后选择Shell即可。点击OK,关闭对话框。

       接下来为组件添加依赖关系。依赖关系表明该组件依赖于那些组件,当我们添加了该组件到Target Image中时,在依赖检查时,会将其所依赖的组件也添加到Image中。


       我们选择“Component or Group Dependency”,右键菜单中“Add”-“Component Dependency”,会弹出添加组件依赖对话框。

       我们在“Component dependency source”选择Database,即选择组件数据库中的组件。然后找到SoftwareàSystemàNetworking & Communicationsà ApplicationsàInternet Explorer – Hotfix Q321232,并且确认My Component下选择的是“Depends on the selected component”,然后点击Apply按钮,添加依赖关系。

       这时对话框不会关闭,所以我们还需要添加第二个依赖组件,就是大名鼎鼎的


       好了,到这里,我们的组件就基本完成了,哦,还忘了件事,添加注册表。不过请大家注意的是,并不是每个Silverlight组件都需要添加注册表项,是因为SilverlightTV这个组件中调用了ActiveX,IE中会有安全限制,所以我们才通过修改注册表的方式来规避这个问题。关于IE安全限制的问题,我们后边会专门说明,在这里大家只要了解如何为组件添加注册表项就可以了。


       在Component Designer中选择Registry Data,右键菜单中选择添加注册表项。我们可以点击Key name后边的Browse按钮,在注册表中定位要添加的项。我们要添加的项为:

       HKEY_CURRENT_USER\Software\Microsoft\Internet        Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN

       中的“iexplore.exe”项,值为DWORD,设置为0。

       大家一看就知道这个选项是与IE有关的,至于什么关系,我们先卖个关子,稍后再说。先点击OK,关闭注册表编辑对话框。

       好了,到这里我们支持Silverlight的Shell组件终于编辑完成了。好的,赶紧保存一下吧。不过,我们怎么在Target Designer里使用这个组件呢?

       这就要看下一节的了……

posted @ 2008-08-01 11:20 马宁 阅读(1192) | 评论 (1)编辑

 

岗位描述:

负责产品的设计、开发和优化;

 

任职要求:

1.       计算机相关专业大学本科以上学历,具有扎实的计算机基础理论知识

2.       具备强烈的进取心、求知欲及团队合作精神,有较强的沟通及协调能力

3.       熟悉MVC体系结构,对架构的设计有一定了解

4.       精通PHP语言,熟练掌握PerlC/C++Java.NET开发

5.       熟悉CGI标准和HTTP等互联网协议

6.       熟悉Unix/Linux操作系统和开发环境,能够熟练配置Apache服务器

7.       三年以上业界工作经验,有完整PHP项目开发经验,具有大型互联网应用开发经验者优先

8.       熟悉HTMLDHTMLJavaScript脚本语言

9.       熟练掌握C/C++/Perl/Java/C#语言者优先

10.   熟悉SQL语言,对mysql/MS SQL/Oracle其中一种数据库管理系统熟练掌握,对mysql数据库精通者优先

 

公司介绍:

为加快发展和研发新型的互联网应用,赶集网(www.ganji.com),作为中国第一大分类信息互联网服务提供商和google战略合作伙伴,我们资金实力雄厚,发展空间广泛。我们正在招贤纳士,诚邀优秀的人才加盟。在这里,你能找到你的定位,你能发挥你的才能,你更能够获得与你价值对等的收益!

 

 简历发至:luojian(at)staff.ganji.com

友情提示:简历请详细写项目经验,你在项目中扮演什么角色,完成哪部分,能用数字佐证你的贡献和实力就最好了。

posted @ 2008-07-16 16:47 马宁 阅读(350) | 评论 (0)编辑

 

为了促进Windows Embedded技术的发展,鼓励原创作者更多分享自己的宝贵经验。微软(中国)平台及开发合作部和嵌入式产品市场部与博客园、天极网、IT168winbile和嵌入式在线共同举办了本次Windows Embedded征文比赛。

比赛方式

1,  比赛内容:

分为技术文章和非技术文章两大类。

技术文章涉及的范围:Windows Embedded CEWindows Embedded Standard (XPe)WEPOS.NET Micro Framework等嵌入式技术。

非技术文章以“我的嵌入式生活”为题,描述嵌入式设备改变您生活,或者对未来嵌入式设备的畅想。

2,  参赛方式:

1)  在任何网站、BLOG或论坛公开发表您的文章,只要无需注册能够在互联网上看到您的文章即可;

2)  在大赛指定的投稿页面,按照页面提示填写投稿申请;

3)  请认真填写联系方式和邮寄地址,以防止获奖后无法及时收到奖品;

4)  在“查看已投”页面查看自己的文章是否被正常提交。

3,  获奖名单:

比赛结果公布后,会在MSDN中文网站及各大合作网站上发布获奖信息,并在获奖名单后标识作者所在的网站。

4,  文章内容:

文章可以是新创作作品,也可以是作者已经发表在互联网上的文章。新创作作品会有适当加分奖励。

奖项设立

比赛分为“技术文章”和“非技术文章”两大类,各自设立:

一等奖:一名

奖品:

微软无线光学桌面套装2000 + Windows Embedded T-Shirt

二等奖:两名

奖品:1G USB-Disk + Windows Embedded T-Shirt

三等奖:三名

奖品:人民邮电嵌入式开发书籍 + Windows Embedded T-Shirt

鼓励奖:若干名

奖品:Windows Embedded T-Shirt

  • 奖品由微软(中国)和人民邮电出版社提供;
  • 获奖者有机会参与之后的Embedded专家俱乐部活动。

比赛时间

  • 200878日开始比赛报名与文章提交工作;
  • 200888日比赛截至;
  • 2008828日公布比赛结果。

评选方式

  • 由微软技术专家完成初选,选出技术类与非技术类各20篇;
  • 由微软技术专家、MVP组成的专家团进行无记名评分,评选出最终获奖者。

注意事项

1,  所提交作品应为作者独立创作,谢绝转载及翻译稿件;

2,  多位作者共同完成作品,应征得所有作者同意,由经所有作者署名后提交;

3,  参加比赛的作者应征得版权所有者的同意,否则引起的法律问题由作者自行解决。

posted @ 2008-07-14 14:09 马宁 阅读(106) | 评论 (1)编辑

Windows Embedded征文比赛