Integrate .WA files made by abbodi

ultraform

Member
I wonder if it is possible to integrate these .wa files with Ntlite?

vcredist_x64_Win7_20220809.WA
dotNetFx48_20220903_x64.WA
DirectX_June2010_x64.WA

// Greetings
 
Hardly - as .WA format in shown cases are for Win Toolkit integration. Download the original programs and add them in POST-SETUP. If you miss any parameter or can't find them here to do so i'm sure George King can be a great assistance.
 
I can't speak for nuhi or abbodi86 on this subject, as it deals with issues they can only address:
- WA packages are written for Win ToolKit & Simplix​
- abbodi's DirectX June 2010 repack is redistributing MS code​

Short answer is "no" in their current form. Someone would need to adapt the scripts for NTLite.

1. MS releases VCredist & .NET as online installers and not as KB updates. abbodi's instructions are to "harvest" (capture) the post-install files from a clean live image (preferrably a VM install), and copy them to the target image folder.

Problem #1 is NTLite can't automate this step. You could just harvest the current host, but that contradicts his idea of a clean master.

Problem #2 is running the script against a mounted image. This is solved by NTLite's <PostUpdates><Command> feature to run arbitrary commands on the [MOUNTDIR]. But abbodi's copy script needs to be updated.

2. DirectX June 2010 is more of a legality question. abbodi has neatly extracted the distribution, and you can copy them to the mounted image.
The problem is he's redistributing actual MS code instead of asking you to DIY.

Just playing with 7z.exe, it's possible to write a script which unpacks the original MS redist, unpacks the sub packages and rearranges it to match abbodi's distribution without the need to include MS files. Much like the VCRedist method.

This isn't to take away from abbodi's code, but unlike nuhi he's not supporting a licensed product, and has the freedom to release scripts & tools for all Windows users.
 
While it's not fully automated, installing abbodi's DirectX 2010 package:

1 Download DirectX_June2010 WA, extract using 7-Zip or rename .WA to .zip
e.g. Extracted folder is C:\DX9unpack​

2. From Integrate, add the 32bit.reg or 64bit.reg file

3. Save your preset, and insert this XML block under <Commands>:
Code:
        <Commands>
                <PostUpdates>
                        <Command>xcopy C:\DX9unpack\GAC [MOUNTDIR]\Windows\assembly\GAC /cherkyi</Command>
                        <Command>xcopy C:\DX9unpack\Microsoft.NET [MOUNTDIR]\Windows\Microsoft.NET /cherkyi</Command>
                        <Command>xcopy C:\DX9unpack\System32 [MOUNTDIR]\Windows\System32 /cherkyi</Command>
                        <Command>xcopy C:\DX9unpack\SysWOW64 [MOUNTDIR]\Windows\SysWOW64 /cherkyi</Command>
                </PostUpdates>
        </Commands>
For the x86 version, there is no SysWOW64.

4. Load your image, and this edited preset. When you add any Updates (least one update must be listed to trigger the commands), NTLite will copy the extracted folders over. This action takes place even if the Update skips the named update file(s) due to duplicate integration or error.

How to integrate other abbodi (full package) WA's:
- Extract the WA
- Integrate the different .reg files

- Read the Tasks.txt, and add xcopy commands [unpack folder]\subdir -> [MOUNTDIR]\subdir
Don't forget to add quotes around pathnames with a space.​
Code:
[CopyFolder]
DESIGNER::Program Files\Common Files
Installer::Windows
System::Windows
System32::Windows
VC::Program Files\Common Files\microsoft shared
WinSxS::Windows

- Read abbodi's notes on GitHub
 
While it's not fully automated, installing abbodi's DirectX 2010 package:

1 Download DirectX_June2010 WA, extract using 7-Zip or rename .WA to .zip
e.g. Extracted folder is C:\DX9unpack​

2. From Integrate, add the 32bit.reg or 64bit.reg file

3. Save your preset, and insert this XML block under <Commands>:
Code:
        <Commands>
                <PostUpdates>
                        <Command>xcopy /cherky C:\DX9unpack\GAC [MOUNTDIR]\Windows\assembly</Command>
                        <Command>xcopy /cherky C:\DX9unpack\Microsoft.NET [MOUNTDIR]\Windows</Command>
                        <Command>xcopy /cherky C:\DX9unpack\System32 [MOUNTDIR]\Windows</Command>
                        <Command>xcopy /cherky C:\DX9unpack\SysWOW64 [MOUNTDIR]\Windows</Command>
                </PostUpdates>
        </Commands>
For the x86 version, there is no SysWOW64.

4. Load your image, and this edited preset. When you add any Updates (least one update must be listed to trigger the commands), NTLite will copy the extracted folders over. This action takes place even if the Update skips the named update file(s) due to duplicate integration or error.

How to integrate other abbodi (full package) WA's:
- Extract the WA
- Integrate the different .reg files

- Read the Tasks.txt, and add xcopy commands [unpack folder]\subdir -> [MOUNTDIR]\subdir
Don't forget to add quotes around pathnames with a space.​
Code:
[CopyFolder]
DESIGNER::Program Files\Common Files
Installer::Windows
System::Windows
System32::Windows
VC::Program Files\Common Files\microsoft shared
WinSxS::Windows

- Read abbodi's notes on GitHub
Thank You thanks a lot . solved my issue with my ntlited win7 offline image.
 
I realized xcopy's destination path was missing the last part of the target folder. It's been corrected.

The disadvantage of integrating this WA is there is no Program & Features uninstall entry to confirm DX9's presence. dxdiag will only report the highest installed version on the system (ie. DX11 on W7 SP1). In the end, you decide which method works better for you.

UPDATE - As abbodi confirmed on the WinCert thread, his DX9 WA package is missing xaudio2_9redist.dll

1. Download the Microsoft.XAudio2.Redist nupkg; unzip the package.
2. Copy the matching x86/x64 files from \build\native\release\bin to the WA folder's System32 or SysWOW64.
3. Follow the previous instructions.
 
Last edited:
Back
Top