Might, be who knows what people might install and copy to C:\... Games, musicfiles, personal pics and god knows what. I agree 12 GB is abit too much but a TB harddrive doesnt cost much.
Don't see what that has to do with the recovery partition size. The Recovery partition size is only related to what programs and files are pre-installed before syspreping, so if you install a lot, 12GB may be recommended, but for a basic Win7 install, Office Starter, Windows Live & MSE 6GB is more then sufficient I was more wondering it it was recommended for particular reason, Temporary space required by RT for example
I know, but in my opinion it doesn't make sence to store mp3's and such in the recovery partition, why not simply create another partition holding these files. Newly downloaded Mp3's would not be available after restoring the image...or he should intend to update his recovery partition with every new mp3 downloaded.... again that doesn't make much sense and basically is outside the scope of having a recovery partition
I agree of course. I dont know why he wants all his personal files on a recoverypartition well its his choice
Unfortunately, it is not my choice. PC is for Karaoke club. On the market it is no other application except Ecuakaraoke with bundled music. To get high quality (not midi) files it is huge job and thats why clients prefer Ecuakaraoke (with 4500 mp3 files). Creator of software packed lyrics and mp3 in his own format (DAT) and put it the path in program root directory. So, I simply don't have any choice. I wanted to force Ultrastar Deluxe, but clients don't want it (as it is without music collection). P.S. Now I received another PC with same request for Karaoke. P.S. If somebody know how to decompose DAT file and convert it in Ultrastar Deluxe mp3, I will appreciate it.
Updated scripts that hide main windows during image capture/apply progress Capture.au3 Code: $iPID = ProcessExists("recovery.exe") if $iPID<>0 then ;Get HWND. $hWnd = _GetHwndFromPID($iPID) WinSetState ($hWnd, "", @SW_HIDE) $Imagex = Run($CmdLineRaw,"",@SW_HIDE,2) $Status = ProgressOn("Capturing","Preparing to capture Windows image","Please wait...") While ProcessExists($Imagex) $Line = StdoutRead($Imagex) $Line = StringReplace($Line,"[","") $Line = StringReplace($Line,"]","") $Line = StringReplace($Line," ","") $Line = StringReplace($Line,"%","") $Line1 = StringLeft($Line,1) $Line2 = StringLeft($Line,2) $Line3 = StringLeft($Line,3) If StringIsDigit($Line3) Then ProgressSet($Line3,$Line3&"%","Capturing image") ElseIf StringIsDigit($Line2) Then ProgressSet($Line2,$Line2&"%","Capturing image") ElseIf StringIsDigit($Line1) Then ProgressSet($Line1,$Line1&"%","Capturing image") EndIf WEnd ProgressOff() WinSetState ($hWnd, "", @SW_SHOW) endif Func _GetHwndFromPID($PID) $hWnd = 0 $winlist = WinList() Do For $i = 1 To $winlist[0][0] If $winlist[$i][0] <> "" Then $iPID2 = WinGetProcess($winlist[$i][1]) If $iPID2 = $PID Then $hWnd = $winlist[$i][1] ExitLoop EndIf EndIf Next Until $hWnd <> 0 Return $hWnd EndFunc;==>_GetHwndFromPID Apply.au3 Code: $iPID = ProcessExists("Recovery.exe") if $iPID<>0 then ;Get HWND. $hWnd = _GetHwndFromPID($iPID) WinSetState ($hWnd, '', @SW_HIDE) $Imagex = Run($CmdLineRaw,"",@SW_HIDE,2) $Status = ProgressOn("Applying","Preparing to apply Windows image","Please wait...") While ProcessExists($Imagex) $Line = StdoutRead($Imagex) $Line = StringReplace($Line,"[","") $Line = StringReplace($Line,"]","") $Line = StringReplace($Line," ","") $Line = StringReplace($Line,"%","") $Line1 = StringLeft($Line,1) $Line2 = StringLeft($Line,2) $Line3 = StringLeft($Line,3) If StringIsDigit($Line3) Then ProgressSet($Line3,$Line3&"%","Applying image") ElseIf StringIsDigit($Line2) Then ProgressSet($Line2,$Line2&"%","Applying image") ElseIf StringIsDigit($Line1) Then ProgressSet($Line1,$Line1&"%","Applying image") EndIf WEnd ProgressOff() WinSetState ($hWnd, '', @SW_SHOW) endif Func _GetHwndFromPID($PID) $hWnd = 0 $winlist = WinList() Do For $i = 1 To $winlist[0][0] If $winlist[$i][0] <> "" Then $iPID2 = WinGetProcess($winlist[$i][1]) If $iPID2 = $PID Then $hWnd = $winlist[$i][1] ExitLoop EndIf EndIf Next Until $hWnd <> 0 Return $hWnd EndFunc;==>_GetHwndFromPID
@FreeStyler The next verion of the tools (later this year, I am stuck with too much university home-works) - Autokill of "Sysprep.exe" so it won't carsh if you forgot to close the windows - Autokill of "wmpnetw.exe" so it may help with some people during Sysprep - Regional version of Capture and Apply which will be english be default if not translated string is found - Hide backgroud window when capturing (I will look into your code to see what you did) - Hide language selection when default is set As for the "minimum" size of the recovery partition, 6gb should be enough. But it always depend of how much software you put in it. Considering today large HDD, 12gb should prevent any problem due to lack of space. On my side, my capture image is around 10gb, due to the fact my image is bilungual (you select to install in french or english) and it include Office 2010 32 and 64 bits version (user select which one to install on firt boot). Both version takes around 8gb on the hdd..... @TcnTad Sadly, lot of softwares made with AutoIt are detected as a virus. Problem is, the WaikFile.exe does not include any AutoIt script, just M$ files. But both softwares are compressed using WinRar. Maybe it is the source of the problem....
Thanks for your code. Basically, you are goind through all active window to find the PID of the good one. I was rather thinking putting the PID in a dummy text file at application launch... your method seem better To answer your question, IMAGEX is "scanning" all file on the HDD to calculate how much time it will takes and creates the files list and the ACL of the files. When using IMAGEX, there is no % on the screen at this step.
Nope, not exactly... the PID is taken from recovery.exe, because of the dialog titles being multilingual there is no way to use a hardcoded value with WinSetState, meaning we have to go trough all processes and take the title from the one that matches the pid from recovery.exe
First I want to thank you Anarethos for this fantastic program and tcntad for all the documentation. It has worked for me with minor glitches (mostly my own) as I had a learning curve update. Question: I have used the Autounattend.xml to install Win 7 and wondered if the .xml could be modified to be included with the Backup so that it could format the hard drive with the needed partitions when starting with the Recovery Disk. Or if you could show me what to modify and I will include it on my backup. THANK YOU THANK YOU THANK YOU
So you would like to have the autounattend.xml in your recoverypartition/disc? Well its not necessary as it already has all that info, it will format your windowspartition and reinstall it for you. Atleast im 99% sure of this^^
The AutoUnattend.Xml file is used when installing Windows to correctly prepare your disk. When using the recovery disk /usb media, it use the infor in the Settings.Ini file from the recovery software. If you modify the AutoUnattend.Xml file (change partition size, order, etc.) you will have to modify Settings.Ini file with the same settings PRIOR installing the recovery software on the computer.
Also, I must appologies if anyone got problem DL the software in the past days as my server PSU went bad. I have replaced it and everything is ok now (cross fingers).