Topic: Win10XPE Project  (Read 141346 times)

Win10XPE Project
« on: March 10, 2018, 04:14:09 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Here is a new project Win10XPE that I had previously developed and that I want to share with you.

ila_rendered

Win10XPE is a complete project based on Win10 Recovery Environment with many Windows Features added.
Based on a new Concept, its main objective is to be simple, user-friendly and to be as fast as possible.
Use the many XPE plugins available to customize your build to your taste.
Thread to Win10XPE Optional Member Plugins

Win10XPE supports (2019-02-12):
     . Windows 10 original x64 or x86 ISO sources:
     . Windows 10 Fall Creators Update 1709
     . Windows 10 Spring Creators Update 1803
     . Windows 10 October 2018 Update 1809


The build is based on the Winre.wim recovery environment which has the following default features:
Quote
WinPE-WMI, WinPE-SecureStartup, WinPE-TPM, WinPE-StorageWMI, WinPE-SRT, WinPE-Script,ing, WinPE-WDS-Tools,
WinPE-EnhancedStorage, Microsoft-Windows-WinPE-Narrator-Package, Microsoft-Windows-WinPE-ATBroker-Package,
Microsoft-Windows-WinPE-SRH-Package, Microsoft-Windows-WinPE-AudioCore(AudioDrivers)-Package,
Microsoft-Windows-WinPE-Speech-TTS-Package, WinPE-HTA, WinPE-Rejuv, WinPE-WiFi, WinPE-FMAPI-Package

The winre.wim(boot.wim) is lightened by reducing WinSXS and removing some language folders without losing the functionalities.
The winre.wim image is applied in the Target folder for the purposes of driver integration and to easily rebuild boot.wim image and ISO after some customizations.
It grants owners and rights to the registry and puts them in cache for saving time for the following constructions. It is a little long at the 1st Build but then much easier and faster.

Then, some windows 10 features are added, such as :
Quote
Explorer, MMC, theme and dwm, Search, msi
Drivers integtration
boot.wim Windows Installer files (setup.exe)
Embedded VC++ (8.0 - 9.0) Runtime
WoW64 basic
Network additions and Network drivers
Audio
Windows apps: Osk, Paint, PhotoViewer, SnippingTool, Wordpad
And More...

The boot.wim image is then repacked (captured) and the ISO is created.

Project Screenshot:
ila_rendered

ila_rendered    ila_rendered    ila_rendered    ila_rendered

ila_rendered    ila_rendered

I hope it should be usable without further documentation. Otherwise you have Win10XPE - How To Quick Start Guide


The files are extracted by using the great wimlib extract listfiles feature ex:
  \Windows\System32\*base.dll
  \Windows\System32\??-??\*base.dll.mui
Syntax in script: ExtractListFiles,%GTemp%\AddFiles.txt,Open(Hide)

For the registry, in addition to RegWrite, RegDelete,... RegImportFile and RegCopy macro command are availables.
  RegImportFile,%GTemp%\RegFiles.reg . To Add converted PE registry (use REGCPE included for the conversion).
  Regcopy allows to copy key (and subkeys) between install.wim registry and Target registry.
    Each SubKey or Value may contain the wildcard characters ’*’.
    Syntax: RegCopy,<HKLM>,<MainKey>,[*SubKeyOrValue*] - The SubKey or Value is optional
    Ex: RegCopy,HKLM,Tmp_System\ControlSet001\Services\NativeWifiP
          RegCopy,HKLM,Tmp_Software\Microsoft\Windows\CurrentVersion\SideBySide\Winners,*microsoft.vc80.crt*
...

Download Win10XPE package on  Win10PE SE Downloads Page

Take care and have fun,
Chris :cheers:
« Last Edit: February 12, 2019, 03:41:56 PM by ChrisR »

Re: Win10XPE Project
« Reply #1 on: March 10, 2018, 05:39:38 PM »

Atari800xl

  • Code Baker
  • Sr. Chef
  • ****
  • Date Registered: Feb 2013
  • Posts: 827
Well, I tested WinXPE and all I can say is: WOW!
You really know how to surprise people!

Re: Win10XPE Project
« Reply #2 on: March 11, 2018, 01:12:21 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Very cool project... :thumbsup:

Re: Win10XPE Project
« Reply #3 on: March 11, 2018, 02:59:15 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Congratulations ChrisR.
 :magic: :smart:

Works fine out of box with an excellent result.  :great:

