The Oven

Tool World => Development and code snippets => Topic started by: trashy on March 23, 2014, 10:32:56 AM

Title: Easy DISM
Post by: trashy on March 23, 2014, 10:32:56 AM
Easy_Dism

Striving to be the Best and Easiest to use DISM GUI available!
Installer created with InnoSetup
If DISM 10 files are needed you will be prompted to Download
( automated download and install of DISM files )

[attach=1]
[attach=2]

If running from PE just use the plugin and everything will be done automatically.
http://theoven.org/index.php?topic=955.msg11799#msg11799 (http://theoven.org/index.php?topic=955.msg11799#msg11799)

Easy_DISM v2.5.6
[attach=3]
Added lots of Tool Tips and better instructions
About half way finished, got to Driver Export\Import Tab
Added a new Driver install Process that's is just awesome
See more here http://theoven.org/index.php?topic=933.msg23060#msg23060 (http://theoven.org/index.php?topic=933.msg23060#msg23060)

Easy_DISM v2.5.5
New Installer with uninstall created with InnoSetup
Fixed a bug with 64bit DISM download fail to copy DISM files
Included a tool to remove Easy_DISM v2.5.4

Easy_DISM v2.5.4
Thanks to JFX and GetWaikTools
Fully automated download and install of DISM 10

Easy_DISM v2.5.3
Fixed bugs with Export ESD to WIM only available with DISM 10
Added Muti Image Export option ( export all )
Created a basic installer and a process to simplify the install of DISM 10
This will need testing see more here http://theoven.org/index.php?topic=933.msg22936#msg22936 (http://theoven.org/index.php?topic=933.msg22936#msg22936)

Easy_DISM v2.5.2
Added AppAssociation Tab Export Import .xml
Adding Cofig Settings to last Tab and using EZ_config.ini
Now you can set  your Home Tab or manually set DISM path

Easy_DISM v2.5
Added AppPkg Tab Special for Subz @Autoit
His routine for removing Apps makes it really simple
Program Update In Windows 8.1 and 10 Easy_DISM run from anywhere (uses DISM @SystemDir)
Windows 7 still have to pack Easy_DISM to same folder as DISM

 Easy_DISM v2.4.1
Thanks to Subz new process sorting exported drivers
New folder structure will be SaveFolder\ClassName\ProviderName\blahblahblah\driverfiles

Easy_DISM v2.4
New Progress Bar!
Driver Export\Import Now uses PnPutil as default installer available in all Windows and PE projects
DPinst option still available

More Version Info
http://theoven.org/index.php?topic=933.msg22222#msg22222 (http://theoven.org/index.php?topic=933.msg22222#msg22222)

Easy_DISM v2.3
Added a Progress Bar and eliminated Cmd Window all tabs except pkgs and features.
As  I added Progress Bar and testing fixed a few bugs already present
and fixed any new bugs caused by the new addition (I Hope).
Biggest source of problems has always been spaces in file path so if you find any let me know.
Title: Re: Dism GUI (WIP)
Post by: trashy on March 24, 2014, 12:42:02 PM
Why the new name?
Cause it is the best and the easiest! (pat myself on the back)                         
There are a couple DISM GUI around and I wanted to be different.

Recommend Dism 10 (Windows 10)
Also compatible with DISM for Windows 8 and 8.1
Compatible with all versions Windows and PE
Use Get WAIK Tools "thanks to JFX" download both ADK and WAIK
Place Easy_DISM in same folder, no spaces in file path (The last blank space problem still to fix)

Easy_DISM_v2.2.1
[attach=2]
Fixed a couple bugs with spaces in file path on new Tab
Couple tweaks to program to make it compatible with PE plugin
It will search for DPinst in Easy_DISM folder then in system dir
If you want to use this feature outside the PE you have to copy DPinst to Easy_DISM folder.

Easy_DISM_v2.2
New Tab Driver Export\Import
Export drivers from Online OS, Attached Hard Drive, or Mounted Image.
Could not get the Export Driver function to work on a Windows 7 Image
untill I tried DISM 10.
Install (Import) to online PE or OS with DPinst.
DPinst must be added to Easy_DISM folder for this function.
Made a few tweaks to Capture|Append Tab and others.

Easy DISM v2.1
Hope I worked out all the bugs.
Driver Tab: Added ForceUnsigned to single driver
DiskMgt Tab: You can now browse for DiskPart text
Added 2 new Tabs
Split Tab: Split WIM files and Merge SWM files
Merge uses the export function of DISM, You Must Export (Merge) Each Index 1 At A Time
Driver Import Tab: WIP  Wanted to Use the driver export function of DISM to Import to an
online PE but apparently it doesn't work with Windows 7. Will have to load 8 on something to test.

Easy_DISM v2.0
Tested with dism 6.2 and 6.3 (Win 8 and 8.1)
should be compatible with 10 also.
Added 3 more functions
Export: Can also be used to convert .esd to .wim when exporting as new file.
Delete: does just what it says.
Edit: Change volume index name and description. (uses imagex)

Plugin Updated to version 2.2.1
http://theoven.org/index.php?topic=955.0 (http://theoven.org/index.php?topic=955.0)


OBSOLETE

GUI for Dism 6.2 (Win8)

July-2015
Extremely dense cataracts had left me nearly blind. Last eye surgery was March and I hope to resume this project.

I have tried to create an easy to use gui for DISM simple enough for any dummy (like me) to use.
Seriously how can anyone remember all those commands. More powerful and many more options than imagex.
Add the 32 or 64 bit GUI to the same folder as DISM 6.2.9200 and it can run on any version of windows or PE.

There can be NO SPACES in program dir path best location is root of drive. This applies to all versions of Dism_Gui.

PE Plugin can be found here http://theoven.org/index.php?topic=955.0 (http://theoven.org/index.php?topic=955.0)
Download for 32 and 64 bit Gui can be found at the end of this post.

Download Dism for Windows 8 using getwaiktools found in PE Builder utilities.
Place Dism GUI in same folder as dism.exe
Or if you're running Windows 8 you can just put the GUI in system32 directory and create a desktop shortcut.

Mount UnMount, add and remove drivers and packages.
Should work on Windows 7 or 8 and PE.
Possibly XP and Gena, needs testing.
Only restriction, mount folder CAN NOT contain spaces in folder name and should reside in root of any Drive.
EDIT: Bug in add driver folder, will not accept spaces in folder name.

Plan is to add capture and apply but needs extensive testing first.
I'd like to work the bugs out of what I've done so far before I continue.

New to version 1.1
FIXED: Bug in add driver folder, will now accept spaces in folder name
and a few other small tweaks.

New to version 1.2
Added CheckIntegrity to Mount and UnMount
Added new Tab Apply, (I think capture function may be a little tougher).

New to version 1.3
Added 2 new tabs Features and Capture/Append
These will need some testing, will post plugin shortly.
Capture/Append was a pain in the ass overcoming spaces in file and folder names.
Command lines contain as many as 5 variables.

Version 1.4
Added select scratchdir to Capture/Append, addresses a problem in PE default directory is
located in ram drive and too small for temp working directory.
Thanks to wingers for bringing this to my attention and help with testing new version.

EDIT: SIW2 gave me this one. Added .esd file extension to Apply.

Version 1.5
Added a new tab Diskmngmt
Wingers suggested adding disk format

@ homey added support for basic winpe built from WAIK (FileSelectFolder dialog)

Edit: Added option for diskpart

Version 1.6
[attach=1]
Fixed a few minor script errors and
Added warning message to Mount tab
   UnMount warns if Commit or Discard Changes
Added warning message to Capture tab
   Capture and Append warns if name and description fields are blank
Added warning message to Apply tab
   Apply gives image and index info
Title: Re: Dism GUI (WIP)
Post by: SIW2 on March 24, 2014, 11:55:56 PM
Good idea.

I have done a couple , just simple gui which I use in pe.

Dism7 is for 7 upwards, and dism 9 is for 8x

[attach=1]
Title: Re: Dism GUI (WIP)
Post by: trashy on March 25, 2014, 12:41:33 AM
@SIW2
Your Pic's too small can't tell what you've done, what features have you employed.
Have you shared the program anywhere?
I found very little on internet for dism gui.

I'm a total amateur at AutoIt and know very little about dism as well.
This has been a challenge as well as a good learning experience.
Don't have Win8 available to test on, all I have is XP and Win7.
Title: Re: Dism GUI (WIP)
Post by: trashy on March 25, 2014, 09:57:58 AM
What I've discovered about dism win7 and win8 versions are completely different.
They use different command line options and it appears win8 version has many more features.
Apply and capture not available in win7 version.
I may be done with this version for now, could add package manipulation.
I need to get a hold of a copy of Win8. Dism for Win8 has many more features.
Title: Re: Dism GUI (WIP)
Post by: SIW2 on March 25, 2014, 11:02:53 AM
Rt click the pic and open in new  tab to see it full size. i have added it again at the bottom here

