George King

Active Member
POWIS

Powerful Windows Setup
This tool was developed to bring new user experience into Windows setup, supporting all Windows versions from Vista and newer.


What features are added by POWIS?
1. Windows Recovery Environment boot menu option
2. Multi-Unattended selector
3. Dynamic drivers folder
4. DriverPacks solution using Snappy Driver Installer
5. RunOnceEx setup phase
a. Certificates installing from any *.CER files
b. Microsoft Office installing – 2007 or 2010 – 2016 or 2019 / 365 using YAOCTRI
c. MSI Packages installing
d. Products activation using Multi-OEM/Retail Project {MRP} - Mk3 or your own custom Activate.cmd
e. Updates installing
f. Applications installing
g. Apply personal settings from any *.REG files
h. DriverStore cleanup
i. Scripts execution from any *.PS1 or *.BAT or *.CMD files​
6. ESD support for Windows Vista and Windows 7



What is supported?
1) Any architecture, build and language ISO or extracted setup of Windows Vista SP2*, Windows 7, Windows 8.0, Windows 8.1 and Windows 10. Servers are untested but they should work too. This could be pointed to bootable USB too.
2) Only clean installations are supported
3) Fully Unattended


*NOTE: For dynamic drivers folder and automated skipping product key in Windows Vista is needed Windows 8.0 setup engine, if you want these features enable ESDSUPPORT option in config.ini


How to use POWIS?

1) Download and extract this tool, for example to C:\POWIS directory
2) Prepare plugins folder. This folder needs your attention
1.png


a) driverpacks – place any compressed *.7z DriverPacks here. Snappy Driver Installer install compatible drivers before first reboot of deployed system. All available languages in SDI v1.21.2.2102 are mapped to Windows language codes. So perfect multilanguage support is available. If someone translate SDI, these new translations are needed to be hardcoded in Launch.cmd. You can find log files in %WINDIR%\Logs. Download DriverPacks here or here or here.

2.png


b) drivers
– if you want to apply drivers to deployed system before first boot.
Place drivers in INF format into certain folders. All directory is for architecture independent drivers, x64 for 64bit drivers and x86 is for 32bit drivers
3.png


c) oem – This folder is for Multi-OEM/Retail Project {MRP} - Mk3 which is compatible with POWIS solution from v137.1, Download and extract this project. Needed files are DeCompile.exe, OEM's.7z and OOBE.cmd, then rename OOBE.cmd to OEM.cmd. You can find log files in %WINDIR%\Logs. On Windows 8 and newer you can see black screen during setup for a while. Don’t worry MRP is installed on background. This is caused by Windows setup design, on Windows 7 is this process different and you can see screen with “Setup will continue after restarting your computer“ instead.
4.png



d) office – All Office versions are supported. For Office 2007 place unattended setup into All subfolder. This Office version is only 32bit and it will be installed on both x86 and x64 systems. For Office 2010 – 2016 create x86 and x64 subfolders and place unattended setup into them. If you want to force 32bit Office on x64 systems place setup into All folder instead. For Office 2019 / 365 is supported YAOCTRI installation method. Just place generated setup directly into office folder. See pictures below
5.png


e) setup – This folder is here for your own *.CER, *.PS1, *.BAT, *.CMD, *.REG , EXE and MSI files
During setup process is setup folder dynamically scanned, so you can add / remove files perfectly on the fly directly on your USB setup media.

You need to follow some rules when adding installers. If your applications have EXE installer for both architecture it must have –all in filename. If there exist standalone installers keep –x86 and –x64 in filename instead.

To define silent switch create simple TXT file with same name as application installer, but without architecture identificator. So for WinRAR-x86.exe and WinRAR-x64.exe is needed WinRAR.txt with /S inside as only single line.

MSI packages are installed automatically with /quiet /norestart switch. If you want to use your own switches do it in same way as you do for EXE installers.

*.CER, *.PS1, *.BAT, *.CMD, *.REG are silently launched and applied. In scripts don't forget to exit them.
6.png



f) unattended – place any Unattended files here, if you do it, you will be prompted for selection when setup begin
7.png



g) updates – place any updates files *.MSU, *.CAB, *.MSP here and they will be silently installed. Just keep -x86 and -x64 in filename, simply follow the same logic as applications installers



