Wacom is Lazy

taugust04
Valued Contributor

So we received complaints that Wacom Drivers were out of date in a lab that we had upgraded and not re-imaged. Tried pushing out the vendor provided .pkg of version 6.3.31-5 using Casper Remote until I could build a proper policy. Failed on all the workstations, with this lovely output:

A previous generation of the Wacom driver is currently installed on this system. To continue with installation, the outdated driver must be uninstalled. To uninstall, search for "Wacom Utility." Once in the utility, click "Remove" under the Tablet Software heading. Once uninstalled, close the Wacom utility and re-start driver installation.

Anyone else have an update strategy for Wacom Drivers? This seems to be a new development. I guess I have to build an uninstall script that simulates their GUI utility. Talk about enterprise management hostility to not provide a package installer that doesn't automatically deal with pre-installed versions of their own software! It's been a while since I've seen such a bad installer...

-Ted

20 REPLIES 20

carlo_anselmi
Contributor III

Hello, it recently happened once or twice to me too. I found there was already a different/wrong (or "cuncurrent") driver installed, not the 6.3.3x series one I have used the Wacom pkg to install 6.3.31-4 (and now 6.3.31-5) over the previous ones (both Sierra and High Sierra clients) excluding old Intuos3 still in use (they stay at v6.3.15-2/v6.3.15-3)
I am installing at login trigger
Hope it helps
Cheers
Carlo

erowan
New Contributor III

I do this before installation, depending on which drivers are already installed.

"/Applications/Pen Tablet.localized/Pen Tablet Utility.app/Contents/Resources/uninstall.pl" ; "/Applications/Wacom Tablet.localized/Wacom Tablet Utility.app/Contents/Resources/uninstall.pl" ;

taugust04
Valued Contributor

@carlo.anselmi , @erowan , thanks for your replies! I saw the uninstall.pl script in there, wasn't sure if it could be run cleanly without their using their utility, I'll give it a try!

mistacabbage
Contributor

This file does not exist after a clean install of Wacom Tablet 6.3.31-6.
/Applications/Wacom Tablet.localized/Wacom Tablet Utility.app/Contents/Resources/uninstall.pl

The preflight script for 6.3.31-6 package is below. Do I still need to figure out a way to uninstall any previous versions?

! /bin/bash

Remove old obsolete files

declare -a ObsoleteFiles=( "/Library/LaunchDaemons/com.wacom.TabletHelper.plist" "/Library/PrivilegedHelperTools/com.wacom.TabletHelper.app" "/Library/Internet Plug-Ins/WacomTabletPlugin.plugin" "/Library/PreferencePanes/Tablet.prefPane" "/Library/PreferencePanes/Wacom Tablet.prefPane" "/Library/PreferencePanes/Pen Tablet.prefPane" "/Library/StartupItems/Tablet/Tabet" "/Library/StartupItems/Tablet/TabetDriver.app" "/Library/StartupItems/Tablet/TabetDriverRelauncher" "/Library/StartupItems/Tablet/StartupParameters.plist" "/Library/StartupItems/Tablet/" "/Applications/Tablet.localized/RemoveTablet.app" "/Applications/Tablet.localized/.localized" "/Applications/Tablet.localized/.DS_Store" "/Library/Receipts/InstallConsumerTablet.pkg" "/Library/Receipts/InstallProTablet.pkg" "/Library/Receipts/InstallSemiproTablet.pkg" "/Library/Extensions/TabletDriver.kext" "/Library/Extensions/WacomTablet.kext" "/System/Library/Extensions/TabletDriver.kext" "/System/Library/Extensions/WacomTablet.kext" "/Library/Internet Plug-Ins/WacomSafari.plugin")

These are the directries we can wholesale delete

declare -a CurrentDirectoryList=("/Applications/WacomTablet" "/Library/Application Support/Tablet")

declare -a AppSupportList=("/Library/Application Support/Tablet/WacomTabletDriver.app")

