使用 WDK 为 Windows IoT Core 制作驱动程序时出错

Error when making a driver for Windows IoT core using WDK

我正在尝试使用 Windows 驱动程序套件制作驱动程序以将设备连接到 运行 Windows 物联网 this link 中指定的物联网。

编辑:
- iot_adk_addonkit由于C上缺少space而放在D分区
-setenv arm 驱动程序的环境设置为 ARM。

当我在cmd中执行以下命令时: inf2cab D:\_Kobe\driver\driver\oem71.inf

我先得到:

Authoring Drivers.oem71.wm.xml
Processing Drivers.oem71.wm.xml

没关系,但后来我得到:

the system cannot find the file specified
ThreadId11364 ERROR: (0,0):
ERROR: 0x80070002
ERROR: PkgGen
ERROR: EXCEPTION: ExecuteCommands::Run: Failed to find makecat.exe. Make sure path environment variable is set right
ERROR: STACKTRACE:   bij Microsoft.Composition.ToolBox.ExecuteCommands.Run(String toolPath, String args, Boolean loadUserProfile, UInt32 retryCount, Logger logger)
ERROR:   bij Microsoft.Composition.Packaging.PkgManifest.CreateCatalog(String catPath, IEnumerable`1 filesToSign, String packageName, Keyform keyform, PackageType packageType)
ERROR:   bij Microsoft.Composition.Packaging.PkgManifest.GenerateAndSignCatalog(Boolean signCatalog)
ERROR:   bij Microsoft.Composition.Packaging.PkgManifest.SerializeMum(String outputFolder)
ERROR:   bij Microsoft.Composition.Packaging.PkgManifest.SaveManifest(String outputFolder)
ERROR:   bij Microsoft.Composition.Packaging.CbsPackage.SavePackage(String outputFolder, Boolean compressManifests)
ERROR:   bij Microsoft.Composition.Packaging.CbsPackage.SavePackage(String outputFolder)

(PkgToolBox) : error : ExecuteCommands::Run: Failed to find makecat.exe. Make sure path environment variable is set right
 Error : Failed to create package. See D:\_Kobe\driver\driver\Drivers.oem71.wm.log

在日志文件中我读到了以下内容:

Creating Drivers.oem70.wm.xml Package with version 10.0.1.0 for 
Microsoft (C) PkgGen 10.0.10011.16384

HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverPackages\oem70.inf_x86_af229e1a5336e4b5\Configurations\Minidriver32_61_Install.NT\Properties\{a45c254e-df1c-4efd-8020-67d146a850e0}[=13=]0E
D:(A;CI;KA;;;SY)
NT AUTHORITY\SYSTEM,FullControl

HKEY_LOCAL_MACHINE\SYSTEM\Setup\ResolveFilePaths
D:(A;OICI;KR;;;RC)(A;OICI;KA;;;SY)(A;OICI;KA;;;BA)
NT AUTHORITY\BEPERKT,ReadKey
NT AUTHORITY\SYSTEM,FullControl
INGEBOUWD\Administrators,FullControl

ThreadId6472 INFO 
Loading Package:C:\Users\Michel\AppData\Local\Temp\syslzvvj.dbd\update.mum\.Drivers.oem70~31bf3856ad364e35~x86~~10.0.1.0.mum
ThreadId6472 INFO Loading manifest file C:\Users\Michel\AppData\Local\Temp\syslzvvj.dbd\update.mum\.Drivers.oem70~31bf3856ad364e35~x86~~10.0.1.0.mum
ThreadId6472 INFO 
Done loading Package:C:\Users\Michel\AppData\Local\Temp\syslzvvj.dbd\update.mum\.Drivers.oem70~31bf3856ad364e35~x86~~10.0.1.0.mum
ThreadId6472 INFO Adding file of type CsiManifest with detination path  and source path C:\Users\Michel\AppData\Local\Temp\cpufor3p.ube\manifests\.Drivers.oem70.man
ThreadId6472 INFO Converting C:\Users\Michel\AppData\Local\Temp\cpufor3p.ube\manifests\.Drivers.oem70.man to CMI manifest
ThreadId6472 INFO Saving CMI Manifest File to : C:\Users\Michel\AppData\Local\Temp\ts1zo1md.thw
ThreadId6472 INFO Adding file of type Manifest with detination path  and source path C:\Users\Michel\AppData\Local\Temp\ts1zo1md.thw\x86_.drivers.oem70_31bf3856ad364e35_10.0.1.0_none_6e00b92b9c937322.manifest
ThreadId6472 INFO Loading manifest file C:\Users\Michel\AppData\Local\Temp\q24qwfnq.hul\x86_.drivers.oem70-deployment_31bf3856ad364e35_10.0.1.0_none_d8eada46b31a0442.manifest
Found Driver = C:\Users\Michel\AppData\Local\Temp\cpufor3p.ube\drivers\oem70.inf
ThreadId6472 INFO Adding file of type CsiManifest with detination path  and source path C:\Users\Michel\AppData\Local\Temp\cpufor3p.ube\manifests\dual_oem70.inf.man
ThreadId6472 INFO Converting C:\Users\Michel\AppData\Local\Temp\cpufor3p.ube\manifests\dual_oem70.inf.man to CMI manifest
ThreadId6472 INFO Copying 'D:\_Kobe\driver\driver\oem70.inf' to 'C:\Users\Michel\AppData\Local\Tempyykdphz.aof\x86_dual_oem70.inf_31bf3856ad364e35_10.0.1.0_none_97edf2b190a48552\oem70.inf'.
ThreadId6472 INFO Saving CMI Manifest File to : C:\Users\Michel\AppData\Local\Tempyykdphz.aof
ThreadId6472 INFO Adding file of type Manifest with detination path  and source path C:\Users\Michel\AppData\Local\Tempyykdphz.aof\x86_dual_oem70.inf_31bf3856ad364e35_10.0.1.0_none_97edf2b190a48552.manifest
ThreadId6472 INFO 
Saving CAB D:\Build\x86\pkgs\.Drivers.oem70.cab for package .Drivers.oem70
ThreadId6472 INFO 
Saving package .Drivers.oem70 to C:\Users\Michel\AppData\Local\Temp\t0zrnkcl.wnw
ThreadId6472 INFO 
Validating Package '.Drivers.oem70'
ThreadId6472 INFO Serialized C:\Users\Michel\AppData\Local\Temp\t0zrnkcl.wnw\x86_-drivers-oem70-deployment-deployment_31bf3856ad364e35_10.0.1.0_none_485b13d3c5ee921e.manifest to disk
ThreadId6472 INFO Running makecat.exe /v "C:\Users\Michel\AppData\Local\Temp\jq3yfkv5.3y1\.Drivers.oem70~31bf3856ad364e35~x86~~10.0.1.0"
--Stack Trace--
   bij Microsoft.Composition.ToolBox.ExecuteCommands.Run(String toolPath, String args, Boolean loadUserProfile, UInt32 retryCount, Logger logger)
   bij Microsoft.Composition.Packaging.PkgManifest.CreateCatalog(String catPath, IEnumerable`1 filesToSign, String packageName, Keyform keyform, PackageType packageType)
   bij Microsoft.Composition.Packaging.PkgManifest.GenerateAndSignCatalog(Boolean signCatalog)
   bij Microsoft.Composition.Packaging.PkgManifest.SerializeMum(String outputFolder)
   bij Microsoft.Composition.Packaging.PkgManifest.SaveManifest(String outputFolder)
   bij Microsoft.Composition.Packaging.CbsPackage.SavePackage(String outputFolder, Boolean compressManifests)
   bij Microsoft.Composition.Packaging.CbsPackage.SavePackage(String outputFolder)
   bij Microsoft.Composition.Packaging.CbsPackage.SaveCab(String cabPath, CompressionType compressionType)
   bij Microsoft.CompPlat.PkgBldr.CabGen.Assembly.ConvertEntries(XElement parent, Dictionary`2 plugins, Config enviorn, XElement component)
   bij Microsoft.CompPlat.PkgBldr.Program.BuildPackage(Config config, MacroResolver commandLineMacros)
   bij Microsoft.CompPlat.PkgBldr.Program.Main(String[] args)
--End Stack Trace--
Package creation failed with error -1

我已经更正了 WDK 中使用的一些路径,现在我觉得这些路径没问题。
Makecat.exe 也在它应该在的文件夹中,所以我也不明白那个。

编辑:
-我现在尝试将 iot_adk_addonkit 移动到 C 盘,这没有什么不同。
-我还尝试将此文件夹包含在 cmd 的路径中,这样我就不必在该特定文件夹中工作。这也没有用。

如果有人能帮我看看我做错了什么... 已经谢谢了!

我在 iot-adk-addonkit 中使用 IoTCoreShell-arm.cmd。 C盘和D盘都适合我。您还可以使用 IoTCoreShell.cmd 和 select ARM 架构。下面是我运行的命令,你可以试试看是否有效。

更多信息:“Lab 1e: Add a driver to an image