locked
V4 Print to File Metro Device App RRS feed

  • Question

  • Hi,

    We have developed a “print to file” V4 driver and we have a companion Metro app that uses that driver to create files from content shared with it. It also shares the resulting files with other apps in the Metro Eco-system.

    Currently the Metro app and the printer driver are separate but we could look to make our Metro app a Device App linked to the V4 driver. Obviously most of the guidance at the moment is on Metro device apps for V4 drivers that connect to physical devices. However there is less guidance on “print to file” drivers. The following questions occur:

    1. Can a Metro Device app use sharing contracts? We share data with the device app and share the resulting files with other apps.
    2. If I link to the device app can it submit jobs directly to the printer its associated with without showing the print dialog.
    3. How are Print to File V4 drivers going to be distributed. We don’t have a device to trigger the install and although we can put the Metro device app on the store we need to install XPSDRV filters and therefore need an inf file. How would we distribute the “inf” package to our customers.
    4. Are there any restrictions on the level of functionality that a Metro device app can have?
    Wednesday, May 30, 2012 8:38 PM

Answers

  • Hey demonblade,

    I don't have any information on policies for Metro style device apps that I can share. I think the best tactic here is to watch the Building Windows 8 blog and the Windows Store blog for now.

    I can answer a couple of your technical questions though:

    • There is no mechanism for any Metro style app to submit a print job without using the Metro style print dialog.
    • v4 print drivers of any kind can be distributed easily on Windows Update or from your website. For a print to file printer, I'd recommend building an INF based package and then including that in an MSI or setup.exe on your website. To add a queue, you'll want to call three APIs UploadPrinterDriverPackage, InstallPrinterDriverFromPackage and then finally AddPrinter to create the queue.
    • To get device metadata binding, you'll want to make sure that the first hardware ID for the model line you install (or the first one with the same driver name if there are multiple lines with the same driver name) is listed in your device metadata. If you use a bus enumerator like USBPrint, we recommend you also include the version of the HWID that does not include any bus enumerators in the device metadata.

    Thanks!

    Justin

    Wednesday, May 30, 2012 11:58 PM

All replies

  • Hey demonblade,

    I don't have any information on policies for Metro style device apps that I can share. I think the best tactic here is to watch the Building Windows 8 blog and the Windows Store blog for now.

    I can answer a couple of your technical questions though:

    • There is no mechanism for any Metro style app to submit a print job without using the Metro style print dialog.
    • v4 print drivers of any kind can be distributed easily on Windows Update or from your website. For a print to file printer, I'd recommend building an INF based package and then including that in an MSI or setup.exe on your website. To add a queue, you'll want to call three APIs UploadPrinterDriverPackage, InstallPrinterDriverFromPackage and then finally AddPrinter to create the queue.
    • To get device metadata binding, you'll want to make sure that the first hardware ID for the model line you install (or the first one with the same driver name if there are multiple lines with the same driver name) is listed in your device metadata. If you use a bus enumerator like USBPrint, we recommend you also include the version of the HWID that does not include any bus enumerators in the device metadata.

    Thanks!

    Justin

    Wednesday, May 30, 2012 11:58 PM
  • Hi Justin,

    Thanks for the feedback. I really appreciate the support you giving us. A couple more questions though J

    1. On ARM we wouldn’t have the opportunity to create a setup application and run it? I’m guessing as all apps are distributed via the store the capability to create a MSI wouldn’t be possible? It’s not a problem at the moment as we are targeting the X86 and X64 platforms at the moment.
    2. Can companies developing "Print to File" type drivers get them onto Windows Update? I assumed that this would only be possible for in-box drivers connecting to physical devices?
    Thursday, May 31, 2012 10:50 AM
  • Hi demonblade,

    Please see this blog post for information about ARM. http://blogs.msdn.com/b/b8/archive/2012/02/09/building-windows-for-the-arm-processor-architecture.aspx We only support print class drivers and connections to v4 print queues on ARM. So the only route for you to load a driver onto an ARM client would be by sharing, which probably doesn't make sense given the print to file scenarios.

    As far as I'm aware, any print driver that can pass the Windows HCK tests can be published to Windows Update. You should find all the relevant policies and agreements for review via the Windows HCK and the partner portal.

    Thanks!

    Justin

    Thursday, May 31, 2012 4:57 PM
  • Hi Justin,

    Thanks for the feedback, I'll take a look at the "Windows Update" route.

    Kind Regards,

    Eric (demonblade).

    Monday, June 4, 2012 2:02 PM