<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2010, 2011 IBM Corporation
-->

<p><span class="weinre">weinre</span> is shipped as two archives
available at
<a href="https://github.com/pmuellr/weinre/archives/master">https://github.com/pmuellr/weinre/archives/master</a>

<ul class="spaced">

<li><b><tt>weinre-jar-x.y.z.zip</tt></b>
<br>This archive includes a Java .jar file.

<li><b><tt>weinre-mac-x.y.z.zip</tt></b>
<br>This archive includes a Mac OS X application.

</ul>

<p>Install the .jar and/or Mac OS X application wherever you wish.  
At runtime, the .jar file is not sensive to the directory
it is installed in, or the current directory when it's launched.
