Index: trunk/src/VBox/Additions/solaris/Installer/postinstall.sh
===================================================================
--- trunk/src/VBox/Additions/solaris/Installer/postinstall.sh	(revision 42468)
+++ trunk/src/VBox/Additions/solaris/Installer/postinstall.sh	(revision 42469)
@@ -69,18 +69,4 @@
     uncompress_file "$1" "vboxvideo_drv_70.so"
     uncompress_file "$1" "vboxvideo_drv_71.so"
-
-    # VBox Xorg Mouse drivers
-    uncompress_file "$1" "vboxmouse_drv_13.so"
-    uncompress_file "$1" "vboxmouse_drv_14.so"
-    uncompress_file "$1" "vboxmouse_drv_15.so"
-    uncompress_file "$1" "vboxmouse_drv_16.so"
-    uncompress_file "$1" "vboxmouse_drv_17.so"
-    uncompress_file "$1" "vboxmouse_drv_18.so"
-    uncompress_file "$1" "vboxmouse_drv_19.so"
-    uncompress_file "$1" "vboxmouse_drv_110.so"
-    uncompress_file "$1" "vboxmouse_drv_111.so"
-    uncompress_file "$1" "vboxmouse_drv_112.so"
-    uncompress_file "$1" "vboxmouse_drv_70.so"
-    uncompress_file "$1" "vboxmouse_drv_71.so"
 }
 
@@ -158,54 +144,41 @@
     fi
 
-    vboxmouse_src=""
     vboxvideo_src=""
 
     case "$xorgversion" in
         1.3.* )
-            vboxmouse_src="vboxmouse_drv_13.so"
             vboxvideo_src="vboxvideo_drv_13.so"
             ;;
         1.4.* )
-            vboxmouse_src="vboxmouse_drv_14.so"
             vboxvideo_src="vboxvideo_drv_14.so"
             ;;
         1.5.99 | 1.6.* )
-            vboxmouse_src="vboxmouse_drv_16.so"
             vboxvideo_src="vboxvideo_drv_16.so"
             ;;
         1.5.* )
-            vboxmouse_src="vboxmouse_drv_15.so"
             vboxvideo_src="vboxvideo_drv_15.so"
             ;;
         1.7.*)
-            vboxmouse_src="vboxmouse_drv_17.so"
             vboxvideo_src="vboxvideo_drv_17.so"
             ;;
         1.8.*)
-            vboxmouse_src="vboxmouse_drv_18.so"
             vboxvideo_src="vboxvideo_drv_18.so"
             ;;
         1.9.*)
-            vboxmouse_src="vboxmouse_drv_19.so"
             vboxvideo_src="vboxvideo_drv_19.so"
             ;;
         1.10.*)
-            vboxmouse_src="vboxmouse_drv_110.so"
             vboxvideo_src="vboxvideo_drv_110.so"
             ;;
         1.11.*)
-            vboxmouse_src="vboxmouse_drv_111.so"
             vboxvideo_src="vboxvideo_drv_111.so"
             ;;
         1.12.*)
-            vboxmouse_src="vboxmouse_drv_112.so"
             vboxvideo_src="vboxvideo_drv_112.so"
             ;;
         7.1.* | *7.2.* )
-            vboxmouse_src="vboxmouse_drv_71.so"
             vboxvideo_src="vboxvideo_drv_71.so"
             ;;
         6.9.* | 7.0.* )
-            vboxmouse_src="vboxmouse_drv_70.so"
             vboxvideo_src="vboxvideo_drv_70.so"
             ;;
@@ -213,5 +186,5 @@
 
     retval=0
-    if test -z "$vboxmouse_src"; then
+    if test -z "$vboxvideo_src"; then
         echo "*** Unknown version of the X Window System installed."
         echo "*** Failed to install the VirtualBox X Window System drivers."
@@ -220,11 +193,7 @@
         retval=2
     else
-        echo "Installing mouse and video drivers for X.Org $xorgversion..."
+        echo "Installing video driver for X.Org $xorgversion..."
 
         # Determine destination paths (snv_130 and above use "/usr/lib/xorg", older use "/usr/X11/lib"
-        vboxmouse32_dest_base="/usr/lib/xorg/modules/input"
-        if test ! -d $vboxmouse32_dest_base; then
-            vboxmouse32_dest_base="/usr/X11/lib/modules/input"
-        fi
         vboxvideo32_dest_base="/usr/lib/xorg/modules/drivers"
         if test ! -d $vboxvideo32_dest_base; then
@@ -232,28 +201,26 @@
         fi
 
-        vboxmouse64_dest_base=$vboxmouse32_dest_base/$solaris64dir
         vboxvideo64_dest_base=$vboxvideo32_dest_base/$solaris64dir
 
         # snv_163 drops 32-bit support completely, and uses 32-bit locations for the 64-bit stuff. Ugly.
-        # We try to detect this by looking at bitness of "mouse_drv.so", and adjust our destination paths accordingly.
+        # We try to detect this by looking at bitness of "vesa_drv.so", and adjust our destination paths accordingly.
         # We do not rely on using Xorg -version's ABI output because some builds (snv_162 iirc) have 64-bit ABI with
         # 32-bit file locations.
