正在尝试让简单的Windows Forms vb.net应用程序在WInPE中运行。什么都没有编译,只是读取一个文本文件,提示用户输入一些内容,创建一个文本文件(批处理文件),然后运行批处理文件。
我已将.net包添加到Wim中
set PF=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\
dism /Add-Package /Image:"f:\WimMount\WIM" /PackagePath:"%PF%WinPE-WMI.cab"
dism /Add-Package /Image:"f:\WimMount\WIM" /PackagePath:"%PF%en-us\WinPE-WMI_en-us.cab"
dism /Add-Package /Image:"f:\WimMount\WIM" /PackagePath:"%PF%WinPE-NetFx.cab"
dism /Add-Package /Image:"f:\WimMount\WIM" /PackagePath:"%PF%en-us\WinPE-NetFx_en-us.cab"如果我使用64位WinPE,当我调用.exe时没有任何反应。如果我使用32位WinPE,将返回以下信息: xxxx与您运行的windows版本不兼容
我已经尝试过编译为任何CPU、任何选中了Prefer32位的CPU、x86和x64。
我甚至尝试过一个不起作用的VB6应用程序。我知道我在很多年前就用VB6做到了这一点,我读到过所有需要的只是将包添加到PE环境中,但似乎无法使其正常工作。
发布于 2021-07-21 21:37:46
你的adds看起来和我的不一样。我在我的项目中运行了一个c# windows窗体应用程序,所以我知道这至少是可能的。确保你的应用中没有使用最低限度的.net支持中不支持的东西。你不能使用的一个很大的,令人惊讶的部分是标准的文件对话框。这可能是您在32位实验中取得近乎成功但并不十分成功的原因。
这是我放进去的东西。你可以看到adds的形状有一点不同:
cd /d "%adk%\Windows Preinstallation Environment\amd64\WinPE_OCs"
dism /image:C:\Mount /add-package /packagepath:"WinPE-Scripting.cab" /packagepath:"en-us\WinPE-Scripting_en-us.cab"
dism /image:C:\Mount /add-package /packagepath:"WinPE-WMI.cab" /packagepath:"en-us\WinPE-WMI_en-us.cab"
dism /image:C:\Mount /add-package /packagepath:"WinPE-NetFx.cab" /packagepath:"en-us\WinPE-NetFx_en-us.cab"
dism /image:C:\Mount /add-package /packagepath:"WinPE-SecureStartup.cab" /packagepath:"en-us\WinPE-SecureStartup_en-us.cab"
dism /image:C:\Mount /add-package /packagepath:"WinPE-EnhancedStorage.cab" /packagepath:"en-us\WinPE-EnhancedStorage_en-us.cab"
dism /image:C:\Mount /add-package /packagepath:"WinPE-Dot3Svc.cab" /packagepath:"en-us\WinPE-Dot3Svc_en-us.cab"
dism /unmount-wim /commit /mountdir:c:\mount从显示的第一行可以推断出,这是我们编译到任何cpu上的x64 winpe...and。
https://stackoverflow.com/questions/67697322
复制相似问题