最近在发现在开发过程中新增的目录或文件(特别是dllocxexe等二进制文件),在升级安装时拷贝失败。
经过一周的研究,完美解决办法:
对于新增的文件或目录,放到一个新的component中,并且这个component需要关联到原feature的子feature(新增)中, 该子feature需设成require属性为yes,并且在component中设置一个keyf ile.
总结的一点经验:
1.安装包中添加的文件最好不要用dynamic linking的方式,除非处在英目录开发完成维护阶段,此时安装包中的文件结果不会有大的变化。但是如果是在开发过程中,最好,每一个目录都做成component,并且设置一个key file(在更新时如果缺少key file,整个component都会重新拷贝,这样利于升级包升级)
- component中所有文件都设成always overwrite属性。component不要设置share属性(引用计数)。
- reinstallmodetext改为emus(相同或更新版本)
- setup design中可通过拖拽来关联component和feature