locked
WSD Discovery in Metro Style apps

Answers

  • Windows.Devices.Enumeration enumerates devices that are already connected to Windows, it does not do network discovery of unconfigured devices. Metro style device apps don't have access to any APIs that actually install devices, so discovering them is of very limited value today.

    If you're trying to mitigate difficulty in device discovery, please consider that for customers running Windows 8 at home, if they opt in to file sharing and connecting to devices, Windows will automatically install WSD printers and some UPnP devices.

    Hope this helps!

    Monday, July 23, 2012 5:50 PM
  • If a device is shown in the Devices and Printers folder, then it is associated/installed. WS-Discovery is typically used to find devices which have not been associated with Windows yet. While its technically feasible to discover them on your own, it is not possible to create a print queue or install a device from a Metro style app.

    This isn't a scenario that we designed the Metro style app model for, and we'd recommend that you not invest in doing your own network discovery stack.

    Thanks

    Justin

    Thursday, July 26, 2012 4:39 PM
  • No you cannot.
    Tuesday, July 31, 2012 4:55 PM

All replies

  • Moving to the Hardware forum for insight from Eric.


    David Lamb

    Monday, July 16, 2012 10:16 PM
    Moderator
  • Can this be done?

    Wednesday, July 18, 2012 12:55 PM
  • Windows.Devices.Enumeration enumerates devices that are already connected to Windows, it does not do network discovery of unconfigured devices. Metro style device apps don't have access to any APIs that actually install devices, so discovering them is of very limited value today.

    If you're trying to mitigate difficulty in device discovery, please consider that for customers running Windows 8 at home, if they opt in to file sharing and connecting to devices, Windows will automatically install WSD printers and some UPnP devices.

    Hope this helps!

    Monday, July 23, 2012 5:50 PM
  • Thank you Justin. I have already posted another thread under the subject "Multicast in Metro style apps" which is related to WSD discovery using datagram sockt. My point is I am able to detect WSD devices in network. But the thing is the service "Function Discovery Resource Publication" needs to be stopped since the service is using the port 3702(WSD). And I also came to know from another post that "Port Reuse" is intentionally left out of Metro apps. Any work arounds? Or is it that WSD - discovery is not adivised this way in Metro apps?
    Tuesday, July 24, 2012 3:38 AM
  • This isn't a scenario we support. In general, if you have to stop a system service to do something, then it wasn't something we ever intended to be done.

    It would be good to understand what user scenario you are trying to build. At the very least, I'd be able to tell you whether this is something we expect Metro style apps to be capable of doing or not.

    Thanks!

    Justin

    Tuesday, July 24, 2012 8:07 PM
  • What we are trying to accomplish is doing WSD - discovery. We have some WSD-supporting devices connected in network and we need to detect and get these devices from a metro app. Since this is not directly supported in Metro app we went the DataGramSocket way and found the above scenario. I heard from teh tech forum that you do not permit unassociated network  devices enumeration from metro app. May I also know what is meant by unassociated devices?
    Thursday, July 26, 2012 8:01 AM
  • If a device is shown in the Devices and Printers folder, then it is associated/installed. WS-Discovery is typically used to find devices which have not been associated with Windows yet. While its technically feasible to discover them on your own, it is not possible to create a print queue or install a device from a Metro style app.

    This isn't a scenario that we designed the Metro style app model for, and we'd recommend that you not invest in doing your own network discovery stack.

    Thanks

    Justin

    Thursday, July 26, 2012 4:39 PM
  • Justin, thanks for your reply. I need to get network connected printers from my metro app. This is like what happens when a user clicks the Add Printer dialog in Win8 and Windows lists all the printers connected in the network. Can I implement such a functionality in Metro app?
    Tuesday, July 31, 2012 12:48 PM
  • No you cannot.
    Tuesday, July 31, 2012 4:55 PM