declare -a ExtensionsList=("/Library/Extensions/FTDIKext.kext" "/Library/Extensions/SiLabsUSBDriver64.kext" "/Library/Extensions/Wacom Tablet.kext")

declare -a KextList=("com.Wacom.iokit.TabletDriver" "com.wacom.kext.wacomtablet" "com.apple.driver.AppleUSBFTDI" "com.wacom.kext.ftdi" "com.silabs.driver.CP210xVCPDriver64")

declare -a AgentList=("/Library/LaunchAgents/com.wacom.DataStoreMgr.plist" "/Library/LaunchAgents/com.wacom.wacomtablet.plist" "/Library/LaunchAgents/com.wacom.DisplayMgr.plist")

declare -a DaemonList=("/Library/LaunchDaemons/com.wacom.DisplayHelper.plist" "/Library/LaunchDaemons/com.wacom.UpdateHelper.plist" "/Library/LaunchDaemons/com.wacom.TabletHelper.plist")

declare -a ProgramList=("WacomTabletDriver" "WacomTouchDriver" "TabletDriver" "Wacom Tablet Utility" "Wacom Desktop Center" "System Preferences")

# First kill all the running Applications

for aProgram in "${ProgramList[@]}"
do PID=ps -ax | grep "$aProgram" | awk '{print $1}' if [ -n "$PID" ] then for aProcess in $(echo $PID | tr ";" " ") do echo "Killing $aProgram $aProcess" kill -9 "$aProcess" done fi
done
sleep 1

# Next shutdown the Agents

for anAgent in "${AgentList[@]}"
do echo "shutting down $anAgent" sudo -u $USER launchctl unload "$anAgent"
done
sleep 1

# Next shutdown the Daemons

for aDaemon in "${DaemonList[@]}"
do echo "shutting down $aDaemon" launchctl unload "$aDaemon"
done
sleep 1

# Now unload the Kexts

for aKext in "${KextList[@]}"
do echo unloading "$aKext" /sbin/kextunload -m "$aKext"
done

# Copy driver plist for analytics

if [ -e "/Library/Application Support/Tablet/" ]
then /usr/sbin/chown root:admin "/Library/Application Support/Tablet" /bin/chmod ug+w "/Library/Application Support/Tablet" /bin/cp "/Library/Application Support/Tablet/WacomTabletDriver.app/Contents/Info.plist" "/Library/Application Support/Tablet/com.wacom.installdata" /bin/chmod a+wx "/Library/Application Support/Tablet/com.wacom.installdata" if [ -e "/Library/Application Support/Tablet/License.rtf" ] then /bin/rm "/Library/Application Support/Tablet/License.rtf" fi
else /bin/mkdir "/Library/Application Support/Tablet" /usr/sbin/chown root:admin "/Library/Application Support/Tablet" /bin/chmod ug+w "/Library/Application Support/Tablet" /usr/bin/touch "/Library/Application Support/Tablet/com.wacom.installdata" /bin/chmod ug+w "/Library/Application Support/Tablet/com.wacom.installdata"
fi

# Clean up

for obsFile in "${ObsoleteFiles[@]}"
do echo deleting "$obsFile" if [ -e "$obsFile" ] then echo deleting "$obsFile" /bin/rm -r "$obsFile" fi
done

erowan
New Contributor III

Looks like uninstall.pl disappeared sometime after macOS driver 6.3.24-1. I suppose the manual uninstall instructions could be scripted:

https://www.wacom.com/en-us/support?guideTitle=How-do-I-uninstall-(manually)-and-re-install-the-Waco...

taugust04
Valued Contributor

I guess we're back to Wacom being lazy!

Here's the uninstall script I wrote. I'm not an expert so please test before using in your environment. I made a call the the Wacom uninstall scripts to run first if they are there...

#!/bin/sh

## Uninstall Wacom Tablet Drivers
## Updated 2018.11.10

