zoukankan      html  css  js  c++  java
  • CAB包的自动化编译及注意事项

      因之前的自动编译脚本不能实现CAB包的编译,所以系统中使用的CAB包都是工程师自己编译好再上传的。最终系统中使用不是自动编译过程生成的CAB包,CAB包的质量及正确性无法保证,主要是源代码,因CAB包不参加编译,发生过不至一次源代码与CAB包不一致,甚至源代码根本无法编译的情况。所以才痛下决心要将CAB包加入到自动代码编译过程中。以下是遇到的一些问题及注意事项。

      1, 生成CAB包的工具以WINCE Cab manger最好用,但它不支持命令行模式。我这里采用WINCE自带的工具cabwizz。在public目录下搜索即可找到。它包含一个EXE和一个DDF文件。cabwizz的使用方法比较简单,调用它时传入inf(生成CAB包时使用的配置文件)即可,它会根据inf的配置生成一个与INF文件同名的CAB包。除了CAB包的名称不能通过INF文件指定外,其它的参数都在INF文件中指定。

      2,因为INF文件不支持环境变量(只能使用系统指定的那几个),所以无法指定从特定的目录来读取源文件。可以将所有CAB包要使用的源文件(包括INF文件)拷贝到同一个目录,再进行打包。这时就需要注意:每个CAB包使用的源文件都拷贝到了同一目录。所以这些CAB包中使用的源文件不能同名。

      3,cabwizz不支持中文文件名,如果指定的目标文件是中文时cabwizz会出错。这时就需要通过一些非常手段来解决。例如可以先将源文件安装到一个临时目录,再将其移动到指定目标。

      4,各CAB包使用的可执行文件可以通过build脚本编译,或者通过vs2005等工具来编译(如果是VS工程)。总之,在生成CAB包之前这些文件已经存在就行了。

  • 相关阅读:
    oracle入门
    转-nginx详解
    VNX磁盘状态分析
    Linux下确定哪个网卡对应哪个接口?
    企业运维人员最常用150个linux命令汇总
    linux系统LVM管理-逻辑卷扩容
    VNX1代-VNX2代
    VNX-SPS电池
    VNX存储系统,在磁盘做rebuilding的时候是否可以更换故障硬盘?
    Ubuntu系统挂载大于2T新硬盘方法
  • 原文地址:https://www.cnblogs.com/ceblog/p/2102498.html
Copyright © 2011-2022 走看看