Cool  :cool:


*
The build is based on the Winre.wim recovery environment which has the following default features:
I can not catch new stuff but If my memory valid today,
maybe one can use a plugin with
Dism /Add-Package .....
before project playing further with Winre.wim
...
(ex: there was a plugin on one of SE, I could not find now with small time ...)
..
Maybe useful to add keyboard - language with enu source ?
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-and-remove-language-packs-on-a-running-windows-installation
only ideas....



Good work  :showoff:
:turtle:

Re: Win10XPE Project
« Reply #4 on: March 12, 2018, 04:14:08 PM »

misty

  • Jr. Chef
  • **
  • Date Registered: Mar 2017
  • Posts: 18
@ChrisR
Thank you very much for sharing this project. It looks good - and judging from the screenshots only three scripts visible in the UI.

I look forward to taking it for a spin. :thumbsup:

:worship:

Misty

PE's are like buses - you wait ages for one and then two turn up at the same time!


Re: Win10XPE Project
« Reply #5 on: March 12, 2018, 07:56:23 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Hi All, it's nice to read you  :thumbsup:
I had done it to study the concept with wimlib more than to share a new project.
To read you, the word that comes back is Cool, thanks  :cool:

@Misty,
My bus was stuck in the garage for a while and I had reworked a bit on the engine in January.
By seeing your fast new bus passing in front of me, with its strange name! approved, Oh :confused:
I left the garage and I followed, saying me, there might be ideas to study or spare parts good to share.
Good luck on your new buses :icecream:


I do not know yet if I will make it evolve further, how and when.
However, I started yesterday the additions to the audio, I will finish that part maybe now, tonight.
And perhaps, as suggested by Lancelot, I will do the Add-Package, later.

It's hard to forget the PEs and the guys around, so I make a small tour, from time to time but Hey! it is not to restart again.

:cheers:
« Last Edit: March 12, 2018, 07:59:36 PM by ChrisR »

Re: Win10XPE Project
« Reply #6 on: March 13, 2018, 09:23:04 AM »

teik

  • Chef
  • ***
  • Date Registered: Nov 2016
  • Posts: 250
Hi @ChrisR

Once again I have run out of words with your work. It is magnificent. I never thought that you could compress and do a job that fast.
I congratulate you for wanting to improve yourself day by day, although we already know that you have other projects that you mentioned earlier. But the beauty of life, is to continue learning and more if that knowledge makes the ingenuity flow.

My congratulations for this great work. You have overcome once more. You never stop surprising us.

Greetings.
« Last Edit: March 13, 2018, 09:23:16 AM by teik »

Re: Win10XPE Project
« Reply #7 on: March 13, 2018, 06:11:39 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Hey ChrisR,

    For your Build Core - plugin interface, there is a rough template for WinXShell's optional features here: http://theoven.org/index.php?topic=2090.msg25702#msg25702

Not sure if you plan on doing anything like this but it might help save some time if you do.. I love that you offer WinXShell as primary option..
« Last Edit: March 13, 2018, 06:14:28 PM by bob.omb »

Re: Win10XPE Project
« Reply #8 on: March 14, 2018, 01:00:06 AM »

slore

  • WimBuilder
  • Sr. Chef
  • ****
  • Date Registered: Jun 2016
  • Posts: 664
 :thumbsup:
I need a little WinBuilder project to convert to a sample project with various Well-known simple syntax for NEW builder,
to see what thing WB is done and the NEW builder need be implemented.
this one seems good for that.

I‘m doing some technical identification, I will share it later.

http://theoven.org/index.php?topic=2390
« Last Edit: March 16, 2018, 11:33:23 AM by slore »

Re: Win10XPE Project
« Reply #9 on: March 15, 2018, 05:41:50 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Thanks for your encouragements  :thumbsup:
bob.omg, it seems that I had not seen, found, your last plugin, a little lost in the topic.
Good, I will update now and see the other components for compatibility.
And bravo for your work in common with Slore, not easy with languages, for both.

@Slore, congratulations to the happy father, Enjoy  :baby: :zzz: :great:
Thanks again for all your work on the great WinXshell  :thumbsup:

Otherwise, it's good now for audio and Network drivers.
I hope I will be able to update tomorrow.

Re: Win10XPE Project
« Reply #10 on: March 16, 2018, 03:01:47 PM »

noelBlanc

  • Chef
  • ***
  • Date Registered: Dec 2013
  • Posts: 266