3) Configure options in Config.ini
8.png


4) Launch POWIS.cmd as Administrator, then drag and drop extracted Windows setup path or ISO or already created bootable USB into console window. You can also use POWIS directly from CMD in your own scripts. See POWIS.cmd /? for more informations. When you point already created bootable USB, it must be without \ (backslash), like E: or G: not E:\ or G:\ otherwise POWIS end in fail with many errors. I tried to solve this, but on some languages is backslash different character. So this must be carefully driven by user.

9.png

10.png




What is RunOnceEx?

RunOnceEx is old build-in Windows feature introduced firstly in Windows 95, which processing commands one by one. In POWIS solution are these steps generated by RunOnceEx.cmd on the fly during setup process. This is also solution for some special cases. 1) Some applications needs created User account and can’t be installed through SetupComplete.cmd. RunOnceEx is processed under Administrator account so this limitation is gone. 2) SetupComplete.cmd and OOBE.cmd are ignored during setup when OEM key is used. This limitation is also gone in POWIS solution with RunOnceEx setup phase. NOTE: You can still use these files if you want, but they have their limitations explained above.


To be able to run this solution was developed Watcher.cmd. Small script that runs on background when RunOnceEx is launched to watch every 1 second for explorer.exe and sysprep.exe in Task manager, as these processes needs to be killed immediately after they appears to avoid unneeded user touch and bring better and clean user experience.


All steps are readed dynamically, so you can view all 10 steps or only few of them.
11.png


This dialog is translatable through RunOnceEx.inf. It’s a small INF file with multilanguage strings, this is same method like drivers are localized. Currently are supported these languages. Many thanks for them to translators!


English (en-US)
Czech (cs-CZ)
Brazilian Portuguese (pt-BR)
Spanish (es-ES)
Slovak (sk-SK)
German (de-DE)
Dutch (nl-NL)
Norwegian Bokmål (nb-NO)
Finnish (fi-FI)
Bulgarian (bg-BG)
Korean (ko-KR)
French (fr-FR)
Italian (it-IT)
Portuguese (pt-PT)
Russian (ru-RU)
Danish (da-DK)
Slovenian (sl-SI)
Croatian (hr-HR)
Greek (el-GR)
Turkish (tr-TR)
Romanian (ro-RO)
Swedish (sv-SE)

If you want to add your language translation, please translate these strings and submit them with language name / language code. They will be added in next release.
Code:
FINTEXT    = "Windows Post-Setup"
CERTEXT    = "Installing certificates"
SCRIPTTEXT = "Executing scripts"
OFFTEXT    = "Installing Microsoft Office"
MSITEXT    = "Installing MSI packages"
ACTTEXT    = "Activating products"
UPDTEXT    = "Installing updates"
SILTEXT    = "Installing applications"
TWKTEXT    = "Applying personal settings"
DRVCLNTEXT = "Removing unused drivers"
RBTTEXT    = "Reboot"


Examples of translated RunOnceEx into Korean, Czech or Italian. This can support any language
12.png



If you like old Window 95 setup style icon, disable ICONPATCH option in config.ini. I personally want new one instead. This is how original ugly old icon looks.

13.png


NOTE: When you are removing components with NTLite or any other slimming down tool. Keep protected these Internet Explorer files as they are responsible for RunOnceEx -
iernonce.dll + iernonce.dll.mui + IEAdvpack.dll. NOTE: If you remove them before POWIS touch keep calm, POWIS will add all needed files. Yes, it works with Server Core without problem too!


What is Clean DriverStore feature?
Have you integrated bunch of drivers into your image? CleanDriverStore.cmd is what every installed system with preintegrated drivers needs. All drivers that are not in use are automatically removed from DriverStore. NOTE: Keep all devices connected during setup or your integrated drivers for these devices will be removed! You can save a lot of space at installed machine. If you already updated your system drivers you can run CleanDriverStore.cmd as Administrator manually too! You can find log file in %WINDIR%\Logs.



How is provided ESD support for Windows Vista and Windows 7?
Yes, it’s possible to bring ESD compression into these older operating systems. This is provided by upgrading setup engine inside WinPE, this mean boot.wim is still original from Windows Vista or Windows 7.

POWIS include RES patches, so setup looks same as original! To compress install.wim into install.esd you need to enable ESDSUPPORT + INSTALLRECOMPRESS options and set INSTALLFORMAT to ESD.