"/Applications/Pen Tablet.localized/Pen Tablet Utility.app/Contents/Resources/uninstall.pl"
"/Applications/Wacom Tablet.localized/Wacom Tablet Utility.app/Contents/Resources/uninstall.pl"

launchctl unload /Library/LaunchAgents/com.wacom.DataStoreMgr.plist
launchctl unload /Library/LaunchAgents/com.wacom.wacomtablet.plist
launchctl unload /Library/LaunchDaemons/com.wacom.displayhelper.plist
launchctl unload /Library/LaunchDaemons/com.wacom.UpdateHelper.plist
launchctl unload /Library/LaunchAgents/com.wacom.pentablet.plist
launchctl unload /Library/LaunchDaemons/com.wacom.TabletHelper.plist

rm -Rf "/Applications/Wacom Tablet.localized"
rm -Rf "/Applications/Pen Tablet.localized"
rm -Rf "/Library/Application Support/Tablet"
rm -Rf "/Library/PreferencePanes/WacomTablet.prefpane"
rm -Rf "/Library/PreferencePanes/PenTablet.prefpane"
rm -Rf "/Library/Extensions/Wacom Tablet.kext"
rm -Rf "/Library/Extensions/Pen Tablet.kext"
rm -Rf "/Library/LaunchAgents/com.wacom.DataStoreMgr.plist"
rm -Rf "/Library/LaunchAgents/com.wacom.wacomtablet.plist"
rm -Rf "/Library/LaunchDaemons/com.wacom.displayhelper.plist"
rm -Rf "/Library/LaunchDaemons/com.wacom.UpdateHelper.plist"
rm -Rf "/Library/LaunchAgents/com.wacom.pentablet.plist"
rm -Rf "/Library/LaunchDaemons/com.wacom.TabletHelper.plist"
rm -Rf "/Library/PrivilegedHelperTools/com.wacom.TabletHelper.app"

pkgutil --forget com.wacom.pkg.WacomPenTabletDrivers
pkgutil --forget com.wacom.TabletInstaller

exit 0      ## Success
exit 1      ## Failure

I'm not sure why Wacom is making this difficult for its customers...

-Ted

techgeek
New Contributor III

I too got this issue. I have just been through with Wacom Support and emails going back and forth.

Finally got told the uninstall command to send out!

/Applications/Wacom Tablet.localized/Wacom Tablet Utility.app/Contents/MacOS/Wacom Tablet Utility --uninstall

For help (which includes a few additional commands), see:

/Applications/Wacom Tablet.localized/Wacom Tablet Utility.app/Contents/MacOS/Wacom Tablet Utility --help

Hope that makes it far easier for everyone else with having to uninstall Wacom driver before installing an updated version.

mconners
Valued Contributor

Hello @techgeek thank you for this. The commands you mentioned appear to launch an interface to manually uninstall. Do you know if there is a way to run the uninstall silently so there is no interface that appears?

techgeek
New Contributor III

@mconners Yep, just run as root. Sounds like you are running the command as non-root, so you’ll need to run with a sudo for this action. But I would suggest running as root, since that is what a Jamf policy would run as.

mconners
Valued Contributor

Thanks @techgeek I just attempted to run this as root using; sudo /Applications/Wacom Tablet.localized/Wacom Tablet Utility.app/Contents/MacOS/Wacom Tablet Utility --uninstall and we are still getting the uninstall window to open.

techgeek
New Contributor III

Hmmm try doing sudo -i first, so that it is actually running as root. Then try the uninstall command again.

apizz
Valued Contributor

I ran into this recently as well, but I was able to get the uninstall to happen entirely silent before then installing the new version.

Interestingly, Wacom changed the name and location of the utility to uninstall, so your mileage may vary depending on what you have installed now. Here's the script I wrote to address that:

Uninstall_Wacom_Drivers.sh

jmahlman
Valued Contributor

We did something similar when installing new Wacom tablets. We found that they didn't like having multiple ones installed at one time so we ran uninstall scripts every time a self service policy to install one was run.

Bamboo tablets:

