diff --git a/unix/vncinstall b/unix/vncinstall
new file mode 100755
index 0000000..ad5dd83
--- /dev/null
+++ b/unix/vncinstall
@@ -0,0 +1,97 @@
+#!/bin/sh
+#
+#  Copyright (C) 2002-2005 RealVNC Ltd.
+#
+#  This is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This software is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this software; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+#  USA.
+#
+
+#
+# vncinstall - copy the VNC programs to an installation directory.
+# Also tries to install the manual pages somewhere sensible.
+#
+
+if [ $# -lt 1 -o $# -gt 3 -o ! -d "$1" ]; then 
+  echo "usage: $0 <installation-directory> [<man-page-directory>] [<module-directory>]"
+  echo "e.g.   $0 /usr/local/bin"
+  exit 1
+fi
+
+dst=$1
+shift
+if [ $# -gt 0 ]; then
+  mandst="$1/man1"
+  shift
+  if [ $# -gt 0 ]; then
+    moduledst=$1
+    shift
+  else
+    moduledst=/usr/X11R6/lib/modules/extensions
+  fi
+else
+  if [ "`basename $dst`" = bin ]; then
+    mandst="`dirname $dst`/man/man1"
+    if [ ! -d "$mandst" -a "$dst" = /usr/bin ]; then
+      mandst=/usr/share/man/man1
+    fi
+  fi
+fi
+
+if [ "$mandst" != "" ]; then
+  if [ ! -d "$mandst" -o ! -w "$mandst" ]; then
+    echo "Can't install manual pages to $mandst"
+    mandst=""
+  fi
+fi
+
+for f in xc/programs/Xserver/Xvnc vncviewer/vncviewer vncpasswd/vncpasswd \
+	 vncconfig/vncconfig vncserver x0vncserver/x0vncserver; do
+  if [ ! -f $f ]; then
+    echo "Couldn't find $f"
+  else
+    if cmp -s $f $dst/`basename $f`; then
+      echo "`basename $f` hasn't changed"
+    else
+      echo "Copying $f to $dst"
+      cp -pf $f $dst
+      chmod 0555 $dst/`basename $f`
+    fi
+
+
+    if [ -f $f.man ]; then
+      if [ "$mandst" != "" -a -d "$mandst" ]; then
+        if cmp -s $f.man $mandst/`basename $f.1`; then
+          echo "`basename $f.man` hasn't changed"
+        else
+          echo "Copying $f.man to $mandst/`basename $f.1`"
+          cp -pf $f.man $mandst/`basename $f.1`
+          chmod 0444 $mandst/`basename $f.1`
+        fi
+      fi
+    fi
+  fi
+
+done
+
+vncModule=xc/programs/Xserver/vnc/module/vnc.so
+if [ -f "$vncModule" -a -d "$moduledst" ]; then
+  if cmp -s $vncModule $moduledst/`basename $vncModule`; then
+    echo "`basename $vncModule` hasn't changed"
+  else
+    echo "Copying $vncModule to $moduledst"
+    cp -pf $vncModule $moduledst
+    chmod 0555 $moduledst/`basename $vncModule`
+  fi
+fi
