wisotool: a script to automate multi-cd installs

Dan Kegel dank at kegel.com
Fri Mar 26 23:16:30 CDT 2010


I was looking at the bookshelf full of old games I've
collected over the years, and was annoyed that
there wasn't any sort of unattended regression
test for their installers... 'course, that's hard, since
you'd have to somehow insert the cd-roms automatically.
But you can kind of fake it by mounting .iso files,
at least for some games, so I tried doing it for
Diablo II.  And it seems to work!  I wrapped
it up in an extensible script, with a menu and some
functions stolen from winetricks.  It's at
http://code.google.com/p/winezeug/source/browse/trunk/wisotool
(though you have to check out that directory from
svn to run it, as it currently depends on two other
files there).

The idea is you run the script like this to load a cd-rom into its
cache of .iso files:
  sh wisotool load
If the cd-rom has a key associated with it, specify it like this:
 sh wisotool load=XXX-YYY-ZZZ-WWW
The .iso files are cached in ~/.wisotoolcache in filenames named
after their sha1sums (so best run on a fast machine :-)

Then (assuming somebody has added a verb for the app to the script),
you can then run the script to install from the .iso files.  For instance,
  sh wisotool diablo2
or
  sh wisotool morrowind

It only supports those two games at the moment, it doesn't run on
windows yet (though it should eventually), and the diablo2 verb
starts the game (I couldn't figure out how to stop it).

It's kind of like playonlinux in that it has separate scripts (well, functions)
for each game it supports, but utterly unlike playonlinux because
it doesn't try to patch or futz with wine in any way (beyond
running winetricks if needed), and the installs are totally unattended
(unlike playonlinux, where you have to click things and insert discs).

I have no idea how many games this will work for, but heck, may as well try it.

I expect to use this in automated testing sometime, and welcome additional
verbs if people feel like writing them.
- Dan



More information about the wine-devel mailing list