hi ChrisR
If I understand correctly, it's hard for you to leave the world of WinPE.
And you have a very good idea to propose a project with only the latest version of WinPE.
By the way, I wonder who can even use the 32-bit version and in what context.
You're going to make happy by not using the mechanism of embedding binaries in the text (. script) file.
For my part, I understand the advantages of a builder that allows to dynamically produce a GUI and thus offer the possibility of choosing options.
But I continue in my way with a PS script and without options.
Speed of construction and volume of the product file are not important in my context.
And I much prefer the VHD to a USB disk (VHD in ' flat ' mode or better still with the mode  "Full-flat").
But it is not tomorrow that the benefits of such a media will be perceived by the "users " of WINPE. Like WinToGo, by the way.

I hope I do not appear too pretentious by proposing to you the following:
If you want to occupy your next leisure, you could add MSTSC (with NLA), MSRA (not very useful, I recognize it), the standard printers PDF and XPS (more complex for others), the IC of HyperV.
There is all the necessary information either in the PDF or in the script  "processing. PS1 ". There is no major complexity (adding files, keys, drivers, services, changing ACLs).
The whole thing is in my version 16 of Microwinpebuilder.
Well cordially and respectfully.

Same thing in french
Si je comprends bien, il est difficile pour toi de quitter le monde de winpe.
Et tu as une très bonne idée de proposer un projet avec uniquement la dernière version de winpe.
Au passage, je me demande qui peut bien encore utiliser la version 32 bits et dans quel contexte.
Tu vas faire des heureux en n'utilisant pas le mécanisme qui consiste à embarquer des binaires dans le fichier texte (.script).
Pour ma part, je comprends les avantages d'un constructeur qui permet de produire dynamiquement un GUI et offrir ainsi la possibilité de choisir des options.
Mais je continue dans ma voie avec un script PS et sans options.
Rapidité de construction et volume du fichier produit ne sont pas importants dans mon contexte.
Et je préfère de loin le VHD sur un disque usb (VHD en mode 'Flat' ou mieux encore avec le mode "Full-Flat").
Mais ce n'est pas demain que les avantages d'un tel media seront perçus par les "utilisateurs" de Winpe. Comme WinToGo, d'ailleurs.
Bref.
J'espère ne pas apparaître trop prétentieux en te proposant ce qui suit :
Si tu veux occuper tes prochains loisirs, tu pourrais ajouter MSTSC (avec NLA), MSRA (pas très utile, je le reconnais), les imprimantes standard PDF et XPS (plus complexe pour les autres), les IC de hyperV.
Il y a toutes les informations nécessaires soit dans le PDF soit dans le script "Traitement.PS1". Il n'y a pas de complexité majeure (ajout de fichiers, de clés, de pilotes, de services, modification d'ACL).
Le tout se trouve dans ma version 16 de microwinpebuilder.
Bien cordialement et respectueusement.

Re: Win10XPE Project
« Reply #11 on: March 21, 2018, 05:08:47 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
With a little delay , I updated Win10XPE_20180321. The package is on first post.
With the addition of Audio. The narrator works also  :band:
I added WLAN Network Drivers: Atheros, Broadcom, Intel and Realtek drivers
WoW64 Basic is no longer selected by default. I guess there is enough 64-bit apps currently for a pure 64-bit Win10PE. The option is there for those who use 32-bit apps.
For WinXShell, I now uses bob.omg config files. Thanks bob & Slore :thumbsup:
Here WinXShell is placed in Program files. I just added an icon for Wifi shortcut and changed the default.xml theme colors for the Power UI. In blue, like the other GUIs.

With the "Network Additions" option or not, I have a small concern when starting PENetwork  :sad:
It remains stuck for 2, 3 min at step "Adding local users..." above the progress bar, after the successful start of the WLAN service.
After this step, it seems all good for the Wifi connection.
If anyone has an idea or can help, here is the part of PENMDebug log where it stucks
Code: [Select]
20.03.2018;16:00:07 -> IN: GetServiceStatus: wlansvc: 4 (Running)
20.03.2018;16:00:07 -> IN: Interface info - Changed speed: 0
20.03.2018;16:00:07 -> IN: Interface info - Changed MAC: 30-65-EC-84-10-0A
20.03.2018;16:03:54 -> IN: EnumNetworkAdapters
20.03.2018;16:03:54 -> OK: GetAdaptersInfo: 111

