无法在Windows CE 6中重新加载ActiveX控件

Unable to reload ActiveX control in Windows CE 6

本文关键字:加载 控件 ActiveX 新加载 Windows CE      更新时间:2023-10-16

我正在开发一个针对Windows CE 6的ActiveX控件(在Motorola Workabout Pro 4上,如果指定帮助)。我有第一阶段的工作,在某种意义上,我可以在Visual Studio中编译,并使用简单的CAB文件进行部署。

然而,我发现它非常碰运气,至于我是否可以更新设备上的控制。如果我执行干净的重建(确保事先删除所有中间文件)并重新部署CAB文件,我发现任何更改都没有反映在部署的代码中:在设备上的IE中以及通过Visual Studio 2008连接和调试时,输出都是不变的。其次,我在调试器中添加的任何断点都不再命中。

如果我手动替换dll文件,这仍然没有效果。更奇怪的是,如果我完全删除dll,控制仍然继续工作!

在WinCE和ActiveX开发方面,我是一个初学者,所以任何关于我在这里缺失的东西的提示都将非常感谢!

在这种情况下,我的问题是,我没有正确地注册我的dllCOM

最简单的解决方案是我改变CAB文件,使dll自注册。在我的例子中,这是通过在Visual Studio中为dll更改CAB文件属性中的一个参数来完成的。这导致<parm name="SelfRegister" />被添加到CAB _setup.xml文件:

...
<characteristic type="%CE2%" translation="install">
  <characteristic type="MakeDir" /> 
  <characteristic type="output.dll" translation="install">
    <characteristic type="Extract">
      <parm name="Source" value="OUPUT~1.002" /> 
      <parm name="SelfRegister" />
    </characteristic>
  </characteristic>
</characteristic>
...