最近又碰到了“无法打开文件XXX。可能它不是使用可信证书进行签名的或找不到它的某个组件,如果问题依旧,请尝试重新安装或恢复此文件”问题。虽然算不上是什么严重的BUG,但在这个小阴沟里翻船总是让人更有挫败感。这个问题以前也出现过,当时没当一回,稀里糊涂的就解决了。这一次却费了差不多一天的时间,可能前几天没睡好,脑子有点不好使了。
该问题具体的情形是这样的,项目代码是在wm6.0的SDK下写的。也一直在wm6.0的机器上运行,现在要求兼容wm5.0的手机。所以就在VS2005的配置管理中直接添加了对wm5.0的支持。
新添加的5.0的工程设置是直接从6.0设置中COPY的。虽然现在用5.0的SDK可以顺利的编译并打包,但是安装后在5.0上却跑不起来。界面上的提示就是该程序不是使用可信任的证书……
问题的根源在于新添加的5.0设置是直接从6.0 Copy过来的,本质上还是6.0的设置。大家都知道软件如果发生了变化最多也是向下兼容的,所以这个本质上6.0的程序在5.0的环境下得不到支持。
知道了原因,解决起来就是方便了。有两种办法:
1、重启建立工程文件,在新建项目时首先选择5.0的SDK。在5.0的环境下测试通过后,再添加对6.0的支持。(直接在建立project时选择同时支持5.0 6.0SDK的方法我没有试过,不知道行不行。大家可以自己去试一下)
2、找到一个现存的5.0的工程文件,仔细比较有差异的地方,手动修改。
第一个方法应该是一定有效的,只不过耗费的时间可能会更长,这要看你的project的规模而定。如果代码很少,这个方法应该会更加快一点;第二个方法在project比较大的时候会更快,但要更加小心仔细。最好在修改之间做好备份,以免发生意外。