Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 



MrJinje

Mr Jinje DISM Tool™

Recommended Posts

MrJinje    11

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.

dismtool10.png

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 file

3) Copy/Paste you key into text field and push Install Key button

4) Commit WIM changes

5) Dis-Mount WIM

How to Add Drivers to your Image.

1) Put all you drivers into any folder.

2) Click Mount WIM and then Add Drivers

Afterwards, 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 only

Supported WIM Type - Windows 7 Format only

Unsupported 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 MDL

To enable Powershell, open Powershell Command prompt and type

Set-ExecutionPolicy RemoteSigned

Here 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 Here

ulz.png

DISMTOOL.7z

Edited by MrJinje

Share this post


Link to post
Share on other sites

gosh    1

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.

Share this post


Link to post
Share on other sites
MrJinje    11

@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 by Tripredacus
moved topic per op request

Share this post


Link to post
Share on other sites
MitsuMan    0

Hello

i have make like this

Work 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.

PS C:\> DISM.exe /Mount-Wim /wimfile:F:\work\win7\urc

untDir:F:\work\empty

Værktøjet Deployment Image Servicing and Management

Version: 6.1.7600.16385

Fejl! 3

The system cannot find the path specified.

DISM-logfilen findes på C:\Windows\Logs\DISM\dism.log

PS C:\>

Share this post


Link to post
Share on other sites
MrJinje    11
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

Should just need this file.

C:\Windows\System32\DISM.exe

and the entire DISM folder

C:\Windows\System32\DISM

Probably be easiest to put both in XP System32 folder so the script can find them. This is untested, report back.

Share this post


Link to post
Share on other sites
MrJinje    11
Hello

i have make like this

Work 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 here

For 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 by MrJinje

Share this post


Link to post
Share on other sites
MrJinje    11
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

See here:

http://www.boot-land.net/forums/index.php?showtopic=9113

I guess that some Registry keys need to be added.

jaclaz

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.

Share this post


Link to post
Share on other sites
jaclaz    939
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\Dism
If,Not,EXISTDIR,%WindowsDir%\System32\Dism\%WimLanguage%,DirMake,%WindowsDir%\System32\Dism\%WimLanguage%
FileCopy,%SourceDir%\sources\Dism.exe,%WindowsDir%\System32
FileCopy,%SourceDir%\sources\wdscore.dll,%WindowsDir%\System32
ShellExecute,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,1
RegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,Service,wimmount
RegWrite,HKLM,0x4,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,Legacy,1
RegWrite,HKLM,0x4,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,ConfigFlags,0
RegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000,Class,LegacyDriver
RegWrite,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,wimmount
RegWrite,HKLM,0x4,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000\Control,*NewlyCreated*,0
RegWrite,HKLM,0x1,System\CurrentControlSet\Enum\Root\LEGACY_WIMMOUNT\0000\Control,ActiveService,wimmount
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,Type,2
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,Start,3
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,ErrorControl,1
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,Tag,5
RegWrite,HKLM,0x2,System\CurrentControlSet\Services\wimmount,ImagePath,system32\DRIVERS\wimmount.sys
RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount,DisplayName,wimmount
RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount,Group,FSFilter#$sActivity#$sMonitor
RegWrite,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#$sDriver
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount,DebugFlags,0
RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount\Instances,DefaultInstance,Wimmount#$sInstance
RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount\Instances\Wimmount Instance,Altitude,180700
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount\Instances\Wimmount Instance,Flags,0
RegWrite,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,0
0,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,0
0,00,00,05,12,00,00,00
RegWrite,HKLM,0x1,System\CurrentControlSet\Services\wimmount\Enum,0,Root\LEGACY_WIMMOUNT\0000
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount\Enum,Count,1
RegWrite,HKLM,0x4,System\CurrentControlSet\Services\wimmount\Enum,NextInstance,1
Set,%DismProg%,%WindowsDir%\System32\Dism.exe,PERMANENT

jaclaz

Share this post


Link to post
Share on other sites
Sydnelson    0

Doens't work for me, I try open program here and before several seconds of black screen the following mensage appears:

DISMTOOL.EXE - Application Error

Application 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?

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×