Приложение Windows PE WinForm не установлено - PullRequest
0 голосов
/ 04 июля 2018

Я работаю над созданием образа Windows (.wim) ОС Windows PE с интеграцией MS .NET Framework, чтобы запустить приложение WinForm, работающее в качестве мастера для установки на компьютер.

У меня точно такая же проблема, как и в этом посте , при выполнении приложения из командной строки не отображается интерфейс и не отображается сообщение об ошибке. Я также проверил запущенный процесс, и в моем приложении нет никого.

При создании образа, как указано на MS site Сначала я импортировал WinPE-WMI требование, затем пакет .NET Framework WinPE-NetFX . Затем я создал загрузочную флешку с помощью встроенного образа. Я закончил копированием приложения в дополнительный каталог, сохраненный на USB.

Тогда я просто запускаю приложение из командной строки.

У вас, ребята, есть идеи?

Спасибо заранее и наилучшими пожеланиями.

Жереми

Ответы [ 2 ]

0 голосов
/ 19 июля 2018

Я создаю winpe с .net и приложением winform ... и устанавливаю следующие .cabs по порядку:

  • winpe-scripting
  • winpe-wmi
  • winpe-netfx
  • WinPE-securestartup
  • winpe-gaindstorage
  • WinPE-dot3svc

Я считаю, что единственным требованием для .net является winpe-netfx ... но почти всем, кто работает с winpe, тоже нужны wmi и скрипты ... просто в силу того, что такое winpe. Остальные .cabs довольно специфичны для того, что мне нужно.

Сказав это, есть много вещей, которые не работают в формах winpe. «Стандартные» диалоги (File Open и т. Д.) Не работают, например. Это своего рода хит-н-мисс. Возможно, ваша основная форма запрашивает функции, недоступные в winpe.

Итак, начните с базового и соберите ... единственную кнопку формы / w ... заставьте ее развернуться ... затем добавляйте вещи до тех пор, пока они не сломаются. Не ожидайте, что в Winpe создадут сложный пользовательский интерфейс ... он вас не отпустит. Метки, кнопки, текстовые поля, списки ... и не более того.

Также - имейте в виду, что есть развертывания для x86 и amd64 (вы, вероятно, хотите amd64) ... и вам нужно сопоставить .cabs с образом, с которого вы начинаете ... и скомпилировать вашу программу .net, чтобы любой .cpu или специфичный для выбранной вами среды выполнения. Если вы выбираете какой-либо процессор, отключите «предпочесть 32 бит» на вкладке сборки.

Сборка образа winpe утомительна и подвержена ошибкам. Убедитесь, что вы получаете все свои зависимости в рабочем образе.

0 голосов
/ 13 июля 2018

Попробуйте добавить пакеты HTA и Scripting, это увеличит размер вашего boot.wim, но зависимости необходимы для определенных библиотек. Также убедитесь, что вы добавили соответствующие языковые пакеты. Тактика, которую я использовал, когда я впервые запустил приложение .Net в WinPE, - это добавить все пакеты и протестировать их в Virtual Box, а затем медленно удалять пакеты. Мне не нужно было видеть, работает ли это. Я сделал пакетный скрипт, чтобы добавить все пакеты и удалить те, которые мне не нужны. Вот скрипт, если нужно

Dism / Mount-Image /ImageFile:"Z:\Tools\winpe_x86\media\sources\boot.wim "/ index: 1 / MountDir:" Z: \ Tools \ winpe_x86 \ mount "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-HTA.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-HTA_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-WMI.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-WMI_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-MDAC.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-MDAC_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-GamingPeripherals.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-Dot3Svc.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-Dot3Svc_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-PPPoE.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-PPPoE_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-RNDIS.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-RNDIS_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-WDS-Tools.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-WDS-Tools_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-Scripting.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-Scripting_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-NetFx.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-NetFx_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-PowerShell.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-PowerShell_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-DismCmdlets.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-DismCmdlets_en-us.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-SecureBootCmdlets.cab "

Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ WinPE-StorageWMI.cab» Dism / Add-Package / Image: "Z: \ Tools \ winpe_x86 \ mount" / PackagePath: "C: \ Program Files (x86) \ Windows Kits \ 10 \ Комплект для оценки и развертывания \ Среда предустановки Windows \ x86 \ WinPE_OCs \ en -us \ WinPE-StorageWMI_en-us.cab» Dism / Unmount-Image / MountDir: "Z: \ Tools \ winpe_x86 \ mount" / commit

Для тестирования в виртуальной коробке используйте VMI для привода, Windows 7 и выше могут монтировать файлы VMI с помощью Diskpart или Disk Management.

...