@Noel, I had you more or less answered on your topic. Congratulations again here for all your research  :thumbsup:
Decidedly, I really need to try the VHD with the Full flat files. By reading you, it sounds really interesting for development.
« Last Edit: March 21, 2018, 05:13:07 PM by ChrisR »

Re: Win10XPE Project
« Reply #12 on: March 21, 2018, 06:33:53 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Holger is working on updated PENetwork, I passed this along to him in case its PENM issue, since he's presently working on it...

Its either in this section, but it seems to complete(you could compile a MsgBox line after each function that waits for OK button press, then you would see where the hang is - if you want ill make):

ila_rendered

Or this function after that section that takes 3 min to add itself to the log, which its supposed to on its first line (EnumNetworkAdapters) is below,
I think it could be the previous section pictured above (in EnumWlanAvailNetworks):
Code: [Select]
Func EnumNetworkAdapters($bLog = TRUE)
Debug("IN: EnumNetworkAdapters")

$arNAList[0][0] = 0

Local $stIP_ADAPTER_INFO = DllStructCreate($sIP_ADAPTER_INFO)
Local $stReqSize = DllStructCreate("dword")

If GetAdaptersInfo(DllStructGetPtr($stIP_ADAPTER_INFO), DllStructGetPtr($stReqSize)) = -1 Then
Return FALSE
EndIf

Local $stBuffer = DllStructCreate("byte[" & DllStructGetData($stReqSize, 1) & "]")

If GetAdaptersInfo(DllStructGetPtr($stBuffer), DllStructGetPtr($stReqSize)) = $ERROR_SUCCESS Then
$stIP_ADAPTER_INFO = DllStructCreate($sIP_ADAPTER_INFO, DllStructGetPtr($stBuffer))
Local $pIPAI

While 1
$arNAList[0][0] += 1
$arNAList[$arNAList[0][0]][0] = DllStructGetData($stIP_ADAPTER_INFO, 4)
$arNAList[$arNAList[0][0]][1] = DllStructGetData($stIP_ADAPTER_INFO, 3)
$arNAList[$arNAList[0][0]][2] = DllStructGetData($stIP_ADAPTER_INFO, 4)

If StringInStr($arNAList[$arNAList[0][0]][0], "|") Then $arNAList[$arNAList[0][0]][0] = StringReplace($arNAList[$arNAList[0][0]][0], "|", "/") ; Workaround for network adapter descriptions like "XYZ a|b|g|n" -> "XYZ a/b/g/n"

If $bLog Then Debug("IN: EnumNetworkAdapters: AdapterGUID " & $arNAList[0][0] & ": " & DllStructGetData($stIP_ADAPTER_INFO, 3))
If $bLog Then Debug("IN: EnumNetworkAdapters: Description " & $arNAList[0][0] & ": " & DllStructGetData($stIP_ADAPTER_INFO, 4))

$pIPAI = DllStructGetData($stIP_ADAPTER_INFO, 1)

If $pIPAI = 0 Then
ExitLoop
Else
$stIP_ADAPTER_INFO = 0
$stIP_ADAPTER_INFO = DllStructCreate($sIP_ADAPTER_INFO, $pIPAI)
EndIf
WEnd
Else
If $bLog Then Debug("ER: GetAdaptersInfo")
EndIf

; Sorting
$arNAListSort[0][0] = 0
Local $sText, $c, $t

For $i = 1 To $arNAList[0][0]
$sText = GetAdapterProperty($arNAList[$i][1], 14)
If $sText = "" Then $sText = $arNAList[$i][0]
$arNAListSort[0][0] += 1
$arNAListSort[$i][0] = $i
$arNAListSort[$i][1] = $sText
Next

For $i = 1 To $arNAListSort[0][0]
For $c = 1 To $arNAListSort[0][0] - 1
If StringUpper($arNAListSort[$c][1]) > StringUpper($arNAListSort[$c + 1][1]) Then
$t = $arNAListSort[$c + 1][0]
$sText = $arNAListSort[$c + 1][1]
$arNAListSort[$c + 1][0] = $arNAListSort[$c][0]
$arNAListSort[$c + 1][1] = $arNAListSort[$c][1]
$arNAListSort[$c][0] = $t
$arNAListSort[$c][1] = $sText
EndIf
Next
Next
EndFunc

nevermind lol, thanks holger  :thumbsup:
« Last Edit: March 21, 2018, 07:52:42 PM by bob.omb »

Re: Win10XPE Project
« Reply #13 on: March 21, 2018, 07:34:02 PM »

