Jump to content

Unattended Installation of Games (long)


Whilt
 Share

Recommended Posts

For anyone who is making an unattended install DVD and has a lot of extra space left on it, here are a series of AutoIt scripts I made to install/patch the following games:

Starcraft w/ Broodwar

Warcraft III w/ Frozen Throne

Rise of Nations

Half-Life (no script necessary)

The setup is relatively simple: make a subdirectory on your CD for the games (I used install\games), create a subdirectory for each game/expansion you're installing, and copy the contents of each CD into the appropriate directory. Add your own CD-Key to the install script, compile it and put the resulting exe in the directory you copied the game CD's contents to. Put the exe in your RunOnceEx.cmd file or whatnot, and you're done. As for the patches, simply put the compiled script in the same directory as the patch itself. Other than that, it can be anywhere on your CD.

Keep in mind that the patch scripts (except for the RoN script) only work if you have the appropriate expansion installed.

Here are the scripts:

Install Starcraft:

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("SETUP.EXE")

WinWaitActive("Starcraft Setup")
Send("S")
WinWaitActive("License Agreement")
Send("A")
;Enter Name and CD-Key
WinWaitActive("Starcraft - CD-key.")
;Name goes here
Send("Anon")
Send("{TAB}")
;Key goes here
Send("")
Send("{TAB}")
Send("{SPACE}")
;Select the install directory
WinWaitActive("Starcraft - choose install directory")
;The directory select menu kills what you've typed the first time you enter it
Send("{TAB 4}")
Send("C:\Games\Starcraft")
Send("{TAB 2}")
Send("{SPACE}")
WinWaitActive("Register Starcraft Electronically?")
Send("N")
WinWaitActive("Starcraft Setup")
Send("X")

Install Brood War

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("SETUP.EXE")

WinWaitActive("Starcraft: Brood War Setup")
Send("S")
WinWaitActive("License Agreement")
Send("A")
WinWaitActive("Register Starcraft Electronically?")
Send("N")
WinWaitActive("Starcraft: Brood War Setup")
Send("X")

Patch Brood War (to 1.11b)

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("BW-111b.exe")

WinWaitActive("Blizzard Updater v2.63b")
Send("{TAB 2}")
Send("{SPACE}")
Send("{TAB 2}")
Send("{SPACE}")
WinWaitActive("Data File Error")
Send("{TAB}")
Send("{SPACE}")

Install Warcraft III

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("install.exe")

WinWaitActive("Warcraft III Setup")
Send("W")
WinWaitActive("License Agreement")
Send("A")
WinWaitActive("Warcraft III CD Key")
;Send your name
Send("Anon")
Send("{TAB}")
;Send your key
Send("")
Send("{TAB}")
Send("{SPACE}")
WinWaitActive("Warcraft III - Select Install Directory")
;Need to tab through the install location window to preserve the typed directory later
Send("{TAB 5}")
Send("C:\Games\Warcraft III")
Send("{TAB 3}")
Send("{SPACE}")
WinWaitActive("Desktop Shortcut?")
Send("Y")
WinWaitActive("Register Warcraft III Electronically?")
Send("N")
WinWaitActive("Warcraft III Setup")
Send("X")

Install Frozen Throne

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("install.exe")

WinWaitActive("Warcraft III: The Frozen Throne Setup")
Send("W")
WinWaitActive("License Agreement")
Send("A")
WinWaitActive("Warcraft III: The Frozen Throne CD Key")
;Send your key
Send("")
Send("{TAB}")
Send("{SPACE}")
WinWaitActive("Desktop Shortcut?")
Send("Y")
WinWaitActive("Register Electronically?")
Send("N")
WinWaitActive("Warcraft III: The Frozen Throne Setup")
Send("X")

Patch Frozen Throne (to 1.16a)

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("War3TFT_116a_English.exe")

WinWaitActive("Blizzard Updater v2.84", "The update has completed successfully.")
Send("{TAB 2}")
Send("{SPACE}")
Send("{TAB 2}")
Send("{SPACE}")

Install Rise of Nations

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 1000)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("RONSETUP.EXE")

