Create virtual printer using Print Support App (PSA)

Yuriy Seniuk 5 Reputation points
2025-03-03T19:30:25.82+00:00

Hello .net community,

I'm trying to create a UWP PSA application following the https://learn.microsoft.com/en-us/windows-hardware/drivers/devapps/print-support-app-v4-design-guide guide. However when I deploy an app locally, the virtual printer is not created. The app does not have aany, just configuration file with dummy background tasks.

Am I correctly understood the manual, that PSA v4 is able to act as virtual printer, without need to develop any printer driver, and virtual printer should be created automatically after installing such PSA app?

  <?xml version="1.0" encoding="utf-8"?>
<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
  xmlns:uaap10="http://schemas.microsoft.com/appx/manifest/uap/windows/10/10"
  xmlns:uaap11="http://schemas.microsoft.com/appx/manifest/uap/windows/10/11"
  xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
  xmlns:printsupport="http://schemas.microsoft.com/appx/manifest/printsupport/windows10"
  xmlns:printsupport2="http://schemas.microsoft.com/appx/manifest/printsupport/windows10/2"
  xmlns:uap18="http://schemas.microsoft.com/appx/manifest/uap/windows10/18"
  IgnorableNamespaces="uap mp uap18 printsupport2">
	<Identity
	  Name="b2c35fc8-488c-405c-a826-8b9326de66ee"
	  Publisher="CN=yseniuk"
	  Version="1.0.5.0" />
	<mp:PhoneIdentity PhoneProductId="b2c35fc8-488c-405c-a826-8b9326de66ee" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
	<Properties>
		<DisplayName>AbcVirtualPrinter</DisplayName>
		<PublisherDisplayName>Abc</PublisherDisplayName>
		<Logo>Assets\StoreLogo.png</Logo>
	</Properties>
	<Dependencies>
		<TargetDeviceFamily Name="Windows.Universal"
							MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
	</Dependencies>
	<Resources>
		<Resource Language="x-generate"/>
	</Resources>
	<Applications>
		<Application Id="App"
		  Executable="$targetnametoken$.exe"
		  EntryPoint="AbcVirtualPrinter.App"
		  desktop4:SupportsMultipleInstances="true" uap18:RuntimeBehavior="windowsApp">
			<uap:VisualElements
			  DisplayName="AbcVirtualPrinter"
			  Square150x150Logo="Assets\Square150x150Logo.png"
			  Square44x44Logo="Assets\Square44x44Logo.png"
			  Description="AbcVirtualPrinter"
			  BackgroundColor="transparent">
				<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/>
				<uap:SplashScreen Image="Assets\SplashScreen.png" />
			</uap:VisualElements>
			<Extensions>
				<printsupport2:Extension Category="windows.printSupportVirtualPrinterWorkflow"
										 EntryPoint="AbcVirtualPrinter.VirtualPrinterBackgroundTask">
					<printsupport2:PrintSupportVirtualPrinter
						DisplayName="AbcVirtualPrinter"
						PrinterUri="Abc-print:AbcVirtualPrinter"
						PreferredInputFormat="application/postscript"
						OutputFileTypes="ps;pdf"
						PdcFile="Config\Abc_PDC.xml" >
						<printsupport2:SupportedFormats>
							<printsupport2:SupportedFormat Type="application/postscript" />
							<printsupport2:SupportedFormat Type="application/pdf" MaxVersion="1.7" />
						</printsupport2:SupportedFormats>
					</printsupport2:PrintSupportVirtualPrinter>
				</printsupport2:Extension>
				<printsupport:Extension Category="windows.printSupportExtension" EntryPoint="AbcVirtualPrinter.PrintSupportExtensionBackGroundTask"/>
				<printsupport:Extension Category="windows.printSupportSettingsUI" EntryPoint="AbcVirtualPrinter.App"/>
				<printsupport:Extension Category="windows.printSupportJobUI" EntryPoint="AbcVirtualPrinter.App"/>
			</Extensions>
		</Application>
	</Applications>
	<Capabilities>
		<Capability Name="internetClient" />
	</Capabilities>
</Package>

Universal Windows Platform (UWP)
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.