2

我正在制作集成 MS .NET Framework 的 Windows PE OS 的 Windows 映像 (.wim),以便运行 WinForm 应用程序作为计算机安装向导。

我有与这篇文章完全相同的问题,在从命令行执行应用程序时,它没有显示任何界面,也没有显示任何错误消息。我还检查了运行过程,我的应用程序没有一个。

在创建图像时,如MS 网站上所述,我首先导入了WinPE-WMI要求,然后是 .NET Framework 包WinPE-NetFX。接下来,我使用构建的映像创建了可启动的 USB 记忆棒。最后,我将应用程序复制到存储在 USB 上的附加目录中。

然后我只需从命令行执行应用程序。

你们有什么想法吗?

提前致谢并致以最诚挚的问候。

热雷米

4

2 回答 2

0

尝试添加 HTA 和脚本包,它确实会增加 boot.wim 的大小,但某些库需要依赖项。还要检查您是否也添加了相应的语言包。我第一次在 WinPE 中创建 .Net 应用程序时使用的策略是添加所有包并在 Virtual Box 中对其进行测试,然后慢慢删除我不需要查看它是否有效的包。我制作了一个批处理脚本来添加所有包并 REM 删除我不需要的包。如果需要,这是脚本

Dism /Mount-Image /ImageFile:"Z:\Tools\winpe_x86\media\sources\boot.wim" /index:1 /MountDir:"Z:\Tools\winpe_x86\mount"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -HTA.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-HTA_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -WMI.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-WMI_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -MDAC.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-MDAC_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -GamingPeripherals.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -Dot3Svc.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-Dot3Svc_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -PPPoE.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-PPPoE_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -RNDIS.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-RNDIS_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -WDS-Tools.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation环境\x86\WinPE_OCs\en-us\WinPE-WDS-Tools_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -Scripting.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-Scripting_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -NetFx.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-NetFx_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -PowerShell.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-PowerShell_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -DismCmdlets.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-DismCmdlets_en-us.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -SecureBootCmdlets.cab"

Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE -StorageWMI.cab" Dism /Add-Package /Image:"Z:\Tools\winpe_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\ x86\WinPE_OCs\en-us\WinPE-StorageWMI_en-us.cab" Dism /Unmount-Image /MountDir:"Z:\Tools\winpe_x86\mount" /commit

要在虚拟机中测试使用 VMI 作为驱动器,Windows 7 及更高版本可以使用 Diskpart 或磁盘管理挂载 VMI 文件。

于 2018-07-13T17:07:42.450 回答
0

我用 .net 和一个 winform 应用程序构建了一个 winpe ...我按顺序安装了以下 .cabs:

  • winpe脚本
  • winpe-wmi
  • winpe-netfx
  • winpe-安全启动
  • winpe增强存储
  • winpe-dot3svc

我相信 .net 的唯一要求是 winpe-netfx ......但几乎每个从事 winpe 工作的人也需要 wmi 和脚本......只是 winpe 的本质。其余的 .cab 非常符合我的需要。

话虽如此,有很多东西在 winpe 形式中不起作用例如,“标准”对话框(文件打开等)不起作用。这有点命中注定。您的主表单可能要求提供 winpe 中不可用的功能。

所以,开始基本并建立......一个表单/w单个按钮......让它部署......然后添加东西直到它中断。不要指望在 winpe 中构建复杂的 UI ......它不会让你。标签、按钮、文本框、列表框……等等。

另外 - 请注意,有 x86 和 amd64 的部署(您可能需要 amd64)...并且您必须将 .cabs 与您开始使用的图像匹配...并将您的 .net 程序编译为任何 .cpu或特定于您选择的运行时。如果您选择任何 cpu,请关闭构建选项卡上的“首选 32 位”。

winpe 镜像的构建是乏味且容易出错的。确保您在运行映像中获得了所有依赖项。

于 2018-07-19T12:16:18.443 回答