Print spooler files are deleted unexpectedly before an application finishes using them in Windows 8 and Windows Server 2012

Applies to: Windows 8Windows 8 EnterpriseWindows 8 Pro More


An application that is running on Windows 8 or Windows Server 2012 and that uses the StartDocPrinter API may encounter a problem in which the spooler deletes and re-creates the file that is specified in the pOutputFile pointer. This may be problematic for applications that create the pOutputFile code element before the code calls StartDocPrinter and that rely on the file existing and being consistent.


This problem occurs in Windows 8 and Windows Server 2012 because the spooler opens pOutputFile by using the FILE_FLAG_DELETE_ON_CLOSE flag.


This hotfix is also available at Microsoft Update Catalog.

To resolve this problem, install this hotfix. This hotfix changes the spooler not to delete the file if pOutputFile already exists.

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, go to the following Microsoft website: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.


To apply this hotfix, you must be running Windows 8 or Windows Server 2012.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any previously released hotfix.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.