WinWaitActive("Rise Of Nations Setup", "AUTORUN")
Send("I")
Send("{SPACE}")
WinWaitActive("APPMESSAGE")
WinWaitActive("Rise Of Nations Setup", "PIDKey")
; Enter CD-Key Here
Send("")
Send("{SPACE}")
WinWaitActive("Rise Of Nations Setup", "PID")
; Wait 2 seconds, since the installer likes to hiccup here
Sleep(2000)
Send("{SPACE}")
WinWaitActive("APPMESSAGE")
WinWaitActive("Rise Of Nations Setup", "INSTALLTYPE")
Send("{TAB 4}")
Send("{SPACE}")
WinWaitActive("Rise Of Nations Setup", "Change Folder")
Send("+{END}")
Send("{DELETE}")
Send("C:\Games\Rise of Nations")
Send("{ENTER}")
WinWaitActive("APPMESSAGE")
WinWaitActive("Rise Of Nations Setup", "INSTALLTYPE")
Send("{TAB 2}")
Send("{SPACE}")
Send("{I}")
Send("{SPACE}")
WinWaitActive("Rise Of Nations Setup", "COMPLETE")
Sleep(2000)
Send("{ESC}")
Send("N")
Send("{SPACE}")
Send("{N}")

Rise of Nations Patch (1.03)

AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("ronpatch.exe")

WinWaitActive("Rise of Nations Update 1.03")
Send("{SPACE}")
WinWaitActive("Cannot locate the CD-ROM")
Send("{SPACE}")

To install Half-Life (the non-steam version), simply install and patch the game on any computer, install CS or whatever other mods please you, then copy the entire Half-Life directory to the $OEM$\$1\Games directory or whatnot on your CD. The game will run fine, though you'll have to enter your CD Key manually unless you apply this registry tweak:

;Register the Half-Life CD Key
[HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings]
"Key"=""

Edited by xper
Link to comment
Share on other sites

  • 1 year later...

[quote name='Whilt' post='158119' date='Jul 31 2004, 02:57 PM']For anyone who is making an unattended install DVD and has a lot of extra space left on it, here are a series of AutoIt scripts I made to install/patch the following games:

Starcraft w/ Broodwar
Warcraft III w/ Frozen Throne
Rise of Nations
Half-Life (no script necessary)

The setup is relatively simple: make a subdirectory on your CD for the games (I used install\games), create a subdirectory for each game/expansion you're installing, and copy the contents of each CD into the appropriate directory. Add your own CD-Key to the install script, compile it and put the resulting exe in the directory you copied the game CD's contents to. Put the exe in your RunOnceEx.cmd file or whatnot, and you're done. As for the patches, simply put the compiled script in the same directory as the patch itself. Other than that, it can be anywhere on your CD.

Keep in mind that the patch scripts (except for the RoN script) only work if you have the appropriate expansion installed.

Here are the scripts:

Install Starcraft:
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("SETUP.EXE")

WinWaitActive("Starcraft Setup")
Send("S")
WinWaitActive("License Agreement")
Send("A")
;Enter Name and CD-Key
WinWaitActive("Starcraft - CD-key.")
;Name goes here
Send("Anon")
Send("{TAB}")
;Key goes here
Send("")
Send("{TAB}")
Send("{SPACE}")
;Select the install directory
WinWaitActive("Starcraft - choose install directory")
;The directory select menu kills what you've typed the first time you enter it
Send("{TAB 4}")
Send("C:\Games\Starcraft")
Send("{TAB 2}")
Send("{SPACE}")
WinWaitActive("Register Starcraft Electronically?")
Send("N")
WinWaitActive("Starcraft Setup")
Send("X")[/code]

Install Brood War
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("SETUP.EXE")

WinWaitActive("Starcraft: Brood War Setup")
Send("S")
WinWaitActive("License Agreement")
Send("A")
WinWaitActive("Register Starcraft Electronically?")
Send("N")
WinWaitActive("Starcraft: Brood War Setup")
Send("X")[/code]

Patch Brood War (to 1.11b)
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("BW-111b.exe")

WinWaitActive("Blizzard Updater v2.63b")
Send("{TAB 2}")
Send("{SPACE}")
Send("{TAB 2}")
Send("{SPACE}")
WinWaitActive("Data File Error")
Send("{TAB}")
Send("{SPACE}")[/code]

Install Warcraft III
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("install.exe")

