.NET GUI未在WinPE中显示



我在C#中创建了一个实用程序,它是基本的。我让它在SCCM任务序列部署期间运行。它(在表单加载事件期间)首先要做的事情之一是查询ldap。这部分代码在try块中,捕获到异常并显示错误消息,但表单从未显示。在我的开发机器上,当出现错误时,我会收到消息,但随后会显示表单。

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

似乎未加载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:_SMSTaskSequencePackagesSTE000AAAmyapp.exe

最新更新