2013-02-13 36 views
3

我在C#中創建了一個實用程序,這是基本的東西。我在SCCM任務序列部署期間運行它。它所做的第一件事情之一(在表單加載事件期間)是查詢ldap。該部分代碼位於try塊中,並且捕獲到異常並顯示錯誤消息,但表單從不顯示。在我的開發機器上出現錯誤時,我會收到消息,但之後會顯示錶單。.NET GUI不能顯示在WinPE中

我已經驗證所有我打電話的DLL都安裝在WinPE上,有沒有人爲WinPE做過任何.NET開發?這是WinPE 4.0,我已經使用Windows 8 ADK附帶的dism工具安裝了.NET 4.0和其他軟件。因爲WinPE中的.NET支持是相當新的,所以網上沒有多少東西。

回答

4

它似乎沒有加載System.Windows.Forms程序集。我通過試圖用powershell創建表單而發現了這一點,並且PowerShell提供了一個錯誤,表示找不到該類型。谷歌搜索後,我遇到了一個修復,說使用[System.Reflection.Assembly]::LoadWithPartialName方法加載程序集,我加載了System.Windows.Forms程序集。之後,我在PowerShell中創建了一個表單,並且它沒有任何問題地顯示,並且在我再次運行我的應用程序後,它顯示出gui的好。

UPDATE

看起來像我發現我的回答是:任務序列在會話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