thebearpoo
Content Type
Profiles
Forums
Events
Posts posted by thebearpoo
-
-
Anybody get the /compress flag to work with this app? If I add the bold text command, it does not compress to the maximum compression rate. It just does a fast compression.
ObjShell.Run "%comspec% /c imagex /compress max /capture "& strDrv &" " & SavePath & strWimFile & " " &chr(34) & strWimDesc &chr(34), 1, True
If I manually run the command "imagex /compress max /capture C: C:\test.wim "test image"", the maximum compression rate it applied.
0 -
Is this possible with WinPE 2.0 and the new pkgmgr? I have successfully done this with an offline Vista .wim, but have not had time to try it with XP.
0 -
I haven't much luck using the setres in the hta either. I just execute it in my startnet.cmd before the hta loads and it works fine.
0 -
geezer - I get the same result in ver 2.1, after diskpart completes nothing happens. If I substitute this code(which is posted on page 2) the apply button works perfectly.
'****************************************************************************
'* showRadioInfo
'* display details of radio button selection in details divider
'****************************************************************************
Sub showRadioInfo
Dim objTextFile, Radio, strRadioValue, strDetails, objSel1, strFile
Set objSel1 = window.document.getElementById("select1")
strFile = myFilePath + objSel1.options(objSel1.selectedindex).text
details.style.visibility = "visible"
start.style.visibility = "visible"
For Each Radio in Document.getElementsByName("radioList")
If Radio.Checked = True Then
strTaskValue = "imagex /apply " + strFile + " " + Radio.Id + " c:"
End If
Next
Details.innerHTML = "<BR><table id='detailsTable'><tr><td>" & strDetails & "</td></tr></table><BR>"
End Subccb458 - How did you call your Reboot option using a cmd.bat file to restart your computer after imagex runs?
0 -
Problem solved!!!!!!!!!
Make sure to have your WINPE 2.0 base installation correct first, especially copying imagex.exe into the \mount\windows folder structure.
0 -
Thanks for the source code. I need some help though, I am getting an error message after my diskpart runs and exits.
Error is -
Line: 140
Char: 4
Error: The system cannot find the specified file.
Code: 0
URL: file:////X:/windows/system32/tools/hta/ImageXHTA.hta
diskpart.txt, install.wim, and images.txt are all located in a network drive that is mapped using the net use command before the ImageXHTA.hta apps is launched in WINPE 2.0. ImageXHTA.hta, htasyle.css, pe.jpg, and Update Image list.cmd are located in the windows\system32\tools\hta folder of the boot.wim file.
Here is my code:
<html>
<!--
'********************************************************************
'*
'* File: ImageXHTA.hta
'* Author: geezery
'* Big thanks to : greg & fisher
'* Created: May 2007
'* Version: .1
'*
'* Description: windows imaging platform
'*
'* Dependencies: tested on and for WinPE 2.0 with WMI, Scripting,
'* XML, HTA packages, Imagex components
'* Notes: Line 28 - might want to make this "normal" when you are
'* testing and don't want the hta fullscreen
'* Line 206 - Put your background image there if you want
'********************************************************************
-->
<!****************************************************************************>
<!* HTA Header >
<!****************************************************************************>
<HEAD>
<TITLE>Imaging Application</TITLE>
<HTA:APPLICATION
BORDER = yes
APPLICATION = Yes
WINDOWSTATE = maximize
INNERBORDER = No
SHOWINTASKBAR = Yes
SCROLL = No
APPLICATIONNAME = "Windows PE Wizard"
NAVIGABLE = Yes
>
<!-- external stylesheet -->
<link rel="stylesheet" type="text/css" href="htastyle.css" />
</HEAD>
<!****************************************************************************>
<!* Begin Script >
<!****************************************************************************>
<script Language=VBScript>
'****************************************************************************
'* Globals
'* setup global script parameters
'****************************************************************************
Option Explicit
Dim strTaskValue, objShell, objFso, strBody, objWmiService, strImgSrc, strOutPut, cmdImgInfo, cmdPartHD, tmpFile, j, strImages, strLocation
Dim strIndx(), strNames()
Set objShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject ("winmgmts:\\.\root\cimv2")
'-------------- Editable commands --------------
' Diskpart command
cmdPartHD = "%comspec% /c diskpart /s Q:\diskpart.txt"
' Image-X /info command. (xml-print)
cmdImgInfo= "%comspec% /c imagex /info Q:\install.wim"
' Default file, where to parse image list
strImages = "Q:\images.txt"
'------------------------------------------------
'****************************************************************************
'* Window_OnLoad
'* load up behavior and preferences
'* Read image files
'* Parse indexes and filenames
'****************************************************************************
Sub Window_Onload
readImages()
strLocation = InputBox("Path to images.txt file:", "images.txt" , strImages)
Call parseFile(strIndx, strNames, strLocation)
self.Focus()
strBody = "<div id='title'>ImageX Deployment platform</div>" & "<BR><B>Select image to apply:</B><BR>"
enumDirs
End Sub
'****************************************************************************
'* enumDirs
'****************************************************************************
Sub enumDirs
Dim colFilelist, objFile, strButtons, objShortcut, colTargetList, objTarget, x, y, strKey, strItem, k
ReDim arrButtons(1,-1)
'Reset display element style
details.innerHTML = ""
details.style.visibility = "hidden"
'Create list
For k = 0 To Ubound(strIndx)
ReDim Preserve arrButtons(1,UBound(arrButtons,2)+1)
arrButtons(0,UBound(arrButtons,2)) = strNames(k)
arrButtons(1,UBound(arrButtons,2)) = "<Input type=radio name=radioList id='" & strIndx(k) & "' onClick=showRadioInfo>" & strNames(k) & "</BUTTON><BR>"
Next
'perform a a shell sort of the string array based on button label
For x = 0 To UBound(arrButtons,2) - 1
For y = x To UBound(arrButtons,2)
If StrComp(arrButtons(0,x),arrButtons(0,y),vbTextCompare) > 0 Then
strKey = arrButtons(0,x)
strItem = arrButtons(1,x)
arrButtons(0,x) = arrButtons(0,y)
arrButtons(1,x) = arrButtons(1,y)
arrButtons(0,y) = strKey
arrButtons(1,y) = strItem
End If
Next
Next
'End of the list
For x = 0 To UBound(arrButtons,2)
strButtons = strButtons & "<tr><td id=buttonTd>" & arrButtons(1,x) & "</td></tr>"
Next
strBody = strBody & "<BR><HR><BR>"
strBody = strBody & strButtons & "<BR><HR><BR><button class='defBtn' id=start Accesskey=S onclick=doTask(strTaskValue)><U>A</U>pply image</BUTTON><BR>"
body.innerHTML = strBody
End Sub
'****************************************************************************
'* doTask
'* run task selected by radio button
'****************************************************************************
Sub doTask(doMe)
Dim myInput
Dim myError
If doMe = "" Then
MsgBox "You must choose image to apply first."
Else
If Instr(1, doMe, "gex /apply", 1) > 0 Then
myInput = MsgBox("The hard disk of the computer will be formatted and the image will be applied to it."+Chr(13)+Chr(13)+"Continue?", 4)
If myInput = 7 Then
MsgBox "Aborted by user"
Else
doTask(cmdPartHD)
objShell.Run doMe
End if
Else
myError = objShell.Run(doMe, 1, True)
End if
End if
End Sub
'****************************************************************************
'* readImages
'* Imagex info-print -> file
'****************************************************************************
Sub readImages()
'ObjShell.Run "%comspec% /c Dir " & chr(34) & strImgSrc & chr(34) & " > " & chr(34) & strOutPut & chr(34)
' Imagex /Info command
' ObjShell.Run "%comspec% /c Dir " & cmdImgInfo & " > " & chr(34) & strOutPut & chr(34)
End Sub
'****************************************************************************
'* parseFile
'* Parses the text inside <name> and <index> tags from text file.
'****************************************************************************
Sub parseFile(strIndx(), strNames(), strFile)
Dim objTextFile, sReadLine, pos, pos2, i, tmpStr1
i = -1
Redim strNames(0)
Redim strIndx(0)
If objFso.FileExists(strFile) Then
Set objTextFile = objFso.OpenTextFile(strFile, 1)
Do While Not objTextFile.AtEndOfStream
sReadLine = objTextFile.ReadLine
' indexit ja name haltuun
pos2 = Instr(1, sReadLine, "<IMAGE", 1)
pos = Instr(1, sReadLine, "<NAME>", 1)
If pos2 > 0 Then
i = i + 1
Redim Preserve strIndx(i)
Redim Preserve strNames(i)
'strIndx(i) = Right(sReadLine, Len(sReadLine) - (pos2 + 9))
tmpStr1 = Right(sReadLine, Len(sReadLine) - (pos2 + 13))
strIndx(i) = Left(tmpStr1, Len(tmpStr1) -2)
End If
If pos > 0 Then
'strNames(i) = Right(sReadLine, Len(sReadLine) - (pos + 5))
tmpStr1 = Right(sReadLine, Len(sReadLine) - (pos + 5))
strNames(i) = Left(tmpStr1, Len(tmpStr1) -8)
End If
loop
End If
End sub
'****************************************************************************
'* showRadioInfo
'****************************************************************************
Sub showRadioInfo
Dim objTextFile, Radio, strRadioValue, strDetails
'set details and start element styles
details.style.visibility = "visible"
start.style.visibility = "visible"
'find checked button
For Each Radio in Document.getElementsByName("radioList")
If Radio.Checked = True Then
'create imaging command line from button id
strTaskValue = "imagex /apply Q:\install.wim " + Radio.Id + " c:"
End If
Next
'post resulting html to details element
Details.innerHTML = "<BR><table id='detailsTable'><tr><td>" & strDetails & "</td></tr></table><BR>"
End Sub
'****************************************************************************
'* Reset
'* reset the tool interface, also reloads the code (helpful for programming)
'****************************************************************************
Sub Reset
Location.Reload(True)
End Sub
</Script>
<!****************************************************************************>
<!* End Script / Begin HTML >
<!****************************************************************************>
<BODY background="pe.jpg">
<DIV id=bg>
<!-- <img src="pe.jpg"> -->
</DIV>
<DIV id=body></DIV>
<DIV id=details></DIV>
<DIV id=tools>
<Button class = 'defBtn' id=cmd onclick=doTask('%comspec%')> CMD-Prompt </BUTTON>
<Button class = 'defBtn' id=close onclick=self.close()> Close </BUTTON>
<Button class = 'defBtn' id=reset onclick=reset> Refresh List</BUTTON>
</DIV>
</BODY>
</HTML>
<!****************************************************************************>
<!* End HTML >
<!****************************************************************************>Here is my images.txt file
ImageX Tool for Windows
Copyright © Microsoft Corp. 1981-2005. All rights reserved.
WIM Information:
----------------
GUID: {1bf6a4c6-35cf-45a4-be1a-526c70946546}
Image Count: 1
Compression: XPRESS
Part Number: 1/1
Attributes: 0xc
Integrity info
Relative path junction
Available Image Choices:
------------------------
<WIM>
<TOTALBYTES>2029827781</TOTALBYTES>
<IMAGE INDEX="1">
<NAME>Windows Vista Business</NAME>
<FLAGS>Business</FLAGS>
<WINDOWS>
<ARCH>0</ARCH>
<PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME>
<HAL>acpiapic</HAL>
<PRODUCTTYPE>WinNT</PRODUCTTYPE>
<PRODUCTSUITE>Terminal Server</PRODUCTSUITE>
<LANGUAGES>
<LANGUAGE>en-US</LANGUAGE>
<DEFAULT>en-US</DEFAULT>
</LANGUAGES>
<VERSION>
<MAJOR>6</MAJOR>
<MINOR>0</MINOR>
<BUILD>6000</BUILD>
<SPBUILD>16386</SPBUILD>
</VERSION>
<SYSTEMROOT>WINDOWS</SYSTEMROOT>
</WINDOWS>
<DIRCOUNT>6845</DIRCOUNT>
<FILECOUNT>38059</FILECOUNT>
<TOTALBYTES>7416098786</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x01C79672</HIGHPART>
<LOWPART>0x475F3C78</LOWPART>
</CREATIONTIME>
<LASTMODIFICATIONTIME>
<HIGHPART>0x01C79672</HIGHPART>
<LOWPART>0x48083E5F</LOWPART>
</LASTMODIFICATIONTIME>
</IMAGE>
</WIM>Any ideas???
0
WinPE 2.0 GimageX COM based HTA
in Windows PE
Posted
Thanks for the update, Geezery.