What you need to do is simple, just provide new setup engine

1) Windows Vista require exactly Windows 8.0. For example English Windows Vista Ultimate SP2 x64 ISO have 3,7GB, compressed to ESD with WinRE option is final ISO 2,6GB
a) This bring dynamic drivers folder support and automated skipping product key too
b) Small glitch exist in setup after first reboot – setup activate second step „Expanding files“, but don’t worry it’s only glitch and setup is succesfully finished

2) Windows 7 require any Windows from Windows 8.0 and newer, works with Windows 10 20H2 without problem. For example English Windows 7 Ultimate SP1 x64 ISO have 3,2GB, compressed to ESD with WinRE option is final ISO 2,4GB

14.png

15.png




How looks setup with applied POWIS?
Whole Windows setup process is now more script driven. Due this method we are loosing Windows Recovery Environment option in setup known as Repair PC option. But this doesn’t matter as we added new boot option to winre.wim directly from sources folder to be able to enter Windows Recovery Environment.


For example, this is how is changed setup structure in Windows 10 20H2v2. New folders and files that are reposponsible for whole magic are added

16.png



Screenshots are in next posts!

Release history
Code:
15.07.2021 - v1.0.3 - Added RunOnceEx Swedish (sv-SE) translation
                    - Added Activation plugin folder and moved Activate.cmd inside
                    - Improved setup.cmd for more customizable builds

01.07.2021 - v1.0.2 - Added RunOnceEx Greek (el-GR), Turkish (tr-TR) and Romanian (ro-RO) translations
                    - Added install.esd input support - Now you can use POWIS on setup with install.esd
                    - Added Themes and Wallpapers plugin folders
                    - Added many new customizable options into config.ini
                    - Fixed AutoUnattended selector
                    - Fixed Num Lock default settings in WinPE
                    - Fixed WinRE.wim name and description
                    - Fixed RunOnceEx on NTLited images without Internet Explorer

27.05.2021 - v1.0.1 - Added RunOnceEx Slovenian (sl-SI) and Croatian (hr-HR) translations
                    - Added DISM 10.0.19041.1 - now can POWIS run under Windows 7 host without problem
                    - Fixed forgoten visible logs during upgrading setup engine

24.05.2021 - v1.0 - First public release

Download
Code:
https://www.mediafire.com/file/ekko89b1fqtnf93/POWIS_v1.0.3.7z/file
or
https://mega.nz/file/zAlDBYBK#DfYEu__hikhVasiDQvyzGhjUtMVLxi3rWw746oF70u8
 
Last edited:
POWIS updated to v1.0.1

Code:
27.05.2021 - v1.0.1 - Added RunOnceEx Slovenian (sl-SI) and Croatian (hr-HR) translations
                    - Added DISM 10.0.19041.1 - now can POWIS run under Windows 7 host without problem
                    - Fixed forgoten visible logs during upgrading setup engine
 
Last edited:
POWIS updated to v1.0.2!

Documentation and first post will be updated with detailed instructions for Themes and Wallpapers plugins folders later

Code:
01.07.2021 - v1.0.2 - Added RunOnceEx Greek (el-GR), Turkish (tr-TR) and Romanian (ro-RO) translations
                    - Added install.esd input support - Now you can use POWIS on setup with install.esd
                    - Added Themes and Wallpapers plugin folders
                    - Added many new customizable options into config.ini  
                    - Fixed AutoUnattended selector
                    - Fixed Num Lock default settings in WinPE
                    - Fixed WinRE.wim name and description
                    - Fixed RunOnceEx on NTLited images without Internet Explorer
 
POWIS updated to v1.0.3!

Documentation and first post will be updated with detailed instructions for Themes, Wallpapers and Activation plugins folders later

Code:
15.07.2021 - v1.0.3 - Added RunOnceEx Swedish (sv-SE) translation
                    - Added Activation plugin folder and moved Activate.cmd inside
                    - Improved setup.cmd for more customizable builds

Now we can use plugins folder more effective. I will upload some "Plugins packs" as example later.
 
I want to add program (latest version):
-acrobat reader pdf
-firefox
Are the programs added inside the setup file, silent install or not ?
 
Last edited:
Back
Top