For reasons unknown, a great many of the (Windows XP SP3) computers I manage have recently started creating a new pseudoprinter object, called Microsoft XPS Document Writer, seemingly out of nowhere.
This is a problem, because for some users (created through Dynamic Local User via ZENworks) the XPS document writer is being set as the default printer!
When I made the image for these machines, I made sure to delete this pseudoprinter object from the Printers and Faxes area. I would first like to know what is causing it to be recreated recently, over a year later.
I found a tool for removing the pseudoprinter object, its driver, and some other associated things. The trouble is, it's a GUI-only application, and requires user interaction.
I would love a utility like this that just deletes the pseudoprinter object, driver, etc., without user interaction, so it can be run from the login script.
Failing that, I need to know exactly how to manually perform each of the steps that the XPS Removal Tool performs, and then script them. Ugh!
Any help would be greatly appreciated!
If I read things correctly the original version of XPS Document Writer and related components for Windows XP shipped as part of .NET Framework 3.0, see for example Viewing and creating XPS documents. Consequently I suppose the reason why these components do appear on those systems to be an explicit or implicit installation of .NET Framework 3.0, e.g. triggered by another software which depends on it.
Presumably this installation is based on Windows Installer under the hood, which features proper uninstall functionality for system administrators by design, even in the absence of an explicit Add/Remove Program entry for end users, see Standard Installer Command-Line Options (also shown if executing
msiexec /?
on a command line), for example:Consequently there are some constraints though:
ProductCode
of the package as recorded in the system wide Windows Installer database.This is where things get tricky (and potentially dangerous) regarding your example, because you'll need to find either one of these on your system:
The
Windows Installer
cache is usually located inC:\Windows\Installer
, the Windows Installer product codes are registered underHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
. Obviously you'll first need some term to look for (e.g. 'XPS') and for every find you should definitely verify whether it actually denotes the package you are looking for, else you might end up accidentally removing important stuff.Alternative approach:
Apparently the Microsoft XML Paper Specification Essentials Pack is an update to those bits delivered via .NET Framework 3.0 (see this article). Given this is an official Windows installer package, the uninstallation as outlined above should definitely work. I peaked into the package via
Orca
, and not surprisingly it seems to include custom actions for uninstalling older components if present. Consequently you may be able to install this package first, implying removal of the bits installed via the .NET Framework, and immediately uninstall it again thereafter to get rid of XPS functionality entirely:It definitely seems odd to install more stuff first, and it might or might not work, but in the end it may be simpler and hence worth a try.
Run this as a startup script
Here's an idea for you. If you use Symantec Ghost, you could always create an AI install for it. If you're not familiar with the process, it takes an image of the computer, you run the install or script, it takes another image, then creates an executable that does all the changes. The only time it gets weird is if there's a reboot required in the middle, otherwise it works great.
if you email the guys that made the tool they have a command line tool too
Here's an article that discusses how to remove the XPS Document Writer by adding a few lines to the user login script.
Essentially you just at -
Once you confirm that all users have logged in and executed the above commands you can remove the lines from the login script.
Here is a link to the complete article -
For SysAds: Removing "XPS Document Writer" by Greg Martin
I don't see the problem now. You have the command to delete the XPS printer in the loginscript. If the object is there, the script will delete it, if not it will exit. Job done, surely?
Bizarely I am fighting to install this critter cleanly, but that's another story.
Mike