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

问题描述 投票:2回答:1

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

错误:文件c:\ docume~1 \ build \ locals~1 \ temp \ wiz3340.inf包含DirID,不支持

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

有没有人遇到过这个问题?谢谢!

installer windows-ce cab cabwiz
1个回答
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

所以我想:好吧,他已经达到了可以打包在CAB中的998个文件的已知限制......错误:问题发生在使用更少的文件时,比如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创建并提供给CabWiz.exe的.INF文件中,它在[DestinationDirs]下为每个添加的文件写了一个条目,即使设备上的目标文件夹是相同的,就像它在我的情况。通过手动编辑INF(使用一些自动创建线路的应用程序......),我可以成功为263+文件创建一个CAB,在[DestinationDirs]下只指定一个条目。所以,另一个我不知道的限制是:VS2008的CabWiz可以在[DestinationDirs]下解析多达262个不同的条目。

现在:Windows Mobile 6 SDK附带了更新版本的CabWiz.exe,v4.5.5102.0,非常有趣的是,它不仅克服了998个文件的限制,还克服了[DestinationDirs]下的262个条目的限制。因此,在这种情况下,“简单”解决方案是下载2个Windows Mobile 6 SDK中的一个并使用该CabWiz.exe(C:\ Program Files \ Windows Mobile 6 SDK \ Tools \ CabWiz)。

© www.soinside.com 2019 - 2024. All rights reserved.