为我们的产品构建Windows移动驾驶室时,Windows CE CAB向导(CabWiz.exe)有时会返回错误:
错误:文件 C:\ DOCUME〜1个\编译\ LOCALS〜1个\ TEMP \ wiz3340.inf 包含DirID,但不包含 支持的
当使用超过998个文件,~260个目录,或者%符号未转义(使用另一个%)时,可能会发生此错误,但这些不适用于我们的情况。
之前是否有人遇到此问题?谢谢!
答案 0 :(得分:2)
我今天遇到了这个问题,为我找到了一个解决方案:
所以我想:好吧,他已经达到了可能的998个文件的已知限制 被包装在CAB中......错误:问题也发生在使用时 更少的文件,比如300 ...我还在谈论C:\ Program Files \ Microsoft Visual Studio 9.0 \ SmartDevices \ SDK \ SDKTools \ CabWiz.exe,版本4.0.4332.0。
经过一些测试后,我达到了一个神奇的数字:262。用262 文件VS2008可以成功创建智能设备CAB,263 它给出错误的文件“x.inf包含不支持的DirID”。 此时我注意到在VS2008创建的.INF文件中 给了CabWiz.exe,它在[DestinationDirs]下写了一个条目 每个添加的文件,即使设备上的目标文件夹相同, 就像我的情况一样。通过手动编辑INF(使用一些 自动创建线路的应用......),我可以成功 为263+个文件创建一个CAB,只指定一个条目 [DestinationDirs]。所以,我不知道的另一个限制是:VS2008 CabWiz可以在[DestinationDirs]下解析多达262个不同的条目。
现在:Windows Mobile 6 SDK附带了较新版本的CabWiz.exe, v4.5.5102.0,非常有趣的是,它不仅克服了 约998个文件的限制,但也有一个约262个条目 [DestinationDirs]。因此,在这种情况下,“简单”的解决方案是 下载2个Windows Mobile 6 SDK中的一个并使用该CabWiz.exe (C:\ Program Files \ Windows Mobile 6 SDK \ Tools \ CabWiz)。