使用 DISM Api 在 Windows PE 环境中以编程方式捕获图像
Using DISM Api to Capture Image Programatically within Windows PE Environment
我一直在研究 windows documentation for the Dism API with the goal of writing an exe in C++ (or whatever language can accomplish this) that can create a WIM image while running in Windows PE. I found a .NET Wrapper 的 Dism API 似乎它可能对这个目的有用,但我不确定 .NET 应用程序是否会成功 运行 在 Windows PE 中。总的来说,我的问题是我没有看到可以创建——而不是简单地修改——wim 文件的函数。
如果我不关心将它封装在 .exe 文件中,Dism documentation 确实展示了如何最初创建一个 wim——这让我很好奇为什么类似的函数不存在于api。请告知是否最简单的解决方案是让我的代码在代码中调用诸如 system() 之类的函数。
总而言之,我正在寻找一种从 Windows PE 中以编程方式(通过执行 exe 文件调用)创建 wim 文件的方法。
一如既往,感谢您的帮助和建议。
我从事的项目在 WinPE 中经常使用 DISM。我们将所有 .net 包配置为 described here. Then WinPE can be configured to start an application.
我使用 C#,但您可以使用 C++ 创建托管应用程序,我相信您知道。我发现将 c# 代码放入 WinPE 中要容易得多,但我想这更多是我的经验的结果。
我们与 DISM 交互的主要方式是 运行 使用 System.Diagnostics.Process 的命令。进程 运行 在一个单独的线程中,但是 API 很简单,您可以等待(and/or 超时)您的进程以实现同步。这仅使用 DISM 命令行界面,但如果您已将该程序包添加到 WinPE 映像,也可以使用 powershell cmdlet。从您的应用程序到 DISM,它可能看起来像是一个骇人听闻的“接口”,但它运行可靠,并且您可以阻止进程 window 出现在屏幕上。这为 运行 一堆 windows 映像实用程序(例如 DISKPART、DISM 和 BCDEDIT)提供了一个不错的异步平台。
拍摄新图像的主要方式是 DISM /Capture-Image。听起来你已经发现了这个事实。许多选项在某种程度上超出了本 q/a 的范围,但我希望这能让您走上一条有用的道路。
我一直在研究 windows documentation for the Dism API with the goal of writing an exe in C++ (or whatever language can accomplish this) that can create a WIM image while running in Windows PE. I found a .NET Wrapper 的 Dism API 似乎它可能对这个目的有用,但我不确定 .NET 应用程序是否会成功 运行 在 Windows PE 中。总的来说,我的问题是我没有看到可以创建——而不是简单地修改——wim 文件的函数。
如果我不关心将它封装在 .exe 文件中,Dism documentation 确实展示了如何最初创建一个 wim——这让我很好奇为什么类似的函数不存在于api。请告知是否最简单的解决方案是让我的代码在代码中调用诸如 system() 之类的函数。
总而言之,我正在寻找一种从 Windows PE 中以编程方式(通过执行 exe 文件调用)创建 wim 文件的方法。
一如既往,感谢您的帮助和建议。
我从事的项目在 WinPE 中经常使用 DISM。我们将所有 .net 包配置为 described here. Then WinPE can be configured to start an application.
我使用 C#,但您可以使用 C++ 创建托管应用程序,我相信您知道。我发现将 c# 代码放入 WinPE 中要容易得多,但我想这更多是我的经验的结果。
我们与 DISM 交互的主要方式是 运行 使用 System.Diagnostics.Process 的命令。进程 运行 在一个单独的线程中,但是 API 很简单,您可以等待(and/or 超时)您的进程以实现同步。这仅使用 DISM 命令行界面,但如果您已将该程序包添加到 WinPE 映像,也可以使用 powershell cmdlet。从您的应用程序到 DISM,它可能看起来像是一个骇人听闻的“接口”,但它运行可靠,并且您可以阻止进程 window 出现在屏幕上。这为 运行 一堆 windows 映像实用程序(例如 DISKPART、DISM 和 BCDEDIT)提供了一个不错的异步平台。
拍摄新图像的主要方式是 DISM /Capture-Image。听起来你已经发现了这个事实。许多选项在某种程度上超出了本 q/a 的范围,但我希望这能让您走上一条有用的道路。