# Generated by stepmaker 20081103 (instance: 98979202257)
# Generated on Mon Nov 10 13:41:18 2008
# Modified on Thu Nov 13 2008
# uname -a: Linux pink-intel 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:47:07 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
# QEMU command line: ../qemu-kvm -hda ./Windows2008-x64-test.qcow2 -m 512 -cdrom /isos/windows/Windows2008-x64.iso -monitor unix:/tmp/monitor_98979202257,server,nowait -vnc :0 &
# --------------------------------
step 38.25
screendump 20080101_000001_f8c302b90bb107f7d74a184d496bf92e.ppm
# Install Windows 2008
barrier_2 415 172 87 64 1004a9d0533fd25bfbde1bde9ef9cadd 191
# Sending keys: alt-n
key alt-n
# --------------------------------
step 42.57
screendump 20080101_000002_d2ae2f0c68a9fb7c016b5d3015ebefa2.ppm
# Install Windows 2008
barrier_2 212 90 285 155 8998d9217c8c7f54db404f62571750f9 22
key alt-i
# --------------------------------
step 111.16
screendump 20080101_000003_9e1ca73f507e124acd10d29a8a0c3b9f.ppm
# Select Edition (Datacenter)
barrier_2 329 172 120 80 add41ee88018b81e5ce6225c717537c9 343
key down
key down
key alt-n
# --------------------------------
step 115.28
screendump 20080101_000004_289dfb0fa2b4ef0a879d4716fc08164c.ppm
# License
barrier_2 243 26 114 85 25714ad1d2525f2480d735135e0714cf 21
key alt-a
# --------------------------------
step 120.18
screendump 20080101_000005_bebb500768127de4f72af2ccb55b3ce3.ppm
# License 2
barrier_2 588 76 114 412 3c338a74000bad602968e7921cd5095c 24
key alt-n
# --------------------------------
step 125.46
screendump 20080101_000006_029b94eef13014d23e18f9c8b146a333.ppm
# Type of Install (Custom)
barrier_2 308 32 102 77 a780562c808033778f09eb1ca902e825 26
key alt-c
# --------------------------------
step 136.15
screendump 20080101_000007_e0597c70810cb3ebb2a318c0afbb0af2.ppm
# HDD Partitioning
barrier_2 303 24 113 85 e6d27fbc9662befc8453bda6db9d3e71 53
key alt-n
# --------------------------------
step 1673.70
screendump 20080101_000008_e3e45fbbb8c888adf512771ad73d3801.ppm
# User Password
barrier_2 484 167 151 368 b54c23fad3136775ec5c37dc51c83e4f 7200
key ret
# --------------------------------
step 1679.51
screendump 20080101_000009_28b9578abf26802854f522f0d18730d8.ppm
# Admin Password
#barrier_2 184 121 316 304 c8440e899896140ea1f814a1c144b24b 29
barrier_2 107 17 291 379 b46876036f31846d61349be207523348  29
var passwd
key tab
var passwd
key ret
# --------------------------------
step 1686.00
screendump 20080101_000010_9bb10ecc6eb609bab1063e527cafd81a.ppm
# Password
barrier_2 224 104 287 408 b71c055897bca48b49a338ae04e60324 32
key ret
# --------------------------------
step 1732.47
screendump 20080101_000011_b8ee0f8e288f7dd443605e0cf5d91c61.ppm
# Desktop reached
barrier_2 49 16 2 579 5bfe5b0a9fa7648373e9ad84d3119a5d 232
# Sending keys: 0xdc-r
key 0xdc-r
# --------------------------------
step 1732.47
screendump 20090809_051015_fbb85586d6ae0a031d6eea173e3fd940.ppm
# Shutdown (screendump taken from Win2008.32)
barrier_2 38 35 312 430 684748292c757ae5eb7bf4299df70171 10
# Sending keys: s h u t d o w n spc slash s spc slash f spc slash t spc 0 ret
key s
key h
key u
key t
key d
key o
key w
key n
key spc
key slash
key s
key spc
key slash
key f
key spc
key slash
key t
key spc
key 0
key ret