Dism 8x will accept the commands from my Dism7 gui.

There are some new ones as well, that is what Dism9 GUI is for.

Title: Re: Dism GUI (WIP)
Post by: trashy on March 25, 2014, 11:43:23 AM
Dism 8x will accept the commands from my Dism7 gui.
That's good to know.
You've crammed a lot into 1 gui but it looks like you covered everything.
Hopefully what I've done makes it easier for amateurs like me to understand,
like I said I tried to make it fool proof.

I still have a lot to learn about dism and autoit, need to give it a break for a while
and let some of the info I've absorbed sink in. Think I'll share what I've done so far
in a plugin and let em test in a PE environment.
Thanks for the info
Title: Re: Dism GUI (WIP)
Post by: SIW2 on March 25, 2014, 12:18:47 PM
I think yours could be better than mine, you can get several tabs going. I can only do one page.  :thumbsup:
Title: Re: Dism GUI (WIP)
Post by: trashy on March 25, 2014, 12:30:52 PM
Just ran my first test from win7PE mount completed but I got an access denied error wtf.
I had big problem with tabs at first too.

Edit: Dism Error 5 access denied, online search says Anti Virus or Admin privilege.
Im running Avira and SpyBot on my PE build.
Title: Re: Dism GUI (WIP)
Post by: SIW2 on March 25, 2014, 11:43:14 PM
Are you sure winpeshl.exe completed?

Which pe build are you using?
Title: Re: Dism GUI (WIP)
Post by: trashy on March 26, 2014, 12:28:15 AM
Win7PE_SE
Had Avira set to run on startup. New build without Avira and it Works flawlessly!
I use Microsoft Security Essentials in Windows and never had that problem.

You seem to know a lot more about dism than I do. I may want to pick your brain,
what features I should and some command line examples.
Title: Re: Dism GUI (WIP)
Post by: ChrisR on March 26, 2014, 06:15:58 AM
It is a good idea  :thumbsup:

I found 2 other tools on which you can perhaps inspire you
DISM GUI 3.5 http://mikecel79.wordpress.com/  It required DotNet
GDism ELDI v6.2 http://www.datafilehost.com/d/0fb6904b The interface is nice with many options available but it is written in Java.

Good dev  :smile:
Title: Re: Dism GUI (WIP)
Post by: trashy on March 26, 2014, 10:02:36 AM
Thanks ChrisR
1st one I seen already 2nd one I'll have to take a look at. Should help give me some more ideas.

What I really needed was a complete list of dism Command-Line Options.
Searches kept taking me to Win8 page, finally found Win7 page, should give me what I need.
Command-Line examples are always nice, that's what I was asking SIW2 for, examples.
Title: Re: Dism GUI (WIP)
Post by: ChrisR on March 26, 2014, 02:00:35 PM
Deployment Image Servicing and Management (DISM) Command-Line Options (Standard 8) http://msdn.microsoft.com/en-us/library/jj980032(v=winembedded.81).aspx

For the organization GDISM ELDI seems not bad with many options, it may lack tabs for Apply or Capture.
Continue step by step or Tab by tab (Mount, Info , Features, Packages, Drivers, Capture, Apply, ...)
 
Title: Re: Dism GUI (WIP)
Post by: trashy on March 27, 2014, 06:36:24 AM
DismGUI_ELDI.jar
I know absolutely nothing about java, can't get it to start.
I want to do my own for win8 version of dism in autoit.
I don't have a copy of Win8, I guess the only way to get dism for 8 is download WAIK.
Title: Re: Dism GUI (WIP)
Post by: ChrisR on March 27, 2014, 06:54:04 PM
DismGUI_ELDI.jar
I know absolutely nothing about java, can't get it to start.
You need the java runtime environment installed to launch the .jar file

I want to do my own for win8 version of dism in autoit.
:thumbsup: without the need of Java or DotNet  :thumbsup:

I don't have a copy of Win8, I guess the only way to get dism for 8 is download WAIK.
Look at the great GetWAIKTools  :thumbsup:
http://theoven.org/index.php?topic=287.0 or http://www.msfn.org/board/topic/156869-get-waik-tools-wo-downloading-the-huge-isos/
Title: Re: Dism GUI (WIP)
Post by: trashy on March 28, 2014, 10:27:01 AM
Yes, no dependencies.

Just tried GetWaikTool, that's what I needed, now to start testing.
Thanks ChrisR
Title: Re: Dism GUI (WIP)
Post by: trashy on April 02, 2014, 04:17:09 PM
Working on dism for win 8. Of course I'm running Win 7.
I thought I could just place my autoit script in the same folder as dism but nooo.
Had to use @ScriptDir and the only way to make that work was to remove all the double quotes from variables in cmd line.
Which means no spaces in folder names. Also using @ScriptDir will cause problems if using under Win8.
Any one got any ideas? Can't delete, overwrite or rename dism from system32, windows protected file.
Title: Re: Dism GUI (WIP)
Post by: trashy on April 02, 2014, 09:30:21 PM
OK, I'm on the right track. It's all about the placement of quotes.
As far as running in Win 8, should be able to place gui in system32 dir and create shortcuts.
Should have something ready for testing soon.
Title: Re: Dism GUI (WIP)
Post by: trashy on April 03, 2014, 01:49:09 PM
@ScriptDir causing too many conflicts, I'm stumped.
May throw out everything and start over fresh.
Title: Re: Dism GUI (WIP)
Post by: trashy on April 05, 2014, 07:43:08 PM
 Gui for Dism v6.2 (Win8)
Had to rewrite all command lines to use @ScriptDir.
It was a real pain in the ass to configure command lines to accept spaces in folder names.
The only exception is mount folder can not contain spaces in folder name.
I think it's best if mount folder resides in root of hard drive and doesn't contain spaces in folder name.

On the plus side using @ScriptDir overcomes some conflicts I had in previous Gui for Dism v6.1 (Win7).
Dism Gui must be placed in same dir as dism.exe, easily obtained as ChrisR pointed out to me in previous reply.
This should also give us the ability to use it on any version of Windows or PE.
I'm going to rewrite Gui for dism v6.1 the same way, using @ScriptDir.

Used same gui design as in my previous version,only 3 tabs so far.
I will want to at the least add tabs for capture and apply.
I'm going to go ahead and post what I have so far, needs some extensive testing.
Title: Re: Dism GUI (WIP)
Post by: trashy on April 06, 2014, 04:23:58 AM
Found a bug with add driver folder, won't accept spaces in folder name.
Code: [Select]
RunWait(@ComSpec & ' /k "' & @ScriptDir & '\Dism.exe /Image:""' & GUICtrlRead($T2Input0) & ' /Add-Driver /Driver:""' & GUICtrlRead($T2Input2) & '" /Recurse')
Posted at autoit forum a couple hours ago and no reply yet and they're usually quick with answer.
EDIT: FIXED
Title: Re: Dism GUI (WIP)
Post by: trashy on April 07, 2014, 02:34:37 AM
Couple of questions
What's the difference between Windows 8 and 8.1 and is 8 upgradable to 8.1.
As far as dism goes is there any big difference between the 2 versions.

I work residential construction and this a hobby for me.
I have 15 to 20 PC's I take care of (friends and family) and I haven't seen a Windows 8 machine yet.
Title: Re: Dism GUI (WIP)
Post by: SIW2 on April 13, 2014, 03:52:20 PM
I have just looked at win 7 pese x64.

Seems to be something in the 7 pese software hive causing problems with mounting wims.

I replaced the software hive with my own handbuilt, and mounting is fine.

Might take a while to track it down.
Title: Re: Dism GUI (WIP)
Post by: SIW2 on April 13, 2014, 03:54:35 PM
Quote
I haven't seen a Windows 8 machine yet

Neither have I. Surely they must be selling at least some.
Title: Re: Dism GUI (WIP)
Post by: trashy on April 13, 2014, 10:08:46 PM
Most of the PCs I take care of I've built from 2nd hand parts, including my own.
I've been building and testing everything on x86 windows and x86 PE but can do x64.
Just curious problem mounting using gui right, is that mine or yours and which version
Have you tried mounting using command.
Title: Re: Dism GUI (WIP)
Post by: SIW2 on April 14, 2014, 08:52:47 AM
I meant mounting generally.

Had problems using gimagex. Seems to be an issue with that particular 7x64 zh-CN win7 pese build. On closer investigation, there are a number of de -DE entries. I built de-DE version just before. Something went awry with the zh-CN build process.

