# Generated by Step Maker
# Generated on Tue Nov  3 14:17:33 2009
# uname -a: Linux dhcp-1-188.tlv.redhat.com 2.6.18-128.1.1.el5 #1 SMP Mon Jan 26 13:58:24 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
# --------------------------------
step 87.91
screendump 20091103_141901_8a894eeeb57395c0c148677922cfe404.ppm
# Reached welcome screen
barrier_2 82 26 336 249 695dc13173329b155e7ec6f7051ec59e 440
# Sending keys: 0xdc-r
key 0xdc-r
# --------------------------------
step 92.37
screendump 20091103_141944_86b166a4d5d978c271b2d27015032738.ppm
# Open d:\ in a file browser
barrier_2 36 59 225 428 2ceabcaf10d637b6f6c82309d70972a1 21
# Sending keys: d shift-0x27 0x2b ret
key d
key shift-0x27
key 0x2b
key ret
# --------------------------------
step 97.15
screendump 20091103_142130_1136501f2ac6c8a1e8bcabda42b34126.ppm
# Select setuprss.bat
barrier_2 86 20 170 468 cf5e40c2969c78d266c3d05aacd628c5 19
# Sending keys: s e t u p r s s menu
key s
key e
key t
key u
key p
key r
key s
key s
key menu
# --------------------------------
step 103.84
screendump 20091103_142159_45c9e2fe113811477bba4408c6abb96e.ppm
# Run as administrator
sleep 15
# Sending keys: a
key a
# --------------------------------
step 108.32
screendump 20091103_142215_419d87101ea2204c7eb2f7a997b4792a.ppm
# Continue
barrier_2 31 42 462 316 52bc2803827bd4b931bc44a693f81763 90
# Sending keys: alt-c
key alt-c
# --------------------------------
step 116.77
screendump 20091103_142350_c002f223bec9032582be98c095440550.ppm
sleep 20
