WinCE CabWiz错误:“inf包含DirID,不支持”

时间:2009-01-30 22:09:56

标签: installer windows-ce cab cabwiz

为我们的产品构建Windows移动驾驶室时,Windows CE CAB向导(CabWiz.exe)有时会返回错误:

  

错误:文件   C:\ DOCUME〜1个\编译\ LOCALS〜1个\ TEMP \ wiz3340.inf   包含DirID,但不包含   支持的

当使用超过998个文件,~260个目录,或者%符号未转义(使用另一个%)时,可能会发生此错误,但这些不适用于我们的情况。

之前是否有人遇到此问题?谢谢!

1 个答案:

答案 0 :(得分:2)

我今天遇到了这个问题,为我找到了一个解决方案:

https://web.archive.org/web/20100330064330/http://blogs.msdn.com/raffael/archive/2008/03/18/x-inf-contains-dirids-which-are-not-supported.aspx

  

所以我想:好吧,他已经达到了可能的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)。