Started again with new extraction on different partition and the new zh-cn build now mounts fine.

If you are having problems , maybe try deleting the entire win7/8 pese folder and start from scratch.
Title: Re: Dism GUI (WIP)
Post by: trashy on April 14, 2014, 09:56:16 AM
I understand
From my experience in past when getting wierd results like that, clear the temp folder.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 09, 2014, 09:25:39 AM
Hi

Been looking everywhere for a GUI for DISM that had ability to capture and apply - and found this topic- great work guys

@SIW2 - is your version available to download anywhere so I could try it? want to use it in PE to replace my existing GimageX script - so I can capture/apply images to new Windows 8 machines we will be rolling out later in year

Thanks

P.S. Are either of these written in VB.NET? if so is the source code possibly available to play with?  :smile:
Title: Re: Dism GUI (WIP)
Post by: trashy on May 15, 2014, 02:09:16 AM
Written in AutoIt with scite, if you haven' tried autoit yet you really should, language is very similar to vbs.
Have posted plugins for both versions of dism gui in general plugins.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 15, 2014, 07:13:46 AM
Capture doesn't seem to work

Selected my source drive, entered destination i.e d:\test.wim, entered description - but when I click capture I get error about  /name option missing a required argument

EDIT: found I had to select windows version in drop down box to right of use custom and then it works

This is not obvious though, and perhaps like gimagex and others it could detect the version automatically and complete this field? - or at least change layout of that tab to make it more obvious which fields have to be completed - perhaps even have capture and append on separate tabs? just a thought
Title: Re: Dism GUI (WIP)
Post by: wingers on May 15, 2014, 10:11:08 AM
capture still failing at times with error 80 the file exists

Seems this is a common one when running in WinPE and you need to specify a scratch directory - as by default it uses the booted win pe drive which doesn't have enough space

see here = http://social.technet.microsoft.com/Forums/en-US/34aa61cf-59d4-414a-9286-4e42b694ecf1/dism-error-80?forum=w8itproinstall

UPDATE 1: only seems to fail with above error if you have VERIFY (/Verify) or CHECK (/CheckIntegrity) selected

UPDATE 2: confirmed fixed if you add the  /ScratchDir argument to DISM and point it to a drive with enough space for temporary files to be created
Title: Re: Dism GUI (WIP)
Post by: wingers on May 15, 2014, 11:55:31 AM
every image I create successfully, I then can't apply - as it says Error 13 the data is invalid

Images created in past using imagex can be applied without a problem - it is just with new images creates using dism gui
Title: Re: Dism GUI (WIP)
Post by: trashy on May 23, 2014, 11:29:25 PM
Thanks for the input.
Sorry I haven't been around much lately, I work construction and been busy with other things.
I was using gimagex mostly and occasionally found the need for dism, which I know very little about.
The more I learn about dism should be able to do every thing imagex can and much more.
Couldn't find a descent gui for dism so decided to make my own. This is about my 4th or 5th app created
with AutoIt and yours is the first real input I've had. Adding the selection of a Scratchdir shouldn't be a
problem but I don't know about check/verify. As far as auto detecting version name, don't know if I'm
smart enough to figure that one out.

I'm running PE from a 30 gb partition on a 300 gb external hard drive, probably why I never noticed the problem.
I'll add scratchdir and try to post it here in the next couple days.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 24, 2014, 05:55:05 AM
thanks Trashy

Let me know when updated and I will certainly continue testing it for you
Title: Re: Dism GUI (WIP)
Post by: trashy on May 24, 2014, 09:17:00 AM
Wingers couple of questions.
What version of WinPe and Dism are you running?
Did you use my plugin to build or are you running from system32 dir?

I just read the Dism error 80 entry you posted above and if I understand correctly
the real problem may be with dism for windows 8.1.
The plugin I provided here http://theoven.org/index.php?topic=955.0 (http://theoven.org/index.php?topic=955.0)
Uses dism from windows 8 and should download it automatically. I hope this will solve the problem.

This is an example of the command line from my script.
RunWait(@ComSpec & ' /k "' & @ScriptDir & '\Dism.exe /Capture-Image /ImageFile:"' & GUICtrlRead($T5Input2) & '" /CaptureDir:' & GUICtrlRead($T5Input1) & ' /Name:"' & GUICtrlRead($T5Input4) & '" /description:"' & GUICtrlRead($T5Input5) & '" /Compress:"' & GUICtrlRead($T5ComboBox1) & ' /CheckIntegrity /Verify', "")
It already contains 5 variables and if I remember right gave me fits, adding a 6th variable for scratchdir may cause
my brain to shut down. It's all about the placement of quotation marks and it's always different according to number of variables.

Just check the version of dism.exe your using and let me know, should be version 6.2.9200.16384
Title: Re: Dism GUI (WIP)
Post by: wingers on May 24, 2014, 09:28:00 AM
I am using Win81PE by ChrisR

I did use your plugin to build, and the version of DISM it puts in the folder is 6.2.9200.16384

Error 80 is caused when running in PE, and you are running PE from a device which doesn't have enough temp space for the image to be created, so you then have to use scratchdir to point it to a temp dir on a larger driver - probably not an issue I will get when running properly as I too would use a bigger drive to boot PE, but for testing I have just been using a small USB memory stick

