/DISMTools

The connected place for Windows system administration

Primary LanguageVisual Basic .NETGNU General Public License v3.0GPL-3.0

Product image


DISMTools is a front-end for DISM that lets you manage your Windows Imaging (WIM) files and a whole lot more.

About this project

This project was created simply because of the lack of free, open-source, and updated graphical interfaces for DISM. Before this tool was started, these popular UIs were available:

  • NTLite, which is the most popular offering. This software is free, but puts certain features (like downloading OS and program updates) behind a paywall, so it may not be for you if you are looking for a free, fully-featured program
  • MSMG Toolkit, which is one popular alternative. This is free and open-source (given that it is a script), but it may not be easily accessible for download, and may not be intuitive given its command-line user interface (TUI)
  • DISM GUI, the first popular, .NET powered GUI that lets you perform a couple of actions with your Windows images. While it is open-source (with its source code available on GitHub), it has not been updated since 2017
  • DISM++, another fully-featured, CBS-powered GUI. However, it has not been updated since 2023 and it is not open-source (even though there is a GitHub repository, it is only meant for the website and language translations)

There are also more GUIs for DISM, but they are way less known, so they are not mentioned here. Given this situation, this project was created to be a viable alternative to NTLite that was free, open-source, easily accessible, and constantly updated.

Key features

Working with projects

Inspired by Visual Studio, DISMTools is the first project-based GUI. Projects store the mounted image and unattended answer files you want to apply (using the command line at this time), while also providing a scratch directory for temporary operations.

DISMTools projects are also tiny when you create them, and contain a structure that is easy to navigate.

The program also supports setting and removing file associations for projects with the click of a button (only on portable installations), so you can load your projects instantly by double-clicking them. You can also copy your installed deployment tools to your projects, allowing you to use those anywhere you take them.

Manage your active installation, or installations on any drive

With the online and offline installation management modes, you can easily manage any installation of a modern Windows version.

Compatibility and performance go hand in hand

Unlike other user interfaces for DISM that use either the DISM API or the DISM executable, DISMTools uses both, providing great performance to get the information you want from your images and installations quickly, and compatibility, allowing you to use any version of the DISM program, ranging from the Windows 7 version all the way up to the latest versions in Windows 10 and 11, so that your existing command-line workflows are not affected when you move to the graphical interface.

An advanced front-end

DISMTools isn't just a front-end for DISM, but an advanced one. As you perform tasks with your images and installations, you're presented with rich information and functionality. Here are some examples:

  • Rich information during AppX package addition. When adding an AppX package, you'll see rich information and, in most cases, the main Store logo asset:

  • Download content from App Installer packages automatically. Have an App Installer package? No problem. Add it, and DISMTools will download the main package and use it automatically:

  • Automatic detection of sources from Group Policy. If you want to enable a feature, repair the component store of a Windows image, or add a capability, with a source defined in the Group Policy; you can easily use it:

  • Easily create configuration lists. With the DISM Configuration List Editor you can quickly create your configuration list to exclude certain items during operations like capturing an image:

  • Quickly manage all your mounted images in one interface. The mounted image manager lets you perform basic image management tasks with your mounted images:

  • Generate and print image information easily. With image information reports, you can save the information of one area or all areas of the Windows image you're servicing for future reference:

  • Quickly test your Windows images. With the ISO creation wizard, you can test your Windows image quickly and easily:

Note

The Windows ADK and its Windows PE plugin are required for this feature to work

  • View who signed an installed driver. When getting installed driver information, you can view the signer information of a driver if it is signed:

Supported actions

The following actions are supported by DISMTools:

This program is in beta stages, so not every possible action is implemented. Check the "Unsupported actions" section for more details

  • Image management
    • WIM/SWM/ESD file application
    • Image capture
    • Image commits
    • Volume image removal (removal of unnecessary Windows editions)
    • Image mounting and unmounting
    • Image servicing session reloads
    • Image index switches
    • WIM -> ESD and viceversa conversion
    • SWM file merger
    • Component cleanup
    • Image splitting
    • Appending changes to Windows images
    • Exporting Windows images to new image files
  • OS packages and features
    • Package addition and removal
    • Feature enablement and disablement
  • AppX package servicing
    • Application addition and removal
  • Capabilities
    • Capability addition and removal
  • Drivers
    • Driver addition and removal
  • Provisioning packages
    • Add provisioning packages to an image
  • Other
    • Get complete information of an image
    • Using the project's or program's scratch directory
    • Get information of packages, features, AppX packages, capabilities, and drivers
    • Configure Windows PE settings
    • Basic automation

Unsupported actions

  • Regional settings
  • Applying unattended answer files
  • and more, it's in beta stages

These actions will be supported in future releases. They aren't implemented yet because it takes time to create working implementations that don't conflict with the rest of the program

System requirements

DISMTools is compatible with the following operating systems:

  • Client: Windows 8.1 and later (excluding Windows 10 versions 1507 and 1511)
  • Server: Windows Server 2012 and later (excluding Server Core variants)

Note

DISMTools is not compatible with Windows 7/Server 2008 R2 (versions 0.2.1 onwards), Wine, or ReactOS

Downloading

You can download DISMTools from the Releases section (recommended), from Softpedia, or from WinGet:

  • Stable version: winget install CodingWondersSoftware.DISMTools.Stable (moniker: DISMTools)
  • Preview version: winget install CodingWondersSoftware.DISMTools.Preview (moniker: DISMTools-pre)

This program is also 100% Free.

Last updated: May 25, 2024 (Roberto Zamfir)

The SourceForge project also keeps track of new releases in this repository, so you can download the latest releases from there as well.

Building

If you want to grab a copy straight from the source code, follow these instructions:

  1. Begin by either cloning the project or downloading a ZIP of the source code. Go to "Code", and select an option from there
  2. Prepare the NuGet packages by running nugetpkgprep.bat in the location you cloned the repository to
  3. Open the solution in Visual Studio 2012 or later
  4. Scroll down on the Solution Explorer until you find UnpEax, right-click it and select Build
  5. Finally, go to "Build > Build solution", or press CTRL-Shift-B

Additional startup flags

To speed up testing, you can perform these steps before running the program from within Visual Studio:

  1. In the Solution Explorer, double-click My Project
  2. Go to the Debug tab
  3. Under the Startup options, type the following in the command line arguments text box: /nomig /noupd
  • /nomig skips setting migration
  • /noupd disables update check functionality

You should have this setting configured like this:

JetBrains users

If you use an IDE from JetBrains, you can also work on DISMTools. However, you can only modify the source code of forms, so there will not be any designer.

Contributions

If you want to contribute to this project, you can do so in many ways:

  • Code changes: changes that WILL make it to the next release. If you want to do these, please read the contribution guidelines
  • Documentation and/or artwork: if you like the visual side of things more, we recommend contributing to the help system! Check out the last section for instructions.

Testing the latest

We continue the development of the next version in the Preview branch. To go to it, select "dt_preview" from the branch list. Commits are done every day, and new builds are released every 2 weeks.

Stay in touch

Be sure to follow our official subreddit for release announcements and other cool stuff. Also, check out the My Digital Life discussion to know about features being worked on.

Contribute to the help system

We want your help to build a great help system for DISMTools. If you want to contribute to it, you can read more here.