1

升级到 Windows 10 1809 后,我无法在 Visual Studio 2008 Pro 中构建 Cab 项目。我们打包到 CAB 文件中的应用程序适用于 Windows CE 6.0,因此是 Visual Studio 的古老版本。

我可以在输出窗口中看到正在运行以下命令:

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\smartdevices\sdk\sdktools\cabwiz.exe" "C:\VB2008PRO\Stock System v4.0.6764.19135\CABProject\Release\CABProject.inf" /dest "C:\VB2008PRO\Stock System v4.0.6764.19135\CABProject\Release\" /err CabWiz.log

如果我自己运行它,我看到退出代码是 1,所以出了点问题。

我在 CabWiz.log 文件中看到的输出是:

Warning: Section [RegKeys] has no data
Warning: Section [DefaultInstall] key "AddReg" - there are no section entries to process
Error: CAB file "C:\VB2008PRO\Stock System v4.0.6764.19135\CABProject\Release\CABProject.CAB" could not be created

所以我可以看到无法创建 CABProject.CAB 文件,但这是什么原因?我尝试暂时禁用防病毒软件,但这不是原因。

我不可能是唯一一个在 Windows 1809 中尝试过此操作的人……还有其他人遇到过这个问题吗?

4

1 回答 1

1

看起来,要在 Windows 中构建 CAB 项目,您需要启用 8.3 文件名创建,并确保您的文件在重新启用后具有 8.3 文件名。

  1. 使用fsutil检查项目所在的卷上是否启用了 8.3 文件名。

    C:\Users\matty>fsutil 8dot3name query c: Volume state is: 0 (8dot3 name creation is enabled). 注册表状态为:0(在所有卷上启用 8dot3 名称创建)。

    基于以上设置,在 c 上启用 8dot3 名称创建:

  2. 如果 8dot3 名称创建被禁用,请在注册表中或通过命令行启用它:

    fsutil 8dot3name 设置 C: 1

此操作立即生效(无需重新启动)。

  1. 存档并删除文件,然后将它们解压缩回同一位置。这是我发现让 Windows 为项目中的所有文件生成所有 8dot3 文件名的唯一可靠方法。

  2. 构建您的 CAB 项目!

于 2019-01-25T09:47:54.667 回答