-        if test -f "$vboxmouse32_dest_base/mouse_drv.so"; then
-            bitsize=`file "$vboxmouse32_dest_base/mouse_drv.so" | grep -i "32-bit"`
+        if test -f "$vboxvideo32_dest_base/vesa_drv.so"; then
+            bitsize=`file "$vboxvideo32_dest_base/vesa_drv.so" | grep -i "32-bit"`
             skip32="no"
         else
-            echo "* Warning mouse_drv.so missing. Assuming Xorg ABI is 64-bit..."
+            echo "* Warning vesa_drv.so missing. Assuming Xorg ABI is 64-bit..."
         fi
 
         if test -z "$bitsize"; then
             skip32="yes"
-            vboxmouse64_dest_base=$vboxmouse32_dest_base
             vboxvideo64_dest_base=$vboxvideo32_dest_base
         fi
 
         # Make sure destination path exists
-        if test ! -d $vboxmouse32_dest_base || test ! -d $vboxvideo32_dest_base || test ! -d $vboxmouse64_dest_base || test ! -d $vboxvideo64_dest_base; then
-            echo "*** Missing destination paths for mouse or video modules. Aborting."
-            echo "*** Failed to install the VirtualBox X Window System drivers."
+        if test ! -d $vboxvideo64_dest_base; then
+            echo "*** Missing destination paths for video module. Aborting."
+            echo "*** Failed to install the VirtualBox X Window System driver."
 
             # Exit as partially failed installation
@@ -261,32 +228,22 @@
         else
             # 32-bit x11 drivers
-            if test "$skip32" = "no" && test -f "$vboxadditions32_path/$vboxmouse_src"; then
-                vboxmouse_dest="$vboxmouse32_dest_base/vboxmouse_drv.so"
+            if test "$skip32" = "no" && test -f "$vboxadditions32_path/$vboxvideo_src"; then
                 vboxvideo_dest="$vboxvideo32_dest_base/vboxvideo_drv.so"
-                /usr/sbin/installf -c none $PKGINST "$vboxmouse_dest" f
                 /usr/sbin/installf -c none $PKGINST "$vboxvideo_dest" f
-                cp "$vboxadditions32_path/$vboxmouse_src" "$vboxmouse_dest"
                 cp "$vboxadditions32_path/$vboxvideo_src" "$vboxvideo_dest"
 
                 # Removing redundant names from pkg and files from disk
-                /usr/sbin/removef $PKGINST $vboxadditions32_path/vboxmouse_drv_* 1>/dev/null
                 /usr/sbin/removef $PKGINST $vboxadditions32_path/vboxvideo_drv_* 1>/dev/null
-                rm -f $vboxadditions32_path/vboxmouse_drv_*
                 rm -f $vboxadditions32_path/vboxvideo_drv_*
             fi
 
             # 64-bit x11 drivers
-            if test -f "$vboxadditions64_path/$vboxmouse_src"; then
-                vboxmouse_dest="$vboxmouse64_dest_base/vboxmouse_drv.so"
+            if test -f "$vboxadditions64_path/$vboxvideo_src"; then
                 vboxvideo_dest="$vboxvideo64_dest_base/vboxvideo_drv.so"
-                /usr/sbin/installf -c none $PKGINST "$vboxmouse_dest" f
                 /usr/sbin/installf -c none $PKGINST "$vboxvideo_dest" f
-                cp "$vboxadditions64_path/$vboxmouse_src" "$vboxmouse_dest"
                 cp "$vboxadditions64_path/$vboxvideo_src" "$vboxvideo_dest"
 
                 # Removing redundant names from pkg and files from disk
-                /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxmouse_drv_* 1>/dev/null
                 /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxvideo_drv_* 1>/dev/null
-                rm -f $vboxadditions64_path/vboxmouse_drv_*
                 rm -f $vboxadditions64_path/vboxvideo_drv_*
             fi
@@ -313,5 +270,5 @@
             fi
 
-            # Adjust xorg.conf with mouse and video driver sections
+            # Adjust xorg.conf with video driver sections
             $vboxadditions_path/x11config15sol.pl
         fi
@@ -411,6 +368,6 @@
     /usr/sbin/devfsadm -i vboxguest
 
-    # Setup VBoxService & start the service automatically
-    echo "Configuring service (this might take a while)..."
+    # Setup VBoxService and vboxmslnk and start the services automatically
+    echo "Configuring services (this might take a while)..."
     cmax=32
     cslept=0
@@ -422,5 +379,6 @@
     # 1 second intervals to see if our service has been successfully imported and timeout after 'cmax' seconds.
     /usr/sbin/svcadm restart svc:system/manifest-import:default
-    is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1`
+    ## @todo why do we redirect to /dev/null and then save the output?
+    is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1 && /usr/bin/svcs virtualbox/vboxmslnk >/dev/null 2>&1`
     while test $? -ne 0;
     do
@@ -431,11 +389,12 @@
             break
         fi
-        is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1`
+        is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1 && /usr/bin/svcs virtualbox/vboxmslnk >/dev/null 2>&1`
     done
     if test "$success" -eq 0; then
-        echo "Enabling service..."
+        echo "Enabling services..."
         /usr/sbin/svcadm enable -s virtualbox/vboxservice
+        /usr/sbin/svcadm enable -s virtualbox/vboxmslnk
     else
-        echo "## VBoxService import failed."
+        echo "## Service import failed."
         echo "## See /var/svc/log/system-manifest-import:default.log for details."
         # Exit as partially failed installation