#!/bin/sh
bambooApp="/Applications/Pen Tablet.localized/Pen Tablet Utility.app"

if [[ -e $bambooApp ]]; then
    echo "Bamboo app found, removing."
    /usr/bin/perl "$bambooApp/Contents/Resources/uninstall.pl"
else
    echo "Bamboo app not found, nothing to remove."
    exit 0
fi

And Cintiq:

#!/bin/sh
isApp="/Applications/Wacom Tablet.localized/Wacom Tablet Utility.app"

if [[ -e $isApp ]]; then
    echo "Intuos/Cintiq app found, removing."
    /usr/bin/perl "$isApp/Contents/Resources/uninstall.pl"
else
    echo "Intuos/Cintiq app not found, nothing to remove."
    exit 0
fi

Worked fine for us.

mconners
Valued Contributor

Hello @techgeek I wish I could say this worked silently, but even with the -i switch in place it still failed. I am going to reach out to Wacom to get their how to on this one. As the title of the discussion implies, Wacom is not helpful here.

techgeek
New Contributor III

Hi @mconners this is odd, as I can confirm it’s working fine for me as I did another round of testing today.

Which version of the Wacom driver have you got installed? Also which macOS version are you running?

I installed the latest driver (with no other Wacom drivers present) on a 10.13 Mac, and was able to --uninstall with no issue.

jhuls
Contributor III

@techgeek , my experience reflects @mconners on a 10.14.1 installation the other day where the Wacom driver was not already present and I installed the latest. My first thought is that it simply doesn't recognize the uninstall flag. There aren't any errors stating that though. It behaves the same whether you use the flag or not.

franton
Valued Contributor III

I got sick of the appearing/disappearing uninstallers from Wacom so I wrote this:

#!/bin/zsh

# Script to remove all Wacom drivers from a Mac before install of replacement
# Richard Purves - 25th September 2019

# Unload all LaunchAgents
find /Library/LaunchAgents -iname '*wacom*.plist' -maxdepth 1 -exec launchctl unload {} ;
find /Library/LaunchAgents -iname '*wacom*.plist' -maxdepth 1 -exec rm -rf {} ;

# Unload all LaunchDaemons
find /Library/LaunchDaemons -iname '*wacom*.plist' -maxdepth 1 -exec launchctl unload {} ;
find /Library/LaunchDaemons -iname '*wacom*.plist' -maxdepth 1 -exec rm -rf {} ;

# Kill any remaining processes from running
ps -ef | grep wacom | grep -v grep | grep -v installer | grep -v postinstall | awk '{print $2}' | xargs kill -9

# Remove all com.wacom directories from /Library/PrivilegedHelperTools
find /Library/PrivilegedHelperTools -iname '*wacom*.app' -maxdepth 1 -exec rm -rf {} ;

# Remove folders
find /Library/Frameworks -iname '*Wacom*.framework' -maxdepth 1 -exec rm -rf {} ;
find /Applications -iname '*Wacom*' -maxdepth 1 -exec rm -rf {} ;
find /Library/PreferencePanes -iname '*Wacom*.prefpane' -maxdepth 1 -exec rm -rf {} ;

rm -rf "/Library/Application Support/Tablet"/
rm -rf "/Library/Preferences/Tablet"/

exit

What about any Wacom apps in /Applications, or the pane in System Preferences....

Nevermind, I see it in Remove Folders....

dan_j
New Contributor

Sorry this is a year and a half later, but I just now ran into this problem when trying to set up an Intuos 4 hand-me-down. After I ran the tablet utility, it vanished but left everything else behind. So manual deletions it was. I got everything off my machine, but every time I tried to run Install Wacom Tablet, I got that same message.

Here's what I did: instead of launching the app itself, I specifically opened it with Installer. I actually did Quick Look and then clicked Open With Installer, though you might be able to get the same results with ctrl-click. That did it. I don't know why it worked, but it worked and everything is back to normal and I can use this creaky old tablet.

hth for future problems, which I'm sure there will be.