Holger

  • Jr. Chef
  • **
  • Location: Munich
  • Date Registered: Oct 2011
  • Posts: 46
Hi Chris,
by default there is a waiting time of min. 120 seconds to build up a connection (requested feature some/long time ago).
If you have only wireless connections and don't set have wireless profile files you have 2 possibilities (with adding/changing to penetwork.ini file):
- add "WaitConnect" under [PENM] to "No"
- add "WaitConnect" under [PENM] to "Yes" and add "WaitConnectTime" to a lower value like "20" or something like this.

[PENM]
....
;WaitConnect=No
WaitConnect=Yes
WaitConnectTime=20
...


Interesting would be for me to reproduce (at the moment I cannot with Win10-1709):
- how many network adapters?
- wifi network adapter only used?
- are wifi profile files (xml) are included?
- full penmdebug.txt

Greets
Holger
 
« Last Edit: March 21, 2018, 07:36:24 PM by Holger »

Re: Win10XPE Project
« Reply #14 on: March 21, 2018, 07:49:36 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Strange though 227 second delay..

Re: Win10XPE Project
« Reply #15 on: March 21, 2018, 08:05:01 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Hi Holger,
hmm, I should have started by testing a previous PENetwork version, to see.
I just tested with the previous version 0.59.0.4, bingo  :thumbsup:

With beta 8 It was blocking, long but in the end it worked
And I was able to appreciate the new Penetwork Wifi UI, just superb.
Small request,  In the password it would be nice to have the Enter key active for the connection.

I just saw that I did not have PENetwork.ini with beta 8 No, default PENetwork.ini was there next to the exe.
I will try the WaitConnect Yes,No and WaitConnectTime options

Otherwise my laptop uses a Qualcomm Atheros QCA61x4 Wireless Network Adapter. It is well detected.
And it was tested without xml profile files.
Here is the PENMdebug logfile:
* PENMDebug.7z (3.51 kB - downloaded 184 times.)

If you want a link to Windows 10 1709, you can use the rg-adguard Techbench page.
To generate a direct link to the offcial versions on Microsoft's servers

Thanks bob for the direct link to Holger.
« Last Edit: March 21, 2018, 09:00:58 PM by ChrisR, Reason: PENetwork.ini was here »

Re: Win10XPE Project
« Reply #16 on: March 21, 2018, 09:53:14 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Too strong, it is indeed related to WaitConnect and WaitConnectTime options  :thumbsup:
The WaitConnectTime seems doubled. I tested with 20 and it stayed on hold 40 seconds.
And with WaitConnect=No, It finishes his work without waiting. what I wanted.
We'll just have to choose the SSID in the new great Wifi UI  :cool: (Enter on password to get the connection is Welcome)
Thanks Holger :smile:

I updated the package, same dated file, on the 1st post by using WaitConnect=No.
« Last Edit: March 21, 2018, 09:55:31 PM by ChrisR »

Re: Win10XPE Project
« Reply #17 on: March 22, 2018, 04:37:50 PM »

Holger

  • Jr. Chef
  • **
  • Location: Munich
  • Date Registered: Oct 2011
  • Posts: 46
Hi Chris,
thanks for info. I will investigate what's going on (lately at easter weekend).
Greets Holger

Re: Win10XPE Project
« Reply #18 on: March 23, 2018, 12:51:49 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Hi Holger,
If you are on PENetwork at the easter weekend.
Small things seen in PENMeditor, the ScrollArea should be expanded a bit to fully see WaitConnect and WaitConnectTime.

ila_rendered

Re: Win10XPE Project
« Reply #19 on: March 23, 2018, 05:42:08 PM »

ChrisR

  • Moderator, XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Win10XPE_2018-03-21

I added: some common Fonts: Arial,Comic Sans MS,Courier,Courier New,Lucida Sans Unicode,MS Sans Serif,Times New Roman,Trebuchet,Verdana
Additionals Cmd: cacls,Comp,choice,Fc,findstr,Help,Label,Makecab,sc,Sort (Not added in SysWoW64)
A new button in Build Core to start PENetwork configuration/profile editor and configure Wifi, Sharing, Network drive,...
Bitlocker integration in Explorer

ila_rendered

To make things easier, the package is now on the Win10PE_SE Downloads Page as a sub project
« Last Edit: March 23, 2018, 05:44:56 PM by ChrisR »

 

Powered by EzPortal