Title: Re: Dism GUI (WIP)
Post by: trashy on May 24, 2014, 12:01:31 PM
I was hoping for an easy way out, no such luck I imagine some one running from cd/dvd would run into the same problem.
I was looking over the script, it's massive to me anyway, over 700 lines. Haven't touched in over a month and a half.
Loaded all my thumb drives with PE tools and gave em away, too slow compared to usb hard drive (haven't tried usb3 yet).
I'll try and figure it out this weekend if not might be next. As soon as I do I'll leave you a message here.

PS: My intentions are to add a bunch of tool tips so that when you hover over an item it gives you additional info and instructions.
I don't work much in winter and have lots of free time to do stuff like this so don't expect any major additions till then.
Besides needs time for testing and work bugs out of what I got so far. Keep testing have fun and thanks for the input.
.
Title: Re: Dism GUI (WIP)
Post by: trashy on May 25, 2014, 10:27:29 AM
Just figured out why I never had this error 80, I don't run PE from wim never have.
All files extracted to Root of usb drive no image file no ram drive. This allows me to install programs
like flash update av etc from an online PE. See more here http://theoven.org/index.php?topic=641.msg9139#msg9139 (http://theoven.org/index.php?topic=641.msg9139#msg9139)
If I understand in PE scratchdir is created in ram drive and restricted in size.

Here it is, capture only updated with select scratchdir, are you sure I don't need to do same for append.
Capture/Append tab starting to get a little crowded, will eventually split to seperate tabs.
Please test append and see if I need to add scratchdir. After you give me your results I'll update my plugin.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 25, 2014, 10:39:45 AM
I have never needed to use append - so can't comment on that - but suspect it would be exactly the same as capture - so scratchdir would be needed

That makes sense re running PE from WIM etc - I always run from WIM so would explain the lack of scratch space etc

Yes agreed it would be better if capture/append tabs were separated, as does look crowded and make it more complicated for people to know what fields need completing etc

Will test plugin once you have updated it

Thanks  :smile:
Title: Re: Dism GUI (WIP)
Post by: trashy on May 25, 2014, 10:58:27 AM
The 7z I posted above contains x86 and x64 exe.
Just mount your PE.wim replace the Dism_gui.exe and commit changes.
I want to update append and seperate tabs before I update plugin.
Let me know if this fixes the problem.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 25, 2014, 02:08:42 PM
Question:

I don't get the link between the CUSTOM NAME field and the drop down for the OS version in your capture tab

Surely the name field is just for giving your image a suitable name i.e. Win8HRDeptImage or similar - rather than giving it a name of PROFESSIONAL/ULTIMATE/STARTER etc

So perhaps you don't need the tick box for use custom or the drop down showing OS versions? - just a simple Name field for you to enter the name of your image

Just a thought
Title: Re: Dism GUI (WIP)
Post by: wingers on May 25, 2014, 02:33:18 PM
Just figured out why I never had this error 80, I don't run PE from wim never have.
All files extracted to Root of usb drive no image file no ram drive. This allows me to install programs
like flash update av etc from an online PE. See more here http://theoven.org/index.php?topic=641.msg9139#msg9139 (http://theoven.org/index.php?topic=641.msg9139#msg9139)
If I understand in PE scratchdir is created in ram drive and restricted in size.

Here it is, capture only updated with select scratchdir, are you sure I don't need to do same for append.
Capture/Append tab starting to get a little crowded, will eventually split to seperate tabs.
Please test append and see if I need to add scratchdir. After you give me your results I'll update my plugin.
Capture tested running in Windows 8.1PE using scratchdir option and it all worked fine  :thumbsup:
Title: Re: Dism GUI (WIP)
Post by: SIW2 on May 25, 2014, 05:17:51 PM
It looks really good Trashy.  :thumbsup:

Be nice to have the option to apply from .esd
Title: Re: Dism GUI (WIP)
Post by: trashy on May 25, 2014, 05:47:16 PM
What's .esd?
If I knew what you meant I'd give it a shot.

Edit: Did a quick search looks like .esd is just another file extension for another windows image.
        If that's all it is then adding another file extension is easy.
Question: What about mount and append?
Title: Re: Dism GUI (WIP)
Post by: SIW2 on May 25, 2014, 08:55:10 PM
I don't think esd can be mounted. It can't be serviced either as far as I know.

Export to and capture as .esd are doable, I believe. Might take a while as it is highly compressed.

Title: Re: Dism GUI (WIP)
Post by: homey on May 26, 2014, 09:13:35 AM
Hi,
Great Work!

FileSelectFolder works while booted into Windows but, I wonder if you would consider something like this to allow FileSelectFolder on the winpe cd ?

The numbers inside the brackets are all one string with no line wrapping.

#include <MsgBoxConstants.au3>

BrowseForFolder()

Func BrowseForFolder()
    ; Display an open dialog to select a file.
    Local $sFileSelectFolder = FileSelectFolder("Choose a folder: ", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}",4)
    If @error Then
        ; Display the error message.
        MsgBox($MB_SYSTEMMODAL, "", "No folder was selected.")
    Else
        ; Display the selected folder.
    EndIf
EndFunc
Title: Re: Dism GUI (WIP)
Post by: trashy on May 26, 2014, 10:34:33 AM
@homey
I haven't run PE from a CD since BartPE.
All files extracted to USB, no image file no ram drive.

So I take it you're having problem with the FileSelectFolder function. Can you not browse for folder?
I'm an AutoIt amateur what's this string for {20D04FE0-3AEA-1069-A2D8-08002B30309D}

My tabs are seperated by function, here's an example of fileselect and fileopen dialog.
This is the begining of mount tab.
Code: [Select]
Func _Tab_1($nMsg)
Switch $nMsg
Case $T1Button1
$of_T1Button1 = FileOpenDialog("Select Image File : """, @HomeDrive, """Image Files (*.wim;*.vhd;*.vhdx)", 1, "")
GUICtrlSetData($T1Input1, $of_T1Button1)
$aRun = Run(@ComSpec & ' /c "' & @ScriptDir & '\Dism.exe /Get-ImageInfo /ImageFile:""' & GUICtrlRead($T1Input1), "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($aRun, 0)
$aOutput = StdoutRead($aRun)
GUICtrlSetData($T1Edit1, $aOutput)
MsgBox(262144, "Image Info", $aOutput)
Case $T1Button2
$of_T1Button2 = FileSelectFolder("Select Mount Folder", "")
GUICtrlSetData($T1Input2, $of_T1Button2)
$bRun = Run(@ComSpec & ' /c "' & @ScriptDir & '\Dism.exe /Get-MountedImageInfo"', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($bRun, 0)
$bdata = StdoutRead($bRun)
GUICtrlSetData($T1Edit2, $bdata)
GUICtrlSetData($T2Edit1, $bdata)
Case $T1Button3
Title: Re: Dism GUI (WIP)
Post by: homey on May 26, 2014, 02:50:32 PM
Hi,
I'm using Windows winpe cd which is made from the Windows waik / adk . Very handy to have!
I put your proggy on a usb stick to try it out with the winpe 4.0 and earlier version with same problem.

Any place that uses FileOpenDialog to browse for a wim file works.
Any place that uses FileSelectFolder to browse for  a mount folder or drive doesn't work.

The diddy i posted is an example from FileSelectFolder autoit and it's similar to one I use from autohotkey.
That's the only work around I know of for browse on the winpe cd. If there is another way, I would love to here about it.

thanks
Title: Re: Dism GUI (WIP)
Post by: trashy on May 26, 2014, 07:21:34 PM
Posted a new version on page 1

@wingers added a new tab DiskMngmt. Format or if you need more Windows DiskMgmt
Take a look and see how you like.

@homey added the string to FileSelectFolder and a quick test seemed to have no adverse affect.
Please test and let me know if this fixes your problem.

As soon as you guys get back to me , I'll update Plugin.
Title: Re: Dism GUI (WIP)
Post by: homey on May 26, 2014, 08:16:06 PM
Thank you so much!
I tried the new version and the browse for folder works on the winpe cd!
thanks
Title: Re: Dism GUI (WIP)
Post by: trashy on May 27, 2014, 07:34:26 PM
Features, options to add next

I want to automate 1st boot with key, user name, computer name etc...
I've only done this once and if I remember right it was done using an xml file.
Shouldn't be hard to do, include a basic xml template and have the program fill in the blanks.
Am I right or is there a better way?
Suggestions

EDIT: Dism does have an option /Set-ProductKey but I like the unattended answer file better.
Actually I don't think I've tried this since XP and I have a lot of questions
Is the answer file basically the same from windows 7 to 8 to 8.1?
How to get Windows setup to look for answer file during oobe?
Where to put the answer file once it's configured?

All I'm concerned with is product key, user name, computer name and password.
I'm still pretty much an amateur at this and too many inputs may cause an overload.
A better option may be to point to a custom answer file to be used?

Give me some input, let me know now. I'd rather get it right the first time than to make a bunch of changes later.
Title: Re: Dism GUI (WIP)
Post by: homey on May 27, 2014, 09:30:01 PM
If you're talking about making an image of an existing system, I use the unattend.xml.

# Sysprep.exe can be found in C:\windows\system32\sysprep\sysprep.exe.
C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:C:\Windows\Panther\unattend.xml

# Use the Windows System Image Manager (WSIM) to create an unattend.xml configuration file
# Save the file as C:\Windows\Panther\unattend.xml

If you want to do an unattended install from the install media, I use the same file but name it autounattend.xml.
I place that in the root of a usb stick and boot up to the install dvd. Just have to press space to get started.

For either case, i don't use our valuable key in the xml file but use a kms key from Microsoft or just leave it out entirely. Then you have 3 days to play with it without burning up a key.

The user name can go into the xml file but I just log in as local administrator at first.
I leave the computer name as an * because I don't know what department it will be going to.

To get the xml file set up correctly takes much googling and adjusting but it can be done.

By the way, hate to tell you but dism capture fails with not finding the capturedir.
Title: Re: Dism GUI (WIP)
Post by: trashy on May 27, 2014, 10:11:05 PM
I'm talking about autounattend.xml to use during oobe. It's not such a big deal for me dealing with the occasional personal computer.
Would it be a worthwhile addition for a tech who was deploying an image to 100s of machines?

As far as capturedir, that's another one of those FileSelectFolder dialogs, I already updated with the string you gave me.
Wingers had me add the scratchdir option and has done extensive capture testing with good results.
So I have to ask you to be more specific. Did you get any error message, error 80 was scratchdir.
Did you complete all required fields, name, description, add name.wim to folder path after browsing for folder.

Be more specific about the error and I'll bet together we can find a solution.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 28, 2014, 04:34:39 AM
just tested capture again this morning and it works fine - so not sure what issue homey is having with it

as for the options to add next

I also use a KMS server, so don't need to add product key etc

For things like name and various other custom settings I have created a VB.NET app which is run when computers are deployed which automatically applies relevant drivers, changes computer name/description, changes a few registry settings and then enables bitlocker or truecrypt, and joins it to the domain etc - as homey said until I know what department/user the computer is going to I wouldn't know any of the above changes
Title: Re: Dism GUI (WIP)
Post by: trashy on May 28, 2014, 09:05:24 AM
Could be his minimal PE built from WAIK, should switch to our version with all its fantastic tools and apps.
I figured he missed filling a required field, I added default image.name to browse for capturedir like you suggested after seeing his last post.

As for the autounattended file, really has nothing to do with dism but might be a handy tool for some like me working with PC.
Export may be the next dism feature to look at.

It's been raining so had some extra free time, rains over time to get back to the brick stack.
May not be around as much for a while.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 28, 2014, 09:08:09 AM
Yes using a minimal PE could explain it

Not something I would personally use in the tool, as I do most of mine during sysprep or in the app I use after deployment - but can see the point

Only thing I think needs doing now is splitting of capture and append to separate tabs as think this will make it look less confusing/cluttered

No problem - thanks for what you have done
Title: Re: Dism GUI (WIP)
Post by: wingers on May 28, 2014, 09:11:26 AM
p.s. and for the script it is not creating desktop/start menu shortcuts for some reason?
Title: Re: Dism GUI (WIP)
Post by: trashy on May 28, 2014, 10:04:29 AM
Just ran a build, shortcuts were created,
Did you have the same problem previously?
I didn't change the plugin script just added the new program update.
Title: Re: Dism GUI (WIP)
Post by: wingers on May 28, 2014, 10:10:26 AM
Just ran a build, shortcuts were created,
Did you have the same problem previously?
I didn't change the plugin script just added the new program update.
okay - just downloaded latest script and will try it again and report back - certainly with last version it didn't seem to do either desktop or start menu shortcut for me in 8.1PE
Title: Re: Dism GUI (WIP)
Post by: trashy on May 28, 2014, 03:09:41 PM
Only thing I have to build frrom is win 7 ultimate, don't have a copy of 8.
Still wouldn't think that's the problem, or that I had to put program folder in system drive.
It doesn't make any sense.

Has anyone else had the problem creating shortcuts building from Dism_Gui plugin with 8 or 8.1
Title: Re: Dism GUI (WIP)
Post by: wingers on May 28, 2014, 03:24:13 PM
Only thing I have to build frrom is win 7 ultimate, don't have a copy of 8.
Still wouldn't think that's the problem, or that I had to put program folder in system drive.
It doesn't make any sense.

Has anyone else had the problem creating shortcuts building from Dism_Gui plugin with 8 or 8.1
tried another build earlier and still not working - all shortcuts from other plugins/scripts create without a problem - so not sure why
Title: Re: Dism GUI (WIP)
Post by: alacran on June 27, 2014, 05:51:28 PM
@ Trashy

Your tool is great, I just downloaded to test it and it works very good.

I have a request: Please could you add /forceunsigned option in Drivers tab

I want to add to my Win8.1SE x64 boot.wim a driver (Hitachi microdrive mod for x64) but I got a message: Driver is unsigned use /forceunsigned to override.

Using Get Waik Tools downloaded 8.1 Dism from Waik_4_1, your tool loads the boot.wim very fine and mounts the wim but when adding an unsigned drive Dism can't do it and ask for /forceunsigned parameter.

Thanks in advance
Title: Re: Dism GUI (WIP)
Post by: kman1523 on December 18, 2014, 04:11:15 PM
Very cool tool.  :cool:
Title: Re: Dism GUI (WIP) Updated:7-7-2015
Post by: wingers on October 01, 2015, 04:53:05 PM
Hi Trashy

Sorry to hear about your cataracts - I hope things are improving for you?

Just in process of building myself a Windows 10 PE and came back to your DISM tool and script to use

Created an image of my C: drive first time without any problems!!!

I then tried mounting the image and after you select Source I get a box pop up titled Image Info with an OK button but it doesn't say anything else in this box - so I click OK, choose mount folder, click mount and it mounted fine!!! just curious as to why box pops up with nothing in it

Great work - will keep watching this topic and test any changes you make  - look after yourself  :smile:
Title: Re: Dism GUI (WIP) Updated:7-7-2015
Post by: wingers on October 01, 2015, 05:04:36 PM
DISM.exe version:-

It seems the script includes DISM.exe in the build but it is a much older version - for example when building windows 10 PE it already includes dism.exe (v10.0.10240.16384) but the DISM script puts v6.2.9200.16384 in the DISM6-2 folder created by your script

Why such an old version?

Why can't it use the version of DISM that is already included when you build 8PE or 10PE?
Title: Re: Dism GUI (WIP) Updated:7-7-2015
Post by: wingers on October 02, 2015, 07:11:16 AM
DISM.exe version:-

It seems the script includes DISM.exe in the build but it is a much older version - for example when building windows 10 PE it already includes dism.exe (v10.0.10240.16384) but the DISM script puts v6.2.9200.16384 in the DISM6-2 folder created by your script

Why such an old version?

Why can't it use the version of DISM that is already included when you build 8PE or 10PE?
ignore above - I have now worked out cause of my problem

The script has the version of DISM hardcoded in it i.e. it is configured to download Windows 8 DISM files rather than the versions relevant to which PE you are building i.e. 8.1 or 10

Amended script so that it now downloads correct windows 10 dism files for use with windows 10 pe

Changed following lines in script:-

%GWTDismSwitch%=-Win8Dism                    is now           %GWTDismSwitch%=-Win10Dism

If,%SourceArch%,Equal,x86,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_4\x86\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
If,%SourceArch%,Equal,x64,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_4\amd64\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%

is now

If,%SourceArch%,Equal,x86,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_6\x86\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
If,%SourceArch%,Equal,x64,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_6\amd64\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%

In future perhaps can improve script so it detects version of PE you are building and downloads correct files for that build - or have checkboxes etc on script to allow you to choose

All working fine - image created and mounted without problems
Title: Re: Dism GUI (WIP) Updated:7-7-2015
Post by: KYHI on October 02, 2015, 08:11:00 AM
Or something to this effect
Code: [Select]
Set,%GWTDismSwitch%=-%OS%Dism

If,%OS%,Equal,Win8,Begin
  If,%SourceArch%,Equal,x86,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_4\x86\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
  If,%SourceArch%,Equal,x64,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_4\amd64\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
End
If,%OS%,Equal,Win8.1,Begin
  If,%SourceArch%,Equal,x86,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_5\x86\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
  If,%SourceArch%,Equal,x64,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_5\amd64\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
End
If,%OS%,Equal,Win10,Begin
  If,%SourceArch%,Equal,x86,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_6\x86\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
  If,%SourceArch%,Equal,x64,FileCopy,%GlobalTemplates%\GetWaikTools\ADK_6\amd64\Dism\*,%ProjectTemp%\TempExtractFolder\%ProgramFolder%\%ProgramFolder%
End
Title: Re: Dism GUI (WIP) Updated:7-7-2015
Post by: wingers on October 02, 2015, 08:12:19 AM
yes that's the sort of thing I had in mind!!! thanks KYHI
Title: Re: Dism GUI (WIP) Updated:7-7-2015
Post by: KYHI on October 02, 2015, 08:17:47 AM
just verify the proper ADK_* location

Once you get it all working upload the revised script
Title: Re: Easy DISM
Post by: trashy on December 11, 2016, 04:41:09 PM
I know haven't been around in a long time.
New name added 3 new tabs
Will work on updating script for PE addon
Title: Re: Easy DISM
Post by: trashy on December 16, 2016, 10:10:31 PM
The thing that has kicked my ass from the beginning is spaces in file path!
A cmd line that has 5 or more input variables and how to place Quotes so everything gets linked together.

couple examples
RunWait(@ComSpec & ' /k "' & @ScriptDir & '\Dism.exe /Mount-Image /ImageFile:"' & GUICtrlRead($T1Input1) & '" /index:"' & GUICtrlRead($T1Input3) & '" /MountDir:"' & GUICtrlRead($T1Input2) & '" /ReadOnly /CheckIntegrity & Pause & Exit"')

RunWait(@ComSpec & ' /k "' & @ScriptDir & '\Dism.exe /Capture-Image /ImageFile:"' & GUICtrlRead($T5Input2) & '" /CaptureDir:' & GUICtrlRead($T5Input1) & ' /Name:"' & GUICtrlRead($T5Input4) & '" /description:"' & GUICtrlRead($T5Input5) & '" /Compress:"' & GUICtrlRead($T5ComboBox1) & '" /scratchdir:"' & GUICtrlRead($T5Input6) & '" /CheckIntegrity /Verify & Pause & Exit"')

It's crazy but I think I'm finally starting to see a pattern in all the kaos

The thing with the driver import tab Dism Export function not working in win7 for me.
I have an old program, if I can find the autoit script, that uses Double Driver to import to an online PE
Title: Re: Easy DISM
Post by: trashy on December 24, 2016, 09:10:36 PM
Success with DISM 10 Exporting Drivers from online Windows 7,
Mounted Windows 7 image folder and remote Windows 7 Hard drive.
If it works with 7 should work with 8 and 10.

Now for the 2nd half Importing to online PE or Windows OS.
I want to actually Install and not just add to driver store with DISM.
I am familiar with Dpinst and it has never let me down.
Tested PnPutil and it failed in both PE and Windows.
Have never tried drvload (for PE only) or devcon.
Unless someone can give me a good reason why am sticking with Dpinst.
Title: Re: Easy DISM
Post by: vigipirate on December 26, 2016, 09:04:11 AM
hello
vdism 2.0 create script verry best software
Title: Re: Easy DISM
Post by: trashy on December 26, 2016, 03:13:27 PM
@vigipirate

About vdism 2.0, I don't like the program layout and don't think it's very user friendly.
The aim of Easy_DISM is easy to use, a user friendly interface and all the info you need at your fingertips.
A few options I haven't covered yet but I think Easy_DISM is more versatile and easier to use.
Easy_DISM also has some features vdism hasn't even begun to imagine!
Title: Re: Easy DISM
Post by: trashy on December 26, 2016, 08:02:10 PM
Easy_DISM is Capable of so much I really need to put together a list of all the options.
I think it would be easier to list the options not yet available.
I have no way of testing WimBoot or any UEFI specific options.
With that in mind can any DISM experts tell me any important options I missed.
I never intended to include all DISM options just the most used most important.
Any tips I should add to make things easier for the amatures.

Make no mistake, when I started this project I knew little about AutoIt and nothing about DISM.
I wanted something easy to use and to make all the necessary Image Info etc available
so even an amature like me would have no problems.

In the begining I tried to hide all the DISM cmd windows and display a Progress Bar.
That turned out to be beyond my capabilities.

So far other than asking a few questions on the AutoIt forum
Easy_DISM hasn't been posted anywhere but here at The Oven.
It has grown into more than I ever expected and I need some advice.
I would like to package everything together (DISM, Imagex, DPinst] to one program.
But how to accomplish this without creating legal conflicts with Microsoft!
I would like to give full authority to use Easy_DISM any way you see fit to those here at
The Oven for use in the WinSE projects.

Think I need to post Easy_DISM for download on the AutoIt forum and ask the experts there
with help debugging the script among other things.
 
1: Is it possible to create a Progress Bar so I can eliminate the rest of the DISM cmd windows?
   Or should I just leave the cmd window?

2: The last function I added, Driver Export\Import, DPinst uses driver folder not Driver.info.
   I did this to make information about the driver available but the work around I used
   to strip the driver.info from the string (for DPinst cmd) is kind of questionable.

Easy_DISM is growing into a monster and I would like to have it checked
before continuing to add more functions!
If I post Easy_DISM to Autoit forum I would like to reference this thread at The Oven
as the only place to insure they get the latest version. Would this be appropriate?
Title: Re: Easy DISM
Post by: Lancelot on December 27, 2016, 12:15:32 AM
I would like to package everything together (DISM, Imagex, DPinst] to one program.
But how to accomplish this without creating legal conflicts with Microsoft!
Do not package them, Download them once  :wink:

Inside projects see
Utils\"GetWaikTools" plugin
, inside plugin there is GetWaikTools.exe by JFX attached   :cool:
also topic
Get WAIK Tools w/o loading the huge ISO's
http://theoven.org/index.php?topic=287.0

 :xmas-beer:

:turtle:
Title: Re: Easy DISM
Post by: trashy on December 27, 2016, 01:32:33 AM
Thanks Lancelot! My last post was a lot of thinking out loud.
Covered all the get waik with the plugin no problem but
always thinking about use outside PE in Windows environment.
Program works great so why change any thing (I think it's awesome).

Really all I have is a couple questions for an AutoIt expert and don't want to start
another thread on another forum when I barely keep up with what I do here.

Merry Christmas & Happy New Year
Title: Re: Easy DISM
Post by: trashy on December 27, 2016, 10:12:38 PM
Progress Bar

Figured this one out on my own.
Using SplashTextOn came up with the next best thing.
Displays the % and progress from the cmd window.

Finished changing over the mount tab, eliminated cmd window.
Driver tab gotta come up with something a little different
Title: Re: Easy DISM
Post by: trashy on January 03, 2017, 02:42:47 AM
NewVersion Easy_DISM v2.4
Got rid of that lame excuse of a progress bar.
Made some room added progress to the bottom
Smooth scrolling no more flashing wonder bar

[attach=1]

In hopes this is the final battle of spaces in file paths converting all Dism cmds to variables.
"There can be only one" No spaces in path to program folder.
Snag on driver export tab had to fix some conflicts.
Added PnPutil as default installer, included in all PE SE versions and windows.
Driver Pack Installer only available in win 7 PE SE but it is still available for windows 8.1
The option to use dpinst is still there dpinst.exe and xml need to be in program dir or system dir.

Converting driver export tab cmd to variable should be ready in a day or 2.
Title: Re: Easy DISM
Post by: ChrisR on January 03, 2017, 06:31:34 AM
Nice, thanks for all your work done on Easy_DISM  :thumbsup:
As you are  working on the driver export tab, an idea if you have some time:
It would be good to have the dism extracted drivers organized in sub-folders. As DoubleDrivers does, using I guess: [version] Class = Net in inf files
Only an idea, be free to take it or not  :wink:

 
Title: Re: Easy DISM
Post by: trashy on January 04, 2017, 01:20:34 AM
Hey Chris great Idea!
The way driver folders get named it's hard to know what's what.
Using the Class ID from inf file should be able to make a few directories and move some folders around.
Title: Re: Easy DISM
Post by: Lancelot on January 05, 2017, 02:06:20 AM
"There can be only one" No spaces in path to program folder.

just an idea to keep in mind.

You may use "shortpath" feature provided by windows.
If you decide: I advice first test if "shortpath" enabled and operational.  :wink:
                         Keep in mind, "shortpath" enabled as default, but rarely disabled by end users...... (so better test)
                                We use this "shortpath test method" on some plugins  :wink:

not required, only idea to keep in mind if you need one day.

:turtle:
Title: Re: Easy DISM
Post by: trashy on January 05, 2017, 06:57:36 PM
@Lancelot
Not familiar with shortpath so I Googled it.
With my limited knowledge afraid to try.

It would be nice to run Easy_Dism from "Program Files".
Fixed all the problems of spaces in file path except for Easy_DISM folder itself.
It is annoying but I can deal with it.


I want to post Easy_DISM to the AutoIt forum for 2 reasons.
1: More Exposure ,want to give the other DISM GUIs some competition (see who is the best).
2: Need some help\advice. See if this last space in file path can be fixed
    I have questions about some of the recent additions made, got to be a better way.
    Currently working on what Chris suggested.
    Read the .inf file strip White spaces from required string create new folder structure
    using class name and provider. Haven't tried moving files to new folder yet.
    Recursive search for .inf, DISM assigns folder names including .inf.
    Example: nv_dispiwu.inf_x86_neutral_a49377ab801ab8a9.
    Will I first have to strip .inf from folder names?

Like I said need some advice!
Title: Re: Easy DISM
Post by: Lancelot on January 07, 2017, 01:25:56 PM
@Lancelot
With my limited knowledge afraid to try.
my post was only an info
    Good choice, better not to use.  :thumbsup:


Title: Re: Easy DISM
Post by: trashy on January 09, 2017, 01:20:27 AM
Much thanks to Subz at AutoIt for showing me the power of using an array!

DISM driver export sorted to class name, provider name, original folder.

Example folder structure : x:\drivers\display\nvidia\blahblahblah\driver files
When naming folders microsoft can come up with some whoppers!

All credit goes to Subz he wrote the script all I had to do was make a few minor changes.
May be a couple days before I get a chance to add it to Easy_DISM but I have tested and works perfect!
Any request for changes before I do?
Title: Re: Easy DISM
Post by: ChrisR on January 09, 2017, 09:09:54 AM
I read your exchange with Subz. Great  :thumbsup:
The code could also be included (or same in PB) in Drivers integration for the export function.
Good integration, with a pre-selected option or by default directly, as you wish, into Easy_DISM  :thumbsup:
 
Title: Re: Easy DISM
Post by: trashy on January 10, 2017, 12:13:02 AM
The celebration may be premature after putting the process through rigorous testing running into some serious problems. My initial test was with an online Windows when I test from PE on an offline Windows partition only copies about half the drivers. Also using [SourceDiskFiles] read from .inf to copy driver files not working well with older drivers.

The process as it is now would work nicely to export drivers from online Windows to import to a PE build but not a solution for my situation.
Title: Re: Easy DISM
Post by: trashy on January 10, 2017, 03:18:22 AM
Subz to the rescue!!! I need to do some more testing but think this time it is perfect.

I can tweak folder depth now it's classname\originalfolder\driverfiles or
would you prefer classname\providername\originalfolder\driverfiles.
Title: Re: Easy DISM
Post by: Steve6375 on February 02, 2017, 03:54:17 AM
Hi
Just found this.
I wanted to see if it could split a large .esd into small .swm wim files.
The Split form does not seem to recognise .esd files.
So I tried the Export tab.
I am using the x64 version of Easy_DISM on Win10 x64 (latest version) and pointed it at a Install.esd file extracted from a  Win10_Anniversary_Home_Pro_32_64.iso (I used the \x86\sources\install.esd file).
Easy_BCD reported Error: 87  The parameter is incorrect.

Quote

2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Host machine information: OS Version=10.0.14393, Running architecture=amd64, Number of processors=4
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Dism.exe version: 10.0.14393.0
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Executing command line: C:\WINDOWS\system32\Dism.exe  /Get-ImageInfo /ImageFile:"C:\temp\install.esd" /index:"1

...
2017-02-02 09:45:59, Info                  DISM   DISM Provider Store: PID=10468 TID=10476 Loading Provider from location C:\WINDOWS\System32\Dism\SiloedPackageProvider.dll - CDISMProviderStore::Internal_GetProvider
2017-02-02 09:45:59, Warning               DISM   DISM Provider Store: PID=10468 TID=10476 Failed to Load the provider: C:\WINDOWS\System32\Dism\SiloedPackageProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Got the collection of providers. Now enumerating them to build the command table.
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: DISM Log Provider
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: FolderManager
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: WimManager
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Succesfully registered commands for the provider: WimManager.
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: VHDManager
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: GenericImagingManager
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Succesfully registered commands for the provider: GenericImagingManager.
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: Compatibility Manager
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Succesfully registered commands for the provider: Compatibility Manager.
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: FfuManager
2017-02-02 09:45:59, Info                  DISM   DISM Provider Store: PID=10468 TID=10476 Getting Provider GenericImagingManager - CDISMProviderStore::GetProvider
2017-02-02 09:45:59, Info                  DISM   DISM Provider Store: PID=10468 TID=10476 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2017-02-02 09:45:59, Error                 DISM   DISM Imaging Provider: PID=10468 TID=10476 Invalid file extension for the image file: "esd" - CGenericImagingManager::GetImageInfoCollection(hr:0x80070057)
2017-02-02 09:45:59, Error                 DISM   DISM Imaging Provider: PID=10468 TID=10476 onecore\base\ntsetup\opktools\dism\providers\imagingprovider\dll\genericimagingmanager.cpp:928 - CGenericImagingManager::InternalOpGetImageByIndex(hr:0x80070057)
2017-02-02 09:45:59, Error                 DISM   DISM Imaging Provider: PID=10468 TID=10476 onecore\base\ntsetup\opktools\dism\providers\imagingprovider\dll\genericimagingmanager.cpp:1276 - CGenericImagingManager::InternalDisplayAdvancedInfo(hr:0x80070057)
2017-02-02 09:45:59, Error                 DISM   DISM Imaging Provider: PID=10468 TID=10476 onecore\base\ntsetup\opktools\dism\providers\imagingprovider\dll\genericimagingmanager.cpp:1249 - CGenericImagingManager::InternalCmdGetInfo(hr:0x80070057)
2017-02-02 09:45:59, Error                 DISM   DISM Imaging Provider: PID=10468 TID=10476 onecore\base\ntsetup\opktools\dism\providers\imagingprovider\dll\genericimagingmanager.cpp:535 - CGenericImagingManager::ExecuteCmdLine(hr:0x80070057)
2017-02-02 09:45:59, Info                  DISM   DISM.EXE: Image session has been closed. Reboot required=no.
Title: Re: Easy DISM
Post by: Steve6375 on February 02, 2017, 03:59:47 AM
Dism.exe  /Get-WimInfo /wimFile:"C:\temp\install.esd" /index:"1"
Dism.exe  /Get-WimInfo /wimFile:"C:\temp\install.esd"

These both work...
Title: Re: Easy DISM
Post by: Steve6375 on February 02, 2017, 04:44:42 AM
I find the Export form rather confusing

You have fields for:
Source Image
Image Index
Destination image
Make New Image
Destination Name    (use source name)
etc.

There are very few tool tips to help me know what these mean?

Now a .wim or .esd file is like a zip file, it can contain one or more images, so to call the Source an 'image' is very confusing.  Why not call it Source WIM\ESD? Similary 'Make New Image' - do you mean make new WIM?


If I merely want to convert  install.esd to install.wim - what fields do I use?
Why can't I select  Index=All ???
By Destination Image - do you mean Destination WIM file?
What is Make New Image - surely the Destination WIM file will be the new image?
What is Destination Name? Name of what? Filename? Name of the image # selected by the Image Index control?  If I specify the file path + filename in the Destination Image box, why do I also need a name?
Sorry, I find it very confusing...

When is the Image Index selection used? If one of these items causes all images inside the WIM file to be exported (which is what I want), why doesn't the Image Index control get greyed out?

It would also be helpful if you make it obvious when a DISM operation starts (I thought nothing was happening for about 2 minutes!). Maybe grey-out most of control or colour the Status box and print the actual DISM command executed in the Status box so I know something is happening??

Personally, I would like to see what command is about to be executed first, before I say 'Go' and start the DISM command, that way I can see if I am going to waste 30 minutes of my life or not!

P.S. I currently use http://theitbros.com/convert-windows-esd-file-to-windows-wim-file/ (http://theitbros.com/convert-windows-esd-file-to-windows-wim-file/) to convert multi-image esd to a multi-image .wim file.

[Edit] Sorry - wrong link! Should be:
http://markthetech.com/how-to-convert-install-esd-to-install-wim/ (http://markthetech.com/how-to-convert-install-esd-to-install-wim/)










Title: Re: Easy DISM
Post by: trashy on February 02, 2017, 06:49:33 PM
@Steve6375
DISM you can only Export 1 Image Index at a time it is not possible to export all.
You can export to an existing Image (add new volume index to existing wim) or make a new Image.
Make a new Image is how DISM converts esd to wim. Select source image (wim or esd)
select destination image or make new select volume index you want to export from source
and destination name is required or default is to use source volume index name. It seems to me
your confusion may be lack of understanding how DISM works.

Just tested export win 8.1 install.esd to install.wim. The 2 Edit fields should be showing all the image
information you are missing but I am showing Error 87 I will have to check into that. However the new
Wim file was created successfully. I don't understand why the Get-WimInfo reports an error with an esd
but works fine with a wim

Look here for Dism cmd line options for export (this is for 8.1 but 10 is still the same)
https://technet.microsoft.com/en-us/library/hh825258.aspx (https://technet.microsoft.com/en-us/library/hh825258.aspx)

Edit: Thanks to your questions I did a little research and discovered the ability to manage and export esd
files was not introduced untill Dism 10. only cmd line I need to change is /Get-ImageInfo /ImageFile: only
works for wim files. /Get-WimInfo /WimFile: added in dism 10 works for esd and wim files. I can fix this.
Title: Re: Easy DISM
Post by: Steve6375 on February 05, 2017, 10:27:21 AM
Hi
Thanks for the reply.
The script that I gave you a link to, uses DISM to make a .wim file from a .esd file which contains ALL the images by using DISM commands.
So it is obviously possible to use DISM for this! it just takes a bit of programming to add the other images...

A wim or esd file is NOT an image, it is a container for 1 or more images (like a zip file is a container for one or more files).

DISM make these container files. It can add or extract images from within them but it does not make images, it adds images into the container file.

To talk about an esd file or a wim file as 'an image' is inaccurate and confusing.
Title: Re: Easy DISM
Post by: trashy on February 07, 2017, 12:15:34 AM
Dude I never claimed to be anything but an amateur and look at what I accomplished!
I found your comments before to be a little UNGRATEFULL. I guess I wasted 2 years of my life creating
Easy_DISM for someone like you.

Windows Imaging File Format (WIM)
Deployment Image Servicing and Management (DISM)
I will keep calling them image files and if you don't like it KISS my you know what

this command line is taken directly from your posted website do you notice " /SourceIndex:1 "
that's one inex at a time you are exporting
dism /export-image /SourceImageFile:install.esd /SourceIndex:1 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity

I thought my streak was over and if your comments are the most gratitude
I can expect for my hard work I know it is!
Title: Re: Easy DISM
Post by: dazza on February 07, 2017, 07:49:30 AM
trashy

I for one really appreciate the work you do on Easy_DISM - and it is constantly in use at the moment whilst we roll out Windows 10 images to our company

So don't give up - and thanks again
Title: Re: Easy DISM
Post by: trashy on February 08, 2017, 01:14:54 AM
Sorry I got a little pissed but I just found this insulting

Personally, I would like to see what command is about to be executed first, before I say 'Go' and start the DISM command, that way I can see if I am going to waste 30 minutes of my life or not!

The script that I gave you a link to, uses DISM to make a .wim file from a .esd file which contains ALL the images by using DISM commands.
So it is obviously possible to use DISM for this! it just takes a bit of programming to add the other images...

He is referencing a Web Page that gives a few "Command Line" Examples and calls it a SCRIPT
Then he tells me I'm wrong and a wim isn't an Image File. DUHH!!!

This streak lasted a couple months but it's over I knew it a week ago!
My first PC was a box of parts and Windows 95 on 12 floppy's I have taught myself everything I know.
I know I'm weird but it always comes in spurts like this.
I have 1 more update fix the esd conversion problem and add edition servicing   
Title: Re: Easy DISM
Post by: Steve6375 on February 12, 2017, 03:15:28 AM
@trashy I am sorry if I have upset you with my comments. It was not my intention. I guess I was a little frustrated at having to try to figure out how to use your app and guess what it actually did. I only tried it because I needed something to convert a ESD into a WIM file which it claimed to do, but I eventually found out that it only exported a single-image ESD to a WIM.

The script file link I gave you, I now realise having just checked it, was the wrong link! Try
http://markthetech.com/how-to-convert-install-esd-to-install-wim/ (http://markthetech.com/how-to-convert-install-esd-to-install-wim/). You will see the script will convert a multi-image ESD into a multi-image WIM file.
Apologies again for the confusion.

I was only trying to help you to improve your utility by taking the time to comment on it and give you my impressions. In case you didn't realise, I am a professional computer developer with over 30 years experience and the creator/author of Easy2Boot and RMPrepUSB, so I am not some whining 'newbie' (and sorry if I came across like that!).

If you look here
https://en.wikipedia.org/wiki/Windows_Imaging_Format
It says
Quote
WIM files can contain multiple disk images, which are referenced either by their numerical index or by their unique name.

Again, sorry if I caused offence.
Title: Re: Easy DISM
Post by: trashy on February 15, 2017, 02:50:14 PM
@Steve6375 I appologize for showing my ass You're right I took you for a noob.
RMPrep and all those tutorials have been an inspiration and a great source of information to me.
I should be more patient and respectfull of others.

Almost 60 worked residential construction mostly I do all this for fun and to exersize my brain a little.
Last 2 months have been a frenzy of late nights and no sleep. Easy_DISM I've doubled the number of tabs and functions.
The streak is over I knew it a couple weeks ago, frustrated and worn out. I gotta slow down step back from it a bit.

The ability to export esd to wim was not introduced till DISM 10. I downloaded ESD2WIM Mark The Tech is using
DISM 6.3 (Win8.1) and he found a work around. Looking at his batch script I see he created a temp to accomplish this
and loops through each index to  export all. I can see what he has done but I don't fully understand and I won't copy
someone elses work without permission. I need to come up with a quick fix for export esd to wim, for now it will have
to be restricted to DISM 10 and one index at a time. I can add option to export all later.

Adding tool tips and better directions was something I started working on but the new tabs and functions were
just pouring out. The updates may not come as quickly but it's time to change my focus to this kind of improvements.
Title: Re: Easy DISM
Post by: trashy on February 21, 2017, 12:38:23 PM
Easy_DISM v2.5.3
With this update Easy_DISM is now over 3000 lines of code, something I never expected.
Also may be getting into more DISM 10 specific commands. Fixed some bugs with Export ESD to WIM
only works with DISM 10. Came up with an option to export all or rather export Multiple Images from
an ESD or WIM file. Select Make New Image then Select Multi Image Export and check the Image Indexes
you want to export. Added better instructions and tool tips to Export Tab

Created a basic installer, really basic but had to start somewhere.
The installer creates folder structure "Program Files\Easy_DISM\Easy_DISM.exe" and
"ProgramData\EZDISM\EZ_config.ini" ProgramData\EZDISM will also be the new home for DISM 10 files.
Run the installer Easy_DISM will open to Config Tab, under Advanced Settings click the blue link and download
GetWaikTools. Browse for GetWaikTools.zip click install. Dism 10 will be installed to ProgramData\EZDISM\DISM.

I am running Windows 7 32 bit on an old xp machine with 4 gb ram limit and have tested briefly in Windows 8.1.
With the introduction of more DISM 10 specific commands you will need the option to use DISM 10 in Win 8.1.
On the Config Tab Install DISM 10 and change Default to @ProgramData ( DISM 10 Required for Win 7 )
Included directions for all this on Config page and hope this simplifies download and install of DISM 10
Title: Re: Easy DISM
Post by: trashy on February 22, 2017, 02:22:00 PM
I have permission from JFX to add GetWaikTools to Easy_DISM, Thank You Very Much.
I can now fully automate the install of DISM 10. Working on a new installer with options for creating shortcuts.
Creating an uninstaller may prove more difficult. I would prefer to stick with AutoIt for this
Title: Re: Easy DISM
Post by: trashy on February 24, 2017, 08:40:41 PM
This was a message sent to me by vigipirate can someone help translate, I really don't understand
The language of the info returned by DISM should be controlled by language packs installed on his OS or PE

Hello
I tell you to create a new tab that when mounting a winPE in boot.wim the default winPE is in US I want to have it in FR French my language there are pack in waik win10 or other WinPE_OCs_
Thank you for your work it is useful because by mounting the images wim if I my my WinPE en fr my keyboard and other will be put in fr french I hope to be more explicit on my request
Title: Re: Easy DISM
Post by: Lancelot on February 25, 2017, 03:56:13 PM
I highly guess:

vigipirate got a warez cd of a ready enu .iso of PE, probably Win7PESE or Win10PESE ..

And wants to convert it to french with Easy DISM by adding fr mui etc. files, but probably failed.



@vigipirate

use Win10PESE project with a valid French source to create your own French PE.

Reminding, ChrisR; Chief of Win10PESE project is already French.  :wink:
Win10PESE
http://theoven.org/index.php?topic=1336.0
Title: Re: Easy DISM
Post by: trashy on March 07, 2017, 10:33:03 AM
Next update is all about program improvement!  The more time consuming processes like mount, capture, etc. I am disabling button after first click to avoid double clicks. Adding Tool Tips and better directions to each tab. I want to make Easy_DISM as easy to use and understand as possible.

I get to Driver Export Import Tab and I have to ask a question, it may seem trivial but it's important to me.
I have always preferred DPINST for installing driver packs. It has lots of options and easy to configure using
an xml file. I know it's not recommended for use in Windows 10 in certain circumstances.

Is there a way I could possibly distribute DPINST with Easy_DISM and avoid a conflict with Microsoft?
Any advice would be appreciated, Thanks
Title: Re: Easy DISM
Post by: trashy on March 09, 2017, 10:58:37 AM
If I understand correctly DPINST was meant to be redistributed allowing developers to create and distribute driver pack installers for their devices. I don't see why my situation should be any different. There are some restrictions using TargetOSVersion in Win 8.1 and later, I don't think this will have any affect on my intended use. Quote DIFx Guideline "Use DIFx version 2.1, which is available in the Windows 7 WDK through the Windows 10 Version 1511 WDK. "

 I downloaded WDK version 7.1.0 and will include DPINST v 2.1 with the next Easy_DISM update.
Title: Re: Easy DISM
Post by: trashy on March 10, 2017, 08:55:13 PM
I was only intending to add DPINST as a backup installer. What I ended up doing takes The PnPUtil install to a whole new level! In Windows or PE to install drivers Browse to your main save folder it will find driver inf files from all Sub Folders Next a ListView will popup just check the drivers you want to install and click Install Drivers!
[attach=1]
Would not be a stretch from here to add a similar function to Driver Integration plugin.
Dism Export Host Drivers: Vista and 7 no problem as long as I have access to GetWaik and Dism 10.
Windows 81 and 10 use Dism files @SystemDir, sort drivers and check what you want to keep.

Got a couple more tweaks to make look for the update Easy_DISM v 2.5.6 in a day or so.
After that will work on updating Easy_DISM plugin.
Title: Re: Easy DISM
Post by: trashy on August 09, 2017, 11:34:01 PM
Keeping elderly parents (90's) at home and out of a Nursing Center is a hand full and very expensive.
I don't have much free time for this kind of stuff over the summer. A year ago my hard drive crashed
more recently lost my external hard drive and days later my PC refused to boot. I have lost everything
except my most recent work. Guess that's what I get for running old wore out junk. Just loaded 7 on
another old piece of Gateway dual core.

Round about this is how I discovered my last upload may have contained a virus.
I am truly sorry!

The only way I can make it up to everyone is to keep trying to make Easy_DISM better.
I have a couple other projects that need my attention and little free time. I work construction
and summer there's too much to do.

My hair's turning white my neck's always been red and my collar's still blue.
Title: Re: Easy DISM
Post by: Lancelot on August 14, 2017, 06:08:07 AM
 :thumbsup:

Life is tough, free time is low...
... and life goes slowly... :turtle: 

Title: Re: Easy DISM
Post by: vigipirate on February 08, 2018, 01:26:01 PM
Hello sir
thanks for your work but i have a problem with easydism v2.5.6 clean because it can not find the dism.exe of my portable version even if i but scriptdir.exe programdata.exe could you give me your email address to send you video because it does not find dism only in winPE system32 \ dism.exe thanks for your help