DISM compatibility between builds

Discussion in 'Windows 10' started by Atari800XL, Mar 20, 2015.

  1. Atari800XL

    Atari800XL MDL Addicted

    Apr 3, 2011
    961
    1,678
    30
    Good the see the forum's back! I guess it's related to all the single-post users lately?

    With each new build, I'm doing a clean setup, then in the new install I'm using DISM (on the original mounted install.wim) to add a few drivers, set edition to Enterprise, add NetFX3, then export to new wim. Then I do another clean setup with this new install.wim. (BTW: JFX's WinNTSetup 3.7.6 is fully compatible with the latest build!)

    Before, I tried to use any previous build to do these DISM steps to the new build, but I would normally get DISM incompatibilty errors.

    So my question is: Is there a way to tell if DISM from a previous build is compatible with a new build's wim files? Or is it just trial and error, and should I stick to my "double install" regime?

    Any insight would be greatly appreciated...
     
  2. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    I don't know if there's a way to tell except for trying it out.
    What you can do however is mount the wim with an older version (everything that's not really "servicing" should not give issues), copy the new dism files out of the mounted wim and use that dism to service the image.
    I don't know how dism keeps track of mounted images, so just to be sure make sure to unmount with the older dism (same dism as used to mount).
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Atari800XL

    Atari800XL MDL Addicted

    Apr 3, 2011
    961
    1,678
    30
    Thanks Stannieman, will try that later today.
    Which files/ folders do I need to extract to have a full ("portable") DISM package?
     
  4. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,222
    84,906
    340
    dism from ISO's sources directory is good enough to service offline build

    Using dism from system32 will not work
     
  5. Atari800XL

    Atari800XL MDL Addicted

    Apr 3, 2011
    961
    1,678
    30
    Abbodi1406, please could you share some more specifics?
    What if there's a new esd (no iso), and we decrypt it, then extract image 4 to install.wim.
    Would it be enough then to extract dism.exe from image 2, what other files would be needed?
    Thanks for any info...
     
  6. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    Hmm, I forgot there was a dism in the iso, that one would also work of course
    And the copied dism from system32 should work, but you should also copy the other files, not just dism.exe.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,222
    84,906
    340
    #7 abbodi1406, Mar 20, 2015
    Last edited by a moderator: Apr 20, 2017
    index 1 = iso directories (including sources) minus boot.wim/install.wim
    you simply apply it to a folder
    or use wimlib:
    Code:
    wimlib-imagex extract install.esd 1 \sources --no-acls --no-attributes
    as for dism-related files, i have not check latest build yet, but these give me functional dism in 9926:
    Code:
    \sources\en-us\compatprovider.dll.mui
    \sources\en-us\dism.exe.mui
    \sources\en-us\dismapi.dll.mui
    \sources\en-us\dismcore.dll.mui
    \sources\en-us\dismprov.dll.mui
    \sources\en-us\ffuprovider.dll.mui
    \sources\en-us\folderprovider.dll.mui
    \sources\en-us\imagingprovider.dll.mui
    \sources\en-us\logprovider.dll.mui
    \sources\en-us\vhdprovider.dll.mui
    \sources\en-us\wimprovider.dll.mui
    \sources\compatprovider.dll
    \sources\cryptosetup.dll
    \sources\dism.exe
    \sources\dismapi.dll
    \sources\dismcore.dll
    \sources\dismcoreps.dll
    \sources\dismprov.dll
    \sources\ffuprovider.dll
    \sources\folderprovider.dll
    \sources\imagingprovider.dll
    \sources\logprovider.dll
    \sources\unattend.dll
    \sources\vhdprovider.dll
    \sources\wimprovider.dll
    \sources\wpx.dll
    \sources\api-ms-win-core-apiquery-l1-1-0.dll
    \sources\api-ms-win-downlevel-advapi32-l1-1-0.dll
    \sources\api-ms-win-downlevel-advapi32-l1-1-1.dll
    \sources\api-ms-win-downlevel-advapi32-l2-1-0.dll
    \sources\api-ms-win-downlevel-advapi32-l2-1-1.dll
    \sources\api-ms-win-downlevel-advapi32-l3-1-0.dll
    \sources\api-ms-win-downlevel-advapi32-l4-1-0.dll
    \sources\api-ms-win-downlevel-kernel32-l1-1-0.dll
    \sources\api-ms-win-downlevel-kernel32-l2-1-0.dll
    \sources\api-ms-win-downlevel-normaliz-l1-1-0.dll
    \sources\api-ms-win-downlevel-ole32-l1-1-0.dll
    \sources\api-ms-win-downlevel-ole32-l1-1-1.dll
    \sources\api-ms-win-downlevel-shell32-l1-1-0.dll
    \sources\api-ms-win-downlevel-shlwapi-l1-1-0.dll
    \sources\api-ms-win-downlevel-shlwapi-l1-1-1.dll
    \sources\api-ms-win-downlevel-shlwapi-l2-1-0.dll
    \sources\api-ms-win-downlevel-user32-l1-1-0.dll
    \sources\api-ms-win-downlevel-user32-l1-1-1.dll
    \sources\api-ms-win-downlevel-version-l1-1-0.dll
    \sources\ext-ms-win-advapi32-encryptedfile-l1-1-0.dll
    
     
  8. steven4554

    steven4554 MDL Expert

    Jul 12, 2009
    1,429
    2,610
    60
    You can use the WADK iso that I created a few days ago, that should work with build 10041. You'll find the link in my signature below.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. Atari800XL

    Atari800XL MDL Addicted

    Apr 3, 2011
    961
    1,678
    30
    Thanks steven4554.
    Remember we were talking in general about how to service a newer wim from an "older" preview. Thanks abbodi for that example.
    I did a quick test on servicing 10041 files from 10036, this does seem to work. So it looks like it's not always impossible to service "newer" using "older".
    That's why I also asked if there was any way to check beforehand if they're not compatible. I guess not, best way right now seems to be to just try, if it doesn't work: extract new DISM from iso, or from ESD-image 1.
     
  10. Atari800XL

    Atari800XL MDL Addicted

    Apr 3, 2011
    961
    1,678
    30
    I did a number of tests, I think I've got it now... Abbodi's method is working fine, even with Windows 8.1 as host (not on Windows 7, though).
    Extracting the \sources folder from the ESD's image "1" works great, the folder is only a few hundred mb in size (tested on 32bit), so no need to filter out the DISM files one by one. The folder can be "thrown away" afterward anyway.
    So from Windows 8.1, I used "portable" DISM 10.0.10041.0 to add NetFX3 to the install.wim (also from the extracted \sources folder, so another reason to keep all of it) and integrate a few drivers. There is a warning about not being able to check the signature of the drivers, but the integration is working fine. Install with WinNTSetup working 100%

    So all in all, a convenient way to service a newer wim from an older OS, without the need for an extra Windows 10 install, just for the new DISM version inside. This will save a lot of time with future preview builds.

    Thanks again to Abbodi1406!