WinWaitActive("Warcraft III Setup")
Send("W")
WinWaitActive("License Agreement")
Send("A")
WinWaitActive("Warcraft III CD Key")
;Send your name
Send("Anon")
Send("{TAB}")
;Send your key
Send("")
Send("{TAB}")
Send("{SPACE}")
WinWaitActive("Warcraft III - Select Install Directory")
;Need to tab through the install location window to preserve the typed directory later
Send("{TAB 5}")
Send("C:\Games\Warcraft III")
Send("{TAB 3}")
Send("{SPACE}")
WinWaitActive("Desktop Shortcut?")
Send("Y")
WinWaitActive("Register Warcraft III Electronically?")
Send("N")
WinWaitActive("Warcraft III Setup")
Send("X")[/code]

Install Frozen Throne
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("install.exe")

WinWaitActive("Warcraft III: The Frozen Throne Setup")
Send("W")
WinWaitActive("License Agreement")
Send("A")
WinWaitActive("Warcraft III: The Frozen Throne CD Key")
;Send your key
Send("")
Send("{TAB}")
Send("{SPACE}")
WinWaitActive("Desktop Shortcut?")
Send("Y")
WinWaitActive("Register Electronically?")
Send("N")
WinWaitActive("Warcraft III: The Frozen Throne Setup")
Send("X")[/code]

Patch Frozen Throne (to 1.16a)
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("War3TFT_116a_English.exe")

WinWaitActive("Blizzard Updater v2.84", "The update has completed successfully.")
Send("{TAB 2}")
Send("{SPACE}")
Send("{TAB 2}")
Send("{SPACE}")[/code]

Install Rise of Nations
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 1000)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("RONSETUP.EXE")

WinWaitActive("Rise Of Nations Setup", "AUTORUN")
Send("I")
Send("{SPACE}")
WinWaitActive("APPMESSAGE")
WinWaitActive("Rise Of Nations Setup", "PIDKey")
; Enter CD-Key Here
Send("")
Send("{SPACE}")
WinWaitActive("Rise Of Nations Setup", "PID")
; Wait 2 seconds, since the installer likes to hiccup here
Sleep(2000)
Send("{SPACE}")
WinWaitActive("APPMESSAGE")
WinWaitActive("Rise Of Nations Setup", "INSTALLTYPE")
Send("{TAB 4}")
Send("{SPACE}")
WinWaitActive("Rise Of Nations Setup", "Change Folder")
Send("+{END}")
Send("{DELETE}")
Send("C:\Games\Rise of Nations")
Send("{ENTER}")
WinWaitActive("APPMESSAGE")
WinWaitActive("Rise Of Nations Setup", "INSTALLTYPE")
Send("{TAB 2}")
Send("{SPACE}")
Send("{I}")
Send("{SPACE}")
WinWaitActive("Rise Of Nations Setup", "COMPLETE")
Sleep(2000)
Send("{ESC}")
Send("N")
Send("{SPACE}")
Send("{N}")[/code]

Rise of Nations Patch (1.03)
[code]AutoItSetOption("WinTitleMatchMode", 1)
AutoItSetOption("WinWaitDelay", 500)

; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

Run("ronpatch.exe")

WinWaitActive("Rise of Nations Update 1.03")
Send("{SPACE}")
WinWaitActive("Cannot locate the CD-ROM")
Send("{SPACE}")[/code]

To install Half-Life (the non-steam version), simply install and patch the game on any computer, install CS or whatever other mods please you, then copy the entire Half-Life directory to the $OEM$\$1\Games directory or whatnot on your CD. The game will run fine, though you'll have to enter your CD Key manually unless you apply this registry tweak:

[code];Register the Half-Life CD Key
[HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings]
"Key"=""[/code][/quote]


you doo relise that people are now using your cdkey which is illegal ???? Edited by xper
Link to comment
Share on other sites

a better why of doing this would be to put your serials in another file say an ini file and use iniread

[code]$serial = IniRead(@ScriptDir & "\" & "serials.ini", "games", "half-life", "NotFound")
if $serial = "NotFound" then
msgbox(16,"Error","Serial not found in serials.ini")
exit
endif

Send($serial)

RegWrite("HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings","Key","REG_SZ",$serial)[/code]
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.


×
×
  • Create New...