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

发布于 2024-07-13 04:12:14 字数 300 浏览 8 评论 0原文

为我们的产品构建 Windows Mobile cab 时,Windows CE CAB 向导 (CabWiz.exe) 有时会返回错误:

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

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

以前有人遇到过这个问题吗? 谢谢!

When building the windows mobile cab for our product, the windows CE CAB Wizard (CabWiz.exe) sometimes returns the error:

Error: File
c:\docume~1\build\locals~1\temp\wiz3340.inf
contains DirIDs, which are not
supported

This error can occur when using more than 998 files, ~260 directories, or when a % sign is unescaped (with another %), but these don't apply in our case.

Has anyone run into this issue before? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷鸟归林 2024-07-20 04:12:14

我今天遇到了这个问题,并找到了一个适合我的解决方案:

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
文件\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,仅指定下面的一个条目
[目标目录]。 所以,我没有意识到的另一个限制是:VS2008
CabWiz 最多可以解析 [DestinationDirs] 下的 262 个不同条目。

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

I ran into this issue today, and found a solution for me that worked here:

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

So I thought: ok, he's hitting the known limit of 998 files that could
be packaged in a CAB... Wrong: the problem happened also when using
much less files, say 300... I'm still talking about C:\Program
Files\Microsoft Visual Studio
9.0\SmartDevices\SDK\SDKTools\CabWiz.exe, version 4.0.4332.0.

After running some tests, I reached a magic number: 262. With 262
files VS2008 could create a Smart Device CAB successfully, with 263
files it gave error "x.inf contains DirIDs, which are not supported".
At this point I noticed that in the .INF file that VS2008 creates and
gives to CabWiz.exe, it wrote an entry under [DestinationDirs] for
each added file, even if the target folder on the device is the same,
as it was in my case. By manually editing the INF (using some
applications that automated lines-creation...), I could successfully
create a CAB for 263+ files, specifying only one entry under
[DestinationDirs]. So, another limit I wasn't aware of is: VS2008's
CabWiz can parse up to 262 different entries under [DestinationDirs].

Now: Windows Mobile 6 SDKs ship with a newer version of CabWiz.exe,
v4.5.5102.0 and, very interestingly, it overcame not only the
limitation about 998 files, but also the one about 262 entries under
[DestinationDirs]. So the "simple" solution in this case was to
download one of the 2 Windows Mobile 6 SDKs and use that CabWiz.exe
(C:\Program Files\Windows Mobile 6 SDK\Tools\CabWiz).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文