.net - 如何让应用程序在 WinPE 中运行?
问题描述
试图让一个简单的 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-Bit Checked、x86 和 x64 的 CPU。
我什至尝试过一个不起作用的 VB6 应用程序。我知道我在多年前使用 VB6 完成了这项工作,并且已经阅读了所需要的只是将包添加到 PE 环境中,但似乎无法让它工作。
解决方案
您的添加看起来与我的不同。我在我的项目中运行 ac# windows forms 应用程序,所以我知道这至少是可能的。确保您没有在您的应用程序中使用不受最低 .net 支持支持的东西。您不能使用的一个重要的、令人惊讶的部分是标准文件对话框。这可能是您的 32 位实验接近但不太成功的原因。
这是我输入的内容。您可以看到添加的形状有点不同:
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
正如您可以从显示的第一行中推断出的,这是一个 x64 winpe……我们只需编译到任何 cpu。
推荐阅读
- grid - 容器的缩放比例不小于 576px
- python-3.x - 有什么方法可以在 Python 中以字节为单位将图像添加到 pdf 中?
- elixir - 具有动态构建条件的 Ecto 连接
- r - 如何按每日最小值聚合数据框
- cqrs - 拉戈姆 | 读取端处理器的返回值
- amazon-web-services - 如何将步骤中的输入插入到 json 结构并传递到步骤函数中的下一步?
- javascript - 向后打印特定索引的值
- android - SwipeRefreshLayout 和处理 webview 中的外部链接(手动类)在 android webview 中不能一起工作
- c - strcpy 将结构名称复制到字符数组?
- c# - Why would a non-UI thread block the UI?