.NET GUI不在WinPE中显示

时间:2013-02-13 19:56:55

标签: c# .net sccm winpe

我在C#中创建了一个实用工具,这是基本的东西。我在SCCM任务序列部署期间运行它。它所做的第一件事(在表单加载事件期间)是查询ldap。代码部分位于try块中,捕获异常并显示错误消息,但表单永远不会显示。在我的开发机器上发生错误时,我会收到消息,但之后会显示该表单。

我已经验证了我正在调用的所有dll都安装在WinPE上,有人为WinPE做过任何.NET开发吗?这是WinPE 4.0,我使用Windows 8 ADK附带的dism工具安装了.NET 4.0和其他软件。由于WinPE中的.NET支持相当新,所以网上没有什么。

1 个答案:

答案 0 :(得分:4)

似乎未加载System.Windows.Forms程序集。我通过尝试使用PowerShell创建一个表单来发现这一点,并且powershell发出一个错误,表示无法找到类型。在谷歌搜索后,我遇到了一个修复,说使用[System.Reflection.Assembly]::LoadWithPartialName方法加载程序集,我加载了System.Windows.Forms程序集。之后,我在powershell中创建了一个表单,它显示没有问题,在我再次运行我的应用程序后,它显示了gui罚款。

<强>更新

看起来我找到了答案:任务序列在会话0中运行,即没有gui! http://blogs.technet.com/b/cameronk/archive/2010/04/27/creating-a-user-interactive-task-sequence-experience.aspx

更新20130219

我使用psexec并使用

从中调用我的可执行文件
psexec.exe -accepteula -s -i -h C:\_SMSTaskSequence\Packages\STE000AAA\myapp.exe