The Third-Party INF Does Not Contain Digital Signature Information

If you are trying to install a driver from a small developer or you want to use an old driver, you may see this alert:

Windows Encountered a Problem Installing the Driver Software For Your Device

Windows found driver software for your device but encountered an error while attempting to install it

The Third-Party INF Does Not Contain Digital Signature Information

In my case I was trying to install a 5 year old Contex Scanner ($20K!) into a Windows 10 PC when I saw this error.  In previous operating systems you would receive the same error but have a button (in red I believe) that let you click on INSTALL ANYWAY.  Under Windows 10, you have two choices to get Windows to not check for Digital Signatures:

SCRIPT TO DISABLE DIGITAL SIGNATURE CHECKING:

  1. Launch an elevated CMD prompt (run as Admin)
  2. Type in:
    bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS
    and press the ENTER key
  3. Type in:
    bcdedit /set testsigning on
    and press the ENTER key
  4. Try the install again

GUI TO DISABLE DIGITAL SIGNATURE CHECKING:

  1. Click START and type RECOVERY OPTIONS (not Recovery Control Panel)
  2. Click ADVANCED STARTUP and let it reboot
  3. After boot, click on ADVANCED OPTIONS > STARTUP SETTINGS
  4. Then select DISABLE DRIVER SIGNATURE ENFORCEMENT from the list
  5. The machine will boot and then you can install your unsigned drivers and have a happy day

Note that the specific text will be slightly different depending on your version of Windows 10 but the process remains the same.  If you have other questions, you might find THIS Microsoft post useful.

FYI:

https://www.cnblogs.com/zhengrui0452/archive/2013/06/03/3115121.html

https://www.urtech.ca/2016/01/solved-the-third-party-inf-does-not-contain-digital-signature-information/#:~:text=GUI%20TO%20DISABLE%20DIGITAL%20SIGNATURE,STARTUP%20and%20let%20it%20reboot&text=Then%20select%20DISABLE%20DRIVER%20SIGNATURE,and%20have%20a%20happy%20day

你遇到的错误信息如下: ``` CMake Error at third-party/CMakeLists.txt:8 (add_subdirectory): The source directory /tmp/bdpv300/exectorch/executorch-main/third-party/json does not contain a CMakeLists.txt file. CMake Error at third-party/CMakeLists.txt:9 (add_subdirectory): The source directory /tmp/bdpv300/exectorch/executorch-main/third-party/gflags does not contain a CMakeLists.txt file. CMake Error at .../ExternalProject.cmake:3259 (message): No download info given for 'flatbuffers_ep' and its source directory: /tmp/bdpv300/exectorch/executorch-main/third-party/flatbuffers is not an existing non-empty directory. ``` --- ### ✅ 错误含义: 这些错误说明: 1. **`json` 和 `gflags` 子模块缺失 CMakeLists.txt 文件**,可能是这些第三方库未正确下载或未初始化。 2. **`flatbuffers` 第三方依赖路径为空或不存在**,且 CMake 无法自动下载,因为它没有指定 `URL`、`GIT_REPOSITORY` 等参数。 这通常是因为你使用的是 **从 GitHub 下载的 `.zip` 源码包(executorch-main.zip)**,而没有使用 Git 克隆并初始化子模块。 --- ## ✅ 正确做法:使用 Git 克隆并初始化子模块 Executorch 项目使用了 Git Submodule 来管理第三方依赖(如 json、gflags、flatbuffers 等),因此你必须使用 Git 克隆项目并初始化子模块。 --- ### 🔧 步骤 1:使用 Git 克隆 Executorch 并初始化子模块 ```bash git clone https://github.com/pytorch/executorch.git cd executorch git submodule init git submodule update ``` 如果你使用了特定分支,比如 `main` 或 `release-v0.3.0`,请切换分支后再次更新子模块: ```bash git checkout main git submodule update --init --recursive ``` --- ### 🔧 步骤 2:确认第三方依赖是否完整 检查以下目录是否存在并包含 `CMakeLists.txt` 文件: ```bash ls third-party/json/ # 应该有 CMakeLists.txt ls third-party/gflags/ # 同上 ls third-party/flatbuffers/ # 同上 ``` 如果这些目录是空的或不存在,说明子模块未正确初始化。 --- ## ✅ 如果你只能使用 executorch-main.zip(无子模块) 由于 `.zip` 包不包含 Git 子模块内容,你需要手动下载每个依赖并放置到对应目录中。 ### 📦 手动下载第三方依赖示例 | 依赖名 | Git 仓库地址 | 放置路径 | |--------------|----------------------------------------------------|------------------------------------| | json | https://github.com/nlohmann/json | `third-party/json` | | gflags | https://github.com/gflags/gflags | `third-party/gflags` | | flatbuffers | https://github.com/google/flatbuffers | `third-party/flatbuffers` | #### 示例:手动下载 json ```bash cd third-party rm -rf json git clone https://github.com/nlohmann/json.git ``` #### 示例:手动下载 gflags ```bash cd third-party rm -rf gflags git clone https://github.com/gflags/gflags.git ``` #### 示例:手动下载 flatbuffers ```bash cd third-party rm -rf flatbuffers git clone https://github.com/google/flatbuffers.git ``` --- ## ✅ 修改 CMakeLists.txt(可选)跳过部分依赖 如果你只使用 `.pte` 模型推理,可以尝试注释掉不需要的第三方依赖,例如: ### 修改 `third-party/CMakeLists.txt` ```cmake # add_subdirectory(json) # add_subdirectory(gflags) # ExternalProject_Add(flatbuffers_ep ...) ``` 但不推荐,除非你非常清楚哪些依赖可以删除。 --- ## ✅ 最终建议 | 情况描述 | 推荐做法 | |------------------------------------|----------| | 你有 Git 并能联网 | ✅ 使用 `git clone + submodule update` | | 你只能使用 `.zip` 包 | ❌ 不推荐,需手动下载所有子模块依赖 | | 你只需要最小运行时推理模型 | ✅ 可以裁剪部分第三方依赖(需谨慎) | --- ## ✅ 示例:完整流程(推荐) ```bash # 使用 Git 克隆项目 git clone https://github.com/pytorch/executorch.git cd executorch # 初始化子模块 git submodule init git submodule update --recursive # 创建构建目录 mkdir build && cd build # 使用 CMake 构建(确保 CMake >= 3.29) cmake .. make -j$(nproc) ``` --- ## ✅ 总结 | 操作 | 是否必须 | 说明 | |--------------------------|----------|------| | 使用 Git 克隆项目 | ✅ | 否则无法获取子模块 | | 初始化并更新子模块 | ✅ | `git submodule update --init --recursive` | | 手动下载第三方依赖 | 可选 | 如果只能使用 `.zip` | | 修改 CMakeLists 跳过依赖 | 可选 | 适用于裁剪最小运行时 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值