MrJinje Posted October 14, 2009 Posted October 14, 2009 (edited) Mr Jinje DISM Tool™This is tool I whip up for mounting Install.wim to offline service Windows 7 OEM installation media. It is Free for Non-Commercial Use.Few Notes:How to create OEM DVD Recovery Disk for readers with SLIC in BIOS.1) Click Mount Wim (choose WIM file and empty folder to mount and be sure to set image index # in combo box)2) Press Integrate Cert, and choose you cert file3) Copy/Paste you key into text field and push Install Key button4) Commit WIM changes5) Dis-Mount WIMHow to Add Drivers to your Image.1) Put all you drivers into any folder. 2) Click Mount WIM and then Add DriversAfterwards, run the More Info button and check Drivers.txt for to see if and how it worked.Be sure to Commit WIM before hitting the dis-mount button, otherwise you will lose all your changes.Supported OS - Windows 7 onlySupported WIM Type - Windows 7 Format onlyUnsupported WIM Type - Vista or W2K8 Format (some functions may be working but YMMV)Just thought I would share this here. Maybe some of you will find it useful.Another note - I decided to use the Commit WIM button without UnMounting the Image - Always hated having to unmount to save using other GUI's. But this means, that you first need to Commit WIM, before you can Dis-Mount the WIM, as the Dis-Mount WIM is set to Discard changes (in case you don't like the changes you made) It is programmed in Powershell, obviously you will need to enable Powershell before it can run. Greater detail on all this can be found in the original thread at MDLTo enable Powershell, open Powershell Command prompt and typeSet-ExecutionPolicy RemoteSignedHere is a ULZ file that is up to date so one can download all W7 x86/x64, Office 2007, and W2K8 R2 Updates for use with the Add-Packages feature. Find More Details HereDISMTOOL.7z Edited January 11, 2010 by MrJinje
gosh Posted October 16, 2009 Posted October 16, 2009 Thats a nice tool. It would be nice if it had a debug mode so you could see the commands it runs for learning purposes. Ive also heard a new feature of windows 7 is you can remove a driver from the store - before you could only add, not update any drivers. DISM looks like a cool tool in windows 7.
Noise Posted October 16, 2009 Posted October 16, 2009 This is fantastic. I'd love to see the source for this...
MAVERICKS CHOICE Posted October 16, 2009 Posted October 16, 2009 Is a great tool, thankyou will come in very handy.NB: Also good to see Gosh frequent here.
MrJinje Posted October 18, 2009 Author Posted October 18, 2009 (edited) @others, thanks, hope everyone likes.@spoof - answered your question in the first post - See "Another Note" section.@gosh - It is a sendkeys hack, so save for a few commands, all the buttons should open up a new command window before running any DISM commands. Should be able to see if any errors occur there. I'll have to look into how a Remove Driver function might work (if possible)@noise - Maybe in the future, but not for now, apart from the DISM sendkeys commands it has a few re-useable functions for dialogs, msg boxes, and about 1000 lines of auto-generated windows forms code. I built a ULZ for myself (and others) that is up to date (as of 10/13/2009) so one can download all W7 x86/x64 and W2K8 R2 Updates for use with the Add-Packages feature. Here is the link Edited October 21, 2009 by Tripredacus moved topic per op request
MitsuMan Posted October 27, 2009 Posted October 27, 2009 Helloi have make like thisWork folder where everything is in. under that folder i have one called Win7 and Mount and updates in the root of work folder i have put Disntool.Then i set the folder option in dismtool and then hit Mount and now it ask for a file i think it need the Install.win and then it ask for a folder i show it to to the Mount folder.then i get this error. Quote PS C:\> DISM.exe /Mount-Wim /wimfile:F:\work\win7\urcuntDir:F:\work\emptyVærktøjet Deployment Image Servicing and ManagementVersion: 6.1.7600.16385Fejl! 3The system cannot find the path specified.DISM-logfilen findes på C:\Windows\Logs\DISM\dism.logPS C:\>
tacneplong Posted October 27, 2009 Posted October 27, 2009 how can I supplies DISM files from Windows 7 installation Where and what I need to place files from W7 installation to it works on XP
MrJinje Posted October 27, 2009 Author Posted October 27, 2009 tacneplong said: how can I supplies DISM files from Windows 7 installation Where and what I need to place files from W7 installation to it works on XPShould just need this file. C:\Windows\System32\DISM.exeand the entire DISM folder C:\Windows\System32\DISMProbably be easiest to put both in XP System32 folder so the script can find them. This is untested, report back.
MrJinje Posted October 27, 2009 Author Posted October 27, 2009 (edited) MitsuMan said: Helloi have make like thisWork folder where everything is in. under that folder i have one called Win7 and Mount and updates in the root of work folder i have put Disntool.Then i set the folder option in dismtool and then hit Mount and now it ask for a file i think it need the Install.win and then it ask for a folder i show it to to the Mount folder.then i get this error.We have been having issues with Non-English language packs, apparently something is affecting the sendkeys syntax in utero and the until the next release the current fix is to move the WIM to the root of the drive. Like F:\Install.wim More details here. and hereFor some unknown reason it is chopping off the "SO" in source from peoples install.wim paths. But only on builds using a non-english language pack ? Any ideas ?Here is the source for the Quick Mount button. Basically I read the Variables from the Text Fields, then Prompt the user OK/Cancel, and if they hit OK, if spawns a new command window and runs the DISM command via sendkeys$WIM = $SOURCE_WIM.text$MNT = $MOUNT_DIR.text$INDEX = $IMAGE_INDEX.Text$PROMPT = [Microsoft.VisualBasic.Interaction]::MsgBox("Quick Mount the WIM", 'OKCancel,Question', "Last Chance to Cancel");switch ($PROMPT) {'OK' {Invoke-Item C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Start-Sleep 1[System.Windows.Forms.SendKeys]::Send("c:{ENTER}CD \{ENTER}CLS{ENTER}DISM.exe /Mount-Wim /wimfile:$WIM /index:$INDEX /MountDir:$MNT{ENTER}") }'Cancel'{ }}Somehow the $WIM variable is being passed to the Sendkeys command, minus the SO in source. Can anyone re-create this error for me ? I have not been able to from English Ultimate. Edited October 27, 2009 by MrJinje
jaclaz Posted October 27, 2009 Posted October 27, 2009 tacneplong said: how can I supplies DISM files from Windows 7 installation Where and what I need to place files from W7 installation to it works on XPSee here:http://www.boot-land.net/forums/index.php?showtopic=9113I guess that some Registry keys need to be added.jaclaz
MrJinje Posted October 27, 2009 Author Posted October 27, 2009 jaclaz said: tacneplong said: how can I supplies DISM files from Windows 7 installation Where and what I need to place files from W7 installation to it works on XPSee here:http://www.boot-land.net/forums/index.php?showtopic=9113I guess that some Registry keys need to be added.jaclazMeh, looks like it requires Winbuilder, wouldn't want have to support that. Would be useful if converted back into a reg file / batch script. Probably could work for tacneplong if he wants to guinea pig for us.
jaclaz Posted October 27, 2009 Posted October 27, 2009 MrJinje said: Meh, looks like it requires Winbuilder, wouldn't want have to support that. Would be useful if converted back into a reg file / batch script. Probably could work for tacneplong if he wants to guinea pig for us.Yep , the idea was to get the Winbuilder .script and see what Registry changes it makes.Winbuilder is after all a batch processor and the Syntax is very similar to "normal" batch.Here is (at first sight ) the relevant part:If,Not,EXISTDIR,%WindowsDir%\System32\Dism,DirMake,%WindowsDir%\System32\DismIf,Not,EXISTDIR,%WindowsDir%\System32\Dism\%WimLanguage%,DirMake,%WindowsDir%\System32\Dism\%WimLanguage%FileCopy,%SourceDir%\sources\Dism.exe,%WindowsDir%\System32FileCopy,%SourceDir%\sources\wdscore.dll,%WindowsDir%\System32ShellExecute,Hide,%Tools%\7z,"e -y #$q-o%WindowsDir%\System32#$q -r #$q%SourceDir%\sources\boot.wim#$q #$q%WimIndexBoot%\Windows\System32\wimgapi.dll#$q"ShellExecute,Hide,%Tools%\7z,"e -y #$q-o%WindowsDir%\System32#$q -r #$q%SourceDir%\sources\boot.wim#$q #$q%WimIndexBoot%\Windows\System32\wimserv.exe#$q"ShellExecute,Hide,%Tools%\7z,"e -y #$q-o%WindowsDir%\System32\Drivers#$q -r #$q%SourceDir%\sources\boot.wim#$q #$q%WimIndexBoot%\Windows\System32\drivers\wimmount.sys#$q"ShellExecute,Hide,%Tools%\7z,"e -y #$q-o%WindowsDir%\System32\Dism#$q -r #$q%SourceDir%\sources\boot.wim#$q #$q%WimIndexBoot%\Windows\System32\Dism\*.*#$q"ShellExecute,Hide,%Tools%\7z,"e -y #$q-o%WindowsDir%\System32\Dism\%WimLanguage%#$q -r #$q%SourceDir%\sources\boot.wim#$q #$q%WimIndexBoot%\Windows\System32\Dism\%WimLanguage%\*.*#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\CbsProvider.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\CompatProvider.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\DismCore.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\DismCorePS.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\DismProv.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\IntlProvider.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\MsiProvider.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\SmiProvider.dll#$q"ShellExecute,Hide,regsvr32,"/s #$q%WindowsDir%\System32\Dism\UnattendProvider.dll#$q"RegWrite,HKLM,0x4,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT,NextInstance,1RegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,Service,wimmountRegWrite,HKLM,0x4,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,Legacy,1RegWrite,HKLM,0x4,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,ConfigFlags,0RegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,Class,LegacyDriverRegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,ClassGUID,{8ECC055D-047F-11D1-A537-0000F8753ED1}RegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,DeviceDesc,wimmountRegWrite,HKLM,0x4,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000\Control,*NewlyCreated*,0RegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000\Control,ActiveService,wimmountRegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,Type,2RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,Start,3RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,ErrorControl,1RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,Tag,5RegWrite,HKLM,0x2,System\CurrentControlSet\Services\wimmount,ImagePath,system32\DRIVERS\wimmount.sysRegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount,DisplayName,wimmountRegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount,Group,FSFilter#$sActivity#$sMonitorRegWrite,HKLM,0x7,System\CurrentControlSet\Services\wimmount,DependOnService,FltMgr,RegWrite,HKLM,0x7,System\CurrentControlSet\Services\wimmount,DependOnGroup,RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount,Description,Wim#$sMounting#$sDriverRegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,DebugFlags,0RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount\Instances,DefaultInstance,Wimmount#$sInstanceRegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount\Instances\Wimmount Instance,Altitude,180700RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount\Instances\Wimmount Instance,Flags,0RegWrite,HKLM,0x3,System\CurrentControlSet\Services\wimmount\Security,Security,01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount\Enum,0,Root\LEGACY_WIMMOUNT\0000RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount\Enum,Count,1RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount\Enum,NextInstance,1Set,%DismProg%,%WindowsDir%\System32\Dism.exe,PERMANENTjaclaz
Sydnelson Posted October 28, 2009 Posted October 28, 2009 Doens't work for me, I try open program here and before several seconds of black screen the following mensage appears:DISMTOOL.EXE - Application ErrorApplication has generated a exception that could not be handled.Process ID=0x1238 (4664), Thread ID=0x111c (4380).Click OK to terminate.Click CANCEL to debug.If I try debug, debug say that JIT debugger was not specified.I using a Windows 7 x64 with lastest updates and have fully working version of WAIK installed.Anyone can help me?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now