Discussion:
pnpx versus DPWS
(too old to reply)
guillaume Pelletier
2007-07-17 21:22:03 UTC
Permalink
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello, bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.

Many Thanks

Guillaume
Ben McGregor
2007-07-18 23:56:44 UTC
Permalink
Guillaume,

Thank you for your post.

For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.

If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.

Latest SDK:
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en

Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello, bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
guillaume Pelletier
2007-07-19 07:32:15 UTC
Permalink
Ben,
Many thanks for this very clear answer. The links you provide with samples
will be very usefull. If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards

Guillaume Pelletier
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello, bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Domnic
2007-07-20 15:04:03 UTC
Permalink
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.

@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.

thanks Domnic



@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.

thanks Domnic
guillaume Pelletier
2007-07-20 18:08:01 UTC
Permalink
Hi,
I developped a full dpws stack (discovery,addressing,eventing,...) in
managed code (C#) running over XP CE5 and 6 and also in Micro Framework (this
all with the support of microsoft both in france and US for the MF and Also
Digi ).
I made a working prototype for home automation discovering, and controlling
more than 150 device in a real home (using Legrand devices), running under
Compact framework 2.0. This prototype is fully functional and in demo in
Paris Microsoft tech center.
Next step is a demo for energy meetering running since this week under Micro
framework (for instance i had to develop a file system, an xml package, http,
ftp and soap server..), monitoring some energy sensor from modbus and ZigBee.

my company home page is www.dotvision.com but you can also visit my blog
(minimalist actually ) as www.deviceprofil.com where you will find a white
paper about DPWS.

you can either contact me by direct e-mail to
***@dotvision.com
or ***@deviceprofil.com

regards
Post by Domnic
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.
@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.
thanks Domnic
@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.
thanks Domnic
Ben McGregor
2007-07-23 21:29:46 UTC
Permalink
Just for clarity. When you say "Can I implement DPWS on XP", are you asking
if there's a Web Services on Devices (WSD) stack on XP/CE that can discover
DPWS devices (client), or are you asking if software on XP/CE can be run to
act like a DPWS device (host)?

First of all, XP doesn't have the Microsoft WSD stack, so it would only
support it if you installed someone else's stack (or your own). This is
applicable to both host and client support.

Windows CE 6.0 Release 2 contains the Microsoft WSD stack for both hosts and
clients. However, this version of CE is not publically released yet.
Currently the only shipping Microsoft WSD stack is on Windows Vista.

To start developing for WSD on Vista, you just need to install the SDK. For
Windows CE you should just need to install the CE SDK as well.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Domnic
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.
@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.
thanks Domnic
@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.
thanks Domnic
Derek R. Flickinger
2007-07-24 12:00:29 UTC
Permalink
Ben,

We have a big need to incorporate WSD on CE for a project. We have not seen
any notices for a Beta on Release 2 yet. Do you know if a Beta program has
started yet so we can start getting our arms around it? Any pointers also
would be appreciated. Thanks.

Regards,

=D-

Derek R. Flickinger
Interactive Homes, Inc.
Post by Ben McGregor
Just for clarity. When you say "Can I implement DPWS on XP", are you
asking if there's a Web Services on Devices (WSD) stack on XP/CE that can
discover DPWS devices (client), or are you asking if software on XP/CE can
be run to act like a DPWS device (host)?
First of all, XP doesn't have the Microsoft WSD stack, so it would only
support it if you installed someone else's stack (or your own). This is
applicable to both host and client support.
Windows CE 6.0 Release 2 contains the Microsoft WSD stack for both hosts
and clients. However, this version of CE is not publically released yet.
Currently the only shipping Microsoft WSD stack is on Windows Vista.
To start developing for WSD on Vista, you just need to install the SDK.
For Windows CE you should just need to install the CE SDK as well.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Domnic
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.
@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.
thanks Domnic
@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.
thanks Domnic
Ben McGregor
2007-07-24 19:45:01 UTC
Permalink
I'm talking with the CE team right now to see what information is publically
available at this point. One thing for is for sure, at MEDC the CE team
publically shared that WSDAPI was coming to Windows CE 6.0 R2. Aside from
that, I'm waiting to see what else I can release. I'm not on the CE team
myself, so I'm waiting to hear back from them.

Thank you for your patience.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Derek R. Flickinger
Ben,
We have a big need to incorporate WSD on CE for a project. We have not
seen any notices for a Beta on Release 2 yet. Do you know if a Beta
program has started yet so we can start getting our arms around it? Any
pointers also would be appreciated. Thanks.
Regards,
=D-
Derek R. Flickinger
Interactive Homes, Inc.
Post by Ben McGregor
Just for clarity. When you say "Can I implement DPWS on XP", are you
asking if there's a Web Services on Devices (WSD) stack on XP/CE that can
discover DPWS devices (client), or are you asking if software on XP/CE
can be run to act like a DPWS device (host)?
First of all, XP doesn't have the Microsoft WSD stack, so it would only
support it if you installed someone else's stack (or your own). This is
applicable to both host and client support.
Windows CE 6.0 Release 2 contains the Microsoft WSD stack for both hosts
and clients. However, this version of CE is not publically released yet.
Currently the only shipping Microsoft WSD stack is on Windows Vista.
To start developing for WSD on Vista, you just need to install the SDK.
For Windows CE you should just need to install the CE SDK as well.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Domnic
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.
@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.
thanks Domnic
@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.
thanks Domnic
Derek R. Flickinger
2007-07-25 12:53:41 UTC
Permalink
Thanks.

=D-
Post by Ben McGregor
I'm talking with the CE team right now to see what information is
publically available at this point. One thing for is for sure, at MEDC the
CE team publically shared that WSDAPI was coming to Windows CE 6.0 R2.
Aside from that, I'm waiting to see what else I can release. I'm not on
the CE team myself, so I'm waiting to hear back from them.
Thank you for your patience.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Derek R. Flickinger
Ben,
We have a big need to incorporate WSD on CE for a project. We have not
seen any notices for a Beta on Release 2 yet. Do you know if a Beta
program has started yet so we can start getting our arms around it? Any
pointers also would be appreciated. Thanks.
Regards,
=D-
Derek R. Flickinger
Interactive Homes, Inc.
Post by Ben McGregor
Just for clarity. When you say "Can I implement DPWS on XP", are you
asking if there's a Web Services on Devices (WSD) stack on XP/CE that
can discover DPWS devices (client), or are you asking if software on
XP/CE can be run to act like a DPWS device (host)?
First of all, XP doesn't have the Microsoft WSD stack, so it would only
support it if you installed someone else's stack (or your own). This is
applicable to both host and client support.
Windows CE 6.0 Release 2 contains the Microsoft WSD stack for both hosts
and clients. However, this version of CE is not publically released yet.
Currently the only shipping Microsoft WSD stack is on Windows Vista.
To start developing for WSD on Vista, you just need to install the SDK.
For Windows CE you should just need to install the CE SDK as well.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Domnic
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.
@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.
thanks Domnic
@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.
thanks Domnic
Ben McGregor
2007-07-25 21:02:21 UTC
Permalink
Ok unfortunately they don't have more information to release at this point
in time. I'm sorry.

This following press release is the only thing they will allow me to share.

"Marking gave the approval for the following message:
The Microsoft Web Service on Devices API (WSDAPI) is an implementation of
the Devices Profile for Web Services (DPWS). The DPWS model allows a client
to discover and access a remote device and its associated services across a
network. Microsoft’s WSDAPI stack is supported on Windows Vista, Windows
Server 2008, and will be available in the next release of Windows CE
(Windows Embedded CE 6.0 R2)."
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Derek R. Flickinger
Thanks.
=D-
Post by Ben McGregor
I'm talking with the CE team right now to see what information is
publically available at this point. One thing for is for sure, at MEDC
the CE team publically shared that WSDAPI was coming to Windows CE 6.0
R2. Aside from that, I'm waiting to see what else I can release. I'm not
on the CE team myself, so I'm waiting to hear back from them.
Thank you for your patience.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Derek R. Flickinger
Ben,
We have a big need to incorporate WSD on CE for a project. We have not
seen any notices for a Beta on Release 2 yet. Do you know if a Beta
program has started yet so we can start getting our arms around it? Any
pointers also would be appreciated. Thanks.
Regards,
=D-
Derek R. Flickinger
Interactive Homes, Inc.
Post by Ben McGregor
Just for clarity. When you say "Can I implement DPWS on XP", are you
asking if there's a Web Services on Devices (WSD) stack on XP/CE that
can discover DPWS devices (client), or are you asking if software on
XP/CE can be run to act like a DPWS device (host)?
First of all, XP doesn't have the Microsoft WSD stack, so it would only
support it if you installed someone else's stack (or your own). This
is applicable to both host and client support.
Windows CE 6.0 Release 2 contains the Microsoft WSD stack for both
hosts and clients. However, this version of CE is not publically
released yet. Currently the only shipping Microsoft WSD stack is on
Windows Vista.
To start developing for WSD on Vista, you just need to install the SDK.
For Windows CE you should just need to install the CE SDK as well.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Domnic
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.
@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.
thanks Domnic
@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.
thanks Domnic
guillaume Pelletier
2007-08-01 14:04:01 UTC
Permalink
Dereck,
As i said in my previous post, we had develop a entire dpws stack running CE
5&6 and also Micro Framework.
If interested, you can contact us by e-mail at
***@dotvision.com or ***@dotvision.com.
We are open mind on any collaboration way.
Regards
G.Pelletier
Post by Derek R. Flickinger
Ben,
We have a big need to incorporate WSD on CE for a project. We have not seen
any notices for a Beta on Release 2 yet. Do you know if a Beta program has
started yet so we can start getting our arms around it? Any pointers also
would be appreciated. Thanks.
Regards,
=D-
Derek R. Flickinger
Interactive Homes, Inc.
Post by Ben McGregor
Just for clarity. When you say "Can I implement DPWS on XP", are you
asking if there's a Web Services on Devices (WSD) stack on XP/CE that can
discover DPWS devices (client), or are you asking if software on XP/CE can
be run to act like a DPWS device (host)?
First of all, XP doesn't have the Microsoft WSD stack, so it would only
support it if you installed someone else's stack (or your own). This is
applicable to both host and client support.
Windows CE 6.0 Release 2 contains the Microsoft WSD stack for both hosts
and clients. However, this version of CE is not publically released yet.
Currently the only shipping Microsoft WSD stack is on Windows Vista.
To start developing for WSD on Vista, you just need to install the SDK.
For Windows CE you should just need to install the CE SDK as well.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by Domnic
Hi Guys,
I am involved in doing some work related to DPWS and I am collecting some
data abt it.
@ Guillaume,
Post by guillaume Pelletier
If you 're interested by monitoring the progress, i can
keep you inform if you wish.
Best Regards
Guillaume Pelletier
I would be very much interested.. can you please point me to some links or
any updates you would blog. Could you please explain me if you had done the
DPWS stack on which platforms / languages ?.
thanks Domnic
@ Ben,
Can I implement DPWS on Win XP ?. what would I need to install or what do I
use to develop on ?. Is there any thing similar for Win CE..?.
thanks Domnic
Shanky
2009-07-08 17:23:01 UTC
Permalink
HI,

We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.

However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.

However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.

Please respond.



Thanks and Regards

Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello, bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Vidager
2009-07-08 20:05:01 UTC
Permalink
Hi Shanky,

To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).

To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.

If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...

If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.

The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.

Hope this helps. Let me know if you have other questions.

Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello, bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Shanky
2009-07-09 16:25:01 UTC
Permalink
Ben,
Thanks a lot for this response. You guys are doing great service in
responding so quickly and with so much detail.

Your response answered my question.
I am sorry, but I have few more questions. I request you to answer these.

1. I agree that we cannot block Install option on Vista or Windows 7 for
devices
discovered using PNP-X.
But, my device is a printer device and I do have a Printer Driver Media for
the device. However, my Printer Device only Implements DPWS Discovery and
Meta Data Protocols that are needed to make my device discoverable through
PNP-X.

However, I don't want to implement WS-PRINT Protocol on my Device.

Now my question is that if my printer device is discovered through PNP-X and
if user clicks on "Install" option, will Vista or Windows 7 needs WS-PRINT
protocol
support on the device to continue with installation of the Printer Driver?

Will Vista or Windows 7 be able to Install the Driver without WS-PRINT
support on the device and let the user print using these installed drivers
through LPR port or something similar?

2. The INF file that I need to supply on my Vista Machine or Windows 7
Machine:
Can this INF file be handwritten or I have to build THERMOSTAT from Samples
folder to get the INF File?

3.What is the advantage that I get if I sign up for Windows Rally License?
Will this sign up help me in getting the Certification scripts or it wll
help me in submitting the Code For certification?

4.One of my other Printer Devices has DPWS + WS- PRINT.
When I do F5 in Network and Devices folder, my Printer device is getting
discovered and when I right Click, it is giving me "Install" option.
If I proceed to Install, it will install the Driver through WSD Port (Using
WS-Print Protocol).
So, how is this discovery different than PNP-X discovery?
Here I don't have INF file supplied and yet I am getting the INSTALL option.


Sorry to bother you with so many quetsions.

Thanks and Regards
Sankarshana M
Post by Vidager
Hi Shanky,
To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).
To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.
If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...
If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.
The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.
Hope this helps. Let me know if you have other questions.
Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello, bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Vidager
2009-07-09 19:02:01 UTC
Permalink
Hi Sankarshana,

1. No, Windows will not block your device from installing if it doesn't
support WS-PRINT protocol. Today, PnP-X is really just a mechanism to give
your network device PnP presence, allowing your device to gain the benefits
of PnP (software installation, presence management, property storage,
unifiied db for clients to query, and in Win7 the D&P experience).

PnP-X only cares that DPWS or UPnP is implemented correctly with the
required additional PnP-X properties. When the user clicks install, PnP-X
simply enumerates devnodes in PnP for each service you expose on your device
(with a root devnode representing the device host--in DPWS). The devnode
enumerated for the root device host always loads an inbox driver package,
then each devnode enumerated for the services you expose needs a driver
package that you provide. Each devnode could match the same driver package,
or different packages, it's up to you. If you just expose one service, then
obviously you'd only need one driver package for sure.


2. Most certanly you can handwrite your INF file. In fact I don't think we
currently have any tools to help write one. However, the purpose of the
sample is to help build/write things correctly. One piece of that sample
shows how to create an INF file and do a couple different operations in it.
For example, the simple thermostat INF file shows how to create an INF that
supports x86 and x64, Vista + Win7, shows how to use the inbox umpass.sys (do
nothing) driver, copy some user-mode software for the device and register it
with COM (in this case the "driver" is just a com object that talks to the
simple thermostat device via WSD or UPnP). You should take a look and
understand the sample, then create your personalized INF file to do whatever
you need it to. If you let me know your email, I can email you the latest
Win7 SimpleThermostat sample since it hasn't been released publically yet.

3. I'm going to direct some of my coworkers to come reply to this thread to
answer your logo questions, as I'm not an expert on the logos. Sorry.

4. Driver packages (INF file plus other software you want installed for your
device) are only searched for when devnodes are enumerated in PnP. The act
of a user installing a PnP-X device is what actually creates the devnode in
PnP and then triggers Windows to find a matching driver package for that
devnode. Your device showing up in NetXP tells you that it's being
discovered by the PnP-X system, and having the "Install" option tells you
that PnP-X sees enough metadata in the device to allow it to install in PnP.
Again, after install is clicked, the devnode will be created and PnP
installation will start. I encourage you to look at the readme.htm file in
the SimpleThermostat sample when I sent it to you. It will probably clarify
some things in how the PnP-X scenarios work. It has a flow chart with
numbered lines that explain everything step-by-step.

Thanks,
Ben McGregor [MSFT]
Post by Shanky
Ben,
Thanks a lot for this response. You guys are doing great service in
responding so quickly and with so much detail.
Your response answered my question.
I am sorry, but I have few more questions. I request you to answer these.
1. I agree that we cannot block Install option on Vista or Windows 7 for
devices
discovered using PNP-X.
But, my device is a printer device and I do have a Printer Driver Media for
the device. However, my Printer Device only Implements DPWS Discovery and
Meta Data Protocols that are needed to make my device discoverable through
PNP-X.
However, I don't want to implement WS-PRINT Protocol on my Device.
Now my question is that if my printer device is discovered through PNP-X and
if user clicks on "Install" option, will Vista or Windows 7 needs WS-PRINT
protocol
support on the device to continue with installation of the Printer Driver?
Will Vista or Windows 7 be able to Install the Driver without WS-PRINT
support on the device and let the user print using these installed drivers
through LPR port or something similar?
2. The INF file that I need to supply on my Vista Machine or Windows 7
Can this INF file be handwritten or I have to build THERMOSTAT from Samples
folder to get the INF File?
3.What is the advantage that I get if I sign up for Windows Rally License?
Will this sign up help me in getting the Certification scripts or it wll
help me in submitting the Code For certification?
4.One of my other Printer Devices has DPWS + WS- PRINT.
When I do F5 in Network and Devices folder, my Printer device is getting
discovered and when I right Click, it is giving me "Install" option.
If I proceed to Install, it will install the Driver through WSD Port (Using
WS-Print Protocol).
So, how is this discovery different than PNP-X discovery?
Here I don't have INF file supplied and yet I am getting the INSTALL option.
Sorry to bother you with so many quetsions.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Shanky,
To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).
To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.
If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...
If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.
The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.
Hope this helps. Let me know if you have other questions.
Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello, bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this
stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Shanky
2009-07-13 04:45:01 UTC
Permalink
Ben,
Again, thanks a lot for clarifying a lot of my doubts.It would be great if
you can send the latest Sample to san_madhav at hotmail.com.
For the fourth question below, when we click on "Install", I can see that
WS-Print messages such as "GetPrinterElements" etc are getting exchanged. I
wonder why this is. According to your description for Question 1, PNP-X does
not care about WS-Print availability. So, during installation, exchange of
WS-Print specific messages should not occur.

And request you to get the Windows Rally Licensing Question answered through
your collegues.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Sankarshana,
1. No, Windows will not block your device from installing if it doesn't
support WS-PRINT protocol. Today, PnP-X is really just a mechanism to give
your network device PnP presence, allowing your device to gain the benefits
of PnP (software installation, presence management, property storage,
unifiied db for clients to query, and in Win7 the D&P experience).
PnP-X only cares that DPWS or UPnP is implemented correctly with the
required additional PnP-X properties. When the user clicks install, PnP-X
simply enumerates devnodes in PnP for each service you expose on your device
(with a root devnode representing the device host--in DPWS). The devnode
enumerated for the root device host always loads an inbox driver package,
then each devnode enumerated for the services you expose needs a driver
package that you provide. Each devnode could match the same driver package,
or different packages, it's up to you. If you just expose one service, then
obviously you'd only need one driver package for sure.
2. Most certanly you can handwrite your INF file. In fact I don't think we
currently have any tools to help write one. However, the purpose of the
sample is to help build/write things correctly. One piece of that sample
shows how to create an INF file and do a couple different operations in it.
For example, the simple thermostat INF file shows how to create an INF that
supports x86 and x64, Vista + Win7, shows how to use the inbox umpass.sys (do
nothing) driver, copy some user-mode software for the device and register it
with COM (in this case the "driver" is just a com object that talks to the
simple thermostat device via WSD or UPnP). You should take a look and
understand the sample, then create your personalized INF file to do whatever
you need it to. If you let me know your email, I can email you the latest
Win7 SimpleThermostat sample since it hasn't been released publically yet.
3. I'm going to direct some of my coworkers to come reply to this thread to
answer your logo questions, as I'm not an expert on the logos. Sorry.
4. Driver packages (INF file plus other software you want installed for your
device) are only searched for when devnodes are enumerated in PnP. The act
of a user installing a PnP-X device is what actually creates the devnode in
PnP and then triggers Windows to find a matching driver package for that
devnode. Your device showing up in NetXP tells you that it's being
discovered by the PnP-X system, and having the "Install" option tells you
that PnP-X sees enough metadata in the device to allow it to install in PnP.
Again, after install is clicked, the devnode will be created and PnP
installation will start. I encourage you to look at the readme.htm file in
the SimpleThermostat sample when I sent it to you. It will probably clarify
some things in how the PnP-X scenarios work. It has a flow chart with
numbered lines that explain everything step-by-step.
Thanks,
Ben McGregor [MSFT]
Post by Shanky
Ben,
Thanks a lot for this response. You guys are doing great service in
responding so quickly and with so much detail.
Your response answered my question.
I am sorry, but I have few more questions. I request you to answer these.
1. I agree that we cannot block Install option on Vista or Windows 7 for
devices
discovered using PNP-X.
But, my device is a printer device and I do have a Printer Driver Media for
the device. However, my Printer Device only Implements DPWS Discovery and
Meta Data Protocols that are needed to make my device discoverable through
PNP-X.
However, I don't want to implement WS-PRINT Protocol on my Device.
Now my question is that if my printer device is discovered through PNP-X and
if user clicks on "Install" option, will Vista or Windows 7 needs WS-PRINT
protocol
support on the device to continue with installation of the Printer Driver?
Will Vista or Windows 7 be able to Install the Driver without WS-PRINT
support on the device and let the user print using these installed drivers
through LPR port or something similar?
2. The INF file that I need to supply on my Vista Machine or Windows 7
Can this INF file be handwritten or I have to build THERMOSTAT from Samples
folder to get the INF File?
3.What is the advantage that I get if I sign up for Windows Rally License?
Will this sign up help me in getting the Certification scripts or it wll
help me in submitting the Code For certification?
4.One of my other Printer Devices has DPWS + WS- PRINT.
When I do F5 in Network and Devices folder, my Printer device is getting
discovered and when I right Click, it is giving me "Install" option.
If I proceed to Install, it will install the Driver through WSD Port (Using
WS-Print Protocol).
So, how is this discovery different than PNP-X discovery?
Here I don't have INF file supplied and yet I am getting the INSTALL option.
Sorry to bother you with so many quetsions.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Shanky,
To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).
To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.
If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...
If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.
The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.
Hope this helps. Let me know if you have other questions.
Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello,
bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this
stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Vidager
2009-07-13 22:02:01 UTC
Permalink
Shanky,

I'm trying to contact the print logo owners so they can answer your
questions. One of them is on vacation right now, but should be back soon.
Another may be able to respond soon. I have an email out to him.

On your 4th question, if I'm not mistaken that is probably installing some
inbox driver which works with the windows print spooler. If that's the case,
it's very likely that after clicking "install" lots of communication with
your printer can occur. I can tell you for certain that supporting this
communication is not required to be a PnP-X compliant device. However, to use
the Windows Print subsystems it's very likely required. The one who answers
your Printer Rally questions should be able to answer these details as well.

Thanks,
Ben [MSFT]
Post by Shanky
Ben,
Again, thanks a lot for clarifying a lot of my doubts.It would be great if
you can send the latest Sample to san_madhav at hotmail.com.
For the fourth question below, when we click on "Install", I can see that
WS-Print messages such as "GetPrinterElements" etc are getting exchanged. I
wonder why this is. According to your description for Question 1, PNP-X does
not care about WS-Print availability. So, during installation, exchange of
WS-Print specific messages should not occur.
And request you to get the Windows Rally Licensing Question answered through
your collegues.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Sankarshana,
1. No, Windows will not block your device from installing if it doesn't
support WS-PRINT protocol. Today, PnP-X is really just a mechanism to give
your network device PnP presence, allowing your device to gain the benefits
of PnP (software installation, presence management, property storage,
unifiied db for clients to query, and in Win7 the D&P experience).
PnP-X only cares that DPWS or UPnP is implemented correctly with the
required additional PnP-X properties. When the user clicks install, PnP-X
simply enumerates devnodes in PnP for each service you expose on your device
(with a root devnode representing the device host--in DPWS). The devnode
enumerated for the root device host always loads an inbox driver package,
then each devnode enumerated for the services you expose needs a driver
package that you provide. Each devnode could match the same driver package,
or different packages, it's up to you. If you just expose one service, then
obviously you'd only need one driver package for sure.
2. Most certanly you can handwrite your INF file. In fact I don't think we
currently have any tools to help write one. However, the purpose of the
sample is to help build/write things correctly. One piece of that sample
shows how to create an INF file and do a couple different operations in it.
For example, the simple thermostat INF file shows how to create an INF that
supports x86 and x64, Vista + Win7, shows how to use the inbox umpass.sys (do
nothing) driver, copy some user-mode software for the device and register it
with COM (in this case the "driver" is just a com object that talks to the
simple thermostat device via WSD or UPnP). You should take a look and
understand the sample, then create your personalized INF file to do whatever
you need it to. If you let me know your email, I can email you the latest
Win7 SimpleThermostat sample since it hasn't been released publically yet.
3. I'm going to direct some of my coworkers to come reply to this thread to
answer your logo questions, as I'm not an expert on the logos. Sorry.
4. Driver packages (INF file plus other software you want installed for your
device) are only searched for when devnodes are enumerated in PnP. The act
of a user installing a PnP-X device is what actually creates the devnode in
PnP and then triggers Windows to find a matching driver package for that
devnode. Your device showing up in NetXP tells you that it's being
discovered by the PnP-X system, and having the "Install" option tells you
that PnP-X sees enough metadata in the device to allow it to install in PnP.
Again, after install is clicked, the devnode will be created and PnP
installation will start. I encourage you to look at the readme.htm file in
the SimpleThermostat sample when I sent it to you. It will probably clarify
some things in how the PnP-X scenarios work. It has a flow chart with
numbered lines that explain everything step-by-step.
Thanks,
Ben McGregor [MSFT]
Post by Shanky
Ben,
Thanks a lot for this response. You guys are doing great service in
responding so quickly and with so much detail.
Your response answered my question.
I am sorry, but I have few more questions. I request you to answer these.
1. I agree that we cannot block Install option on Vista or Windows 7 for
devices
discovered using PNP-X.
But, my device is a printer device and I do have a Printer Driver Media for
the device. However, my Printer Device only Implements DPWS Discovery and
Meta Data Protocols that are needed to make my device discoverable through
PNP-X.
However, I don't want to implement WS-PRINT Protocol on my Device.
Now my question is that if my printer device is discovered through PNP-X and
if user clicks on "Install" option, will Vista or Windows 7 needs WS-PRINT
protocol
support on the device to continue with installation of the Printer Driver?
Will Vista or Windows 7 be able to Install the Driver without WS-PRINT
support on the device and let the user print using these installed drivers
through LPR port or something similar?
2. The INF file that I need to supply on my Vista Machine or Windows 7
Can this INF file be handwritten or I have to build THERMOSTAT from Samples
folder to get the INF File?
3.What is the advantage that I get if I sign up for Windows Rally License?
Will this sign up help me in getting the Certification scripts or it wll
help me in submitting the Code For certification?
4.One of my other Printer Devices has DPWS + WS- PRINT.
When I do F5 in Network and Devices folder, my Printer device is getting
discovered and when I right Click, it is giving me "Install" option.
If I proceed to Install, it will install the Driver through WSD Port (Using
WS-Print Protocol).
So, how is this discovery different than PNP-X discovery?
Here I don't have INF file supplied and yet I am getting the INSTALL option.
Sorry to bother you with so many quetsions.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Shanky,
To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).
To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.
If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...
If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.
The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.
Hope this helps. Let me know if you have other questions.
Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello,
bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this
stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Justin [MSFT]
2009-07-13 22:08:00 UTC
Permalink
Sankarshana,
While it may be technically possible to build a PnP-X printer that does not
implement WS-Print, it is not the recommended way to build a network
connected printer. With regard to logo certification, we currently have
WS-Print (imaging-0004) scheduled to be required for the Windows 7 logo for
all network-attached printers on June 1, 2010.

Thanks
Justin
Post by Shanky
Ben,
Again, thanks a lot for clarifying a lot of my doubts.It would be great if
you can send the latest Sample to san_madhav at hotmail.com.
For the fourth question below, when we click on "Install", I can see that
WS-Print messages such as "GetPrinterElements" etc are getting exchanged. I
wonder why this is. According to your description for Question 1, PNP-X does
not care about WS-Print availability. So, during installation, exchange of
WS-Print specific messages should not occur.
And request you to get the Windows Rally Licensing Question answered through
your collegues.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Sankarshana,
1. No, Windows will not block your device from installing if it doesn't
support WS-PRINT protocol. Today, PnP-X is really just a mechanism to give
your network device PnP presence, allowing your device to gain the benefits
of PnP (software installation, presence management, property storage,
unifiied db for clients to query, and in Win7 the D&P experience).
PnP-X only cares that DPWS or UPnP is implemented correctly with the
required additional PnP-X properties. When the user clicks install, PnP-X
simply enumerates devnodes in PnP for each service you expose on your device
(with a root devnode representing the device host--in DPWS). The devnode
enumerated for the root device host always loads an inbox driver package,
then each devnode enumerated for the services you expose needs a driver
package that you provide. Each devnode could match the same driver package,
or different packages, it's up to you. If you just expose one service, then
obviously you'd only need one driver package for sure.
2. Most certanly you can handwrite your INF file. In fact I don't think we
currently have any tools to help write one. However, the purpose of the
sample is to help build/write things correctly. One piece of that sample
shows how to create an INF file and do a couple different operations in it.
For example, the simple thermostat INF file shows how to create an INF that
supports x86 and x64, Vista + Win7, shows how to use the inbox umpass.sys (do
nothing) driver, copy some user-mode software for the device and register it
with COM (in this case the "driver" is just a com object that talks to the
simple thermostat device via WSD or UPnP). You should take a look and
understand the sample, then create your personalized INF file to do whatever
you need it to. If you let me know your email, I can email you the latest
Win7 SimpleThermostat sample since it hasn't been released publically yet.
3. I'm going to direct some of my coworkers to come reply to this thread to
answer your logo questions, as I'm not an expert on the logos. Sorry.
4. Driver packages (INF file plus other software you want installed for your
device) are only searched for when devnodes are enumerated in PnP. The act
of a user installing a PnP-X device is what actually creates the devnode in
PnP and then triggers Windows to find a matching driver package for that
devnode. Your device showing up in NetXP tells you that it's being
discovered by the PnP-X system, and having the "Install" option tells you
that PnP-X sees enough metadata in the device to allow it to install in PnP.
Again, after install is clicked, the devnode will be created and PnP
installation will start. I encourage you to look at the readme.htm file in
the SimpleThermostat sample when I sent it to you. It will probably clarify
some things in how the PnP-X scenarios work. It has a flow chart with
numbered lines that explain everything step-by-step.
Thanks,
Ben McGregor [MSFT]
Post by Shanky
Ben,
Thanks a lot for this response. You guys are doing great service in
responding so quickly and with so much detail.
Your response answered my question.
I am sorry, but I have few more questions. I request you to answer these.
1. I agree that we cannot block Install option on Vista or Windows 7 for
devices
discovered using PNP-X.
But, my device is a printer device and I do have a Printer Driver Media for
the device. However, my Printer Device only Implements DPWS Discovery and
Meta Data Protocols that are needed to make my device discoverable through
PNP-X.
However, I don't want to implement WS-PRINT Protocol on my Device.
Now my question is that if my printer device is discovered through PNP-X and
if user clicks on "Install" option, will Vista or Windows 7 needs WS-PRINT
protocol
support on the device to continue with installation of the Printer Driver?
Will Vista or Windows 7 be able to Install the Driver without WS-PRINT
support on the device and let the user print using these installed drivers
through LPR port or something similar?
2. The INF file that I need to supply on my Vista Machine or Windows 7
Can this INF file be handwritten or I have to build THERMOSTAT from Samples
folder to get the INF File?
3.What is the advantage that I get if I sign up for Windows Rally License?
Will this sign up help me in getting the Certification scripts or it wll
help me in submitting the Code For certification?
4.One of my other Printer Devices has DPWS + WS- PRINT.
When I do F5 in Network and Devices folder, my Printer device is getting
discovered and when I right Click, it is giving me "Install" option.
If I proceed to Install, it will install the Driver through WSD Port (Using
WS-Print Protocol).
So, how is this discovery different than PNP-X discovery?
Here I don't have INF file supplied and yet I am getting the INSTALL option.
Sorry to bother you with so many quetsions.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Shanky,
To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).
To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.
If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...
If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.
The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.
Hope this helps. Let me know if you have other questions.
Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello,
bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this
stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
David Roberts [msft]
2009-07-13 23:59:01 UTC
Permalink
Hi Sankarshana,
There are 2 seperate license agreements. If you are you asking about the
Windows Rally Program License Agreement, this represents a set of terms you
or your company agree to in order to access the Rally specifications and
deploy these technologies in your products.

If you are asking about the Windows Rally Development Kit License Agreement,
then this represents a set of terms to utilize the Rally porting kit as part
of your product development.

In either case (or both), they are intended to be all that is necessary to
use the Rally technologies that are posted on Microsoft's site. You can also
ask futher questions on these via email at rally at microsoft dot com.

Thanks,
Dave Roberts
Post by Shanky
Ben,
Again, thanks a lot for clarifying a lot of my doubts.It would be great if
you can send the latest Sample to san_madhav at hotmail.com.
For the fourth question below, when we click on "Install", I can see that
WS-Print messages such as "GetPrinterElements" etc are getting exchanged. I
wonder why this is. According to your description for Question 1, PNP-X does
not care about WS-Print availability. So, during installation, exchange of
WS-Print specific messages should not occur.
And request you to get the Windows Rally Licensing Question answered through
your collegues.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Sankarshana,
1. No, Windows will not block your device from installing if it doesn't
support WS-PRINT protocol. Today, PnP-X is really just a mechanism to give
your network device PnP presence, allowing your device to gain the benefits
of PnP (software installation, presence management, property storage,
unifiied db for clients to query, and in Win7 the D&P experience).
PnP-X only cares that DPWS or UPnP is implemented correctly with the
required additional PnP-X properties. When the user clicks install, PnP-X
simply enumerates devnodes in PnP for each service you expose on your device
(with a root devnode representing the device host--in DPWS). The devnode
enumerated for the root device host always loads an inbox driver package,
then each devnode enumerated for the services you expose needs a driver
package that you provide. Each devnode could match the same driver package,
or different packages, it's up to you. If you just expose one service, then
obviously you'd only need one driver package for sure.
2. Most certanly you can handwrite your INF file. In fact I don't think we
currently have any tools to help write one. However, the purpose of the
sample is to help build/write things correctly. One piece of that sample
shows how to create an INF file and do a couple different operations in it.
For example, the simple thermostat INF file shows how to create an INF that
supports x86 and x64, Vista + Win7, shows how to use the inbox umpass.sys (do
nothing) driver, copy some user-mode software for the device and register it
with COM (in this case the "driver" is just a com object that talks to the
simple thermostat device via WSD or UPnP). You should take a look and
understand the sample, then create your personalized INF file to do whatever
you need it to. If you let me know your email, I can email you the latest
Win7 SimpleThermostat sample since it hasn't been released publically yet.
3. I'm going to direct some of my coworkers to come reply to this thread to
answer your logo questions, as I'm not an expert on the logos. Sorry.
4. Driver packages (INF file plus other software you want installed for your
device) are only searched for when devnodes are enumerated in PnP. The act
of a user installing a PnP-X device is what actually creates the devnode in
PnP and then triggers Windows to find a matching driver package for that
devnode. Your device showing up in NetXP tells you that it's being
discovered by the PnP-X system, and having the "Install" option tells you
that PnP-X sees enough metadata in the device to allow it to install in PnP.
Again, after install is clicked, the devnode will be created and PnP
installation will start. I encourage you to look at the readme.htm file in
the SimpleThermostat sample when I sent it to you. It will probably clarify
some things in how the PnP-X scenarios work. It has a flow chart with
numbered lines that explain everything step-by-step.
Thanks,
Ben McGregor [MSFT]
Post by Shanky
Ben,
Thanks a lot for this response. You guys are doing great service in
responding so quickly and with so much detail.
Your response answered my question.
I am sorry, but I have few more questions. I request you to answer these.
1. I agree that we cannot block Install option on Vista or Windows 7 for
devices
discovered using PNP-X.
But, my device is a printer device and I do have a Printer Driver Media for
the device. However, my Printer Device only Implements DPWS Discovery and
Meta Data Protocols that are needed to make my device discoverable through
PNP-X.
However, I don't want to implement WS-PRINT Protocol on my Device.
Now my question is that if my printer device is discovered through PNP-X and
if user clicks on "Install" option, will Vista or Windows 7 needs WS-PRINT
protocol
support on the device to continue with installation of the Printer Driver?
Will Vista or Windows 7 be able to Install the Driver without WS-PRINT
support on the device and let the user print using these installed drivers
through LPR port or something similar?
2. The INF file that I need to supply on my Vista Machine or Windows 7
Can this INF file be handwritten or I have to build THERMOSTAT from Samples
folder to get the INF File?
3.What is the advantage that I get if I sign up for Windows Rally License?
Will this sign up help me in getting the Certification scripts or it wll
help me in submitting the Code For certification?
4.One of my other Printer Devices has DPWS + WS- PRINT.
When I do F5 in Network and Devices folder, my Printer device is getting
discovered and when I right Click, it is giving me "Install" option.
If I proceed to Install, it will install the Driver through WSD Port (Using
WS-Print Protocol).
So, how is this discovery different than PNP-X discovery?
Here I don't have INF file supplied and yet I am getting the INSTALL option.
Sorry to bother you with so many quetsions.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Shanky,
To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).
To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.
If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...
If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.
The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.
Hope this helps. Let me know if you have other questions.
Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello,
bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this
stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Mridu
2009-07-27 17:11:01 UTC
Permalink
Hi Dave,

I am Sankarshana's colleague. We would like to know if as service providers
we are required to sign either Windows Rally Program License Agreement or
Windows Rally Development Kit License Agreement, if we want to develop a DPWS
stack and PnP-X for one of our customers printer?

Thanks and regards,
Mridu
Post by Vidager
Hi Sankarshana,
There are 2 seperate license agreements. If you are you asking about the
Windows Rally Program License Agreement, this represents a set of terms you
or your company agree to in order to access the Rally specifications and
deploy these technologies in your products.
If you are asking about the Windows Rally Development Kit License Agreement,
then this represents a set of terms to utilize the Rally porting kit as part
of your product development.
In either case (or both), they are intended to be all that is necessary to
use the Rally technologies that are posted on Microsoft's site. You can also
ask futher questions on these via email at rally at microsoft dot com.
Thanks,
Dave Roberts
Post by Shanky
Ben,
Again, thanks a lot for clarifying a lot of my doubts.It would be great if
you can send the latest Sample to san_madhav at hotmail.com.
For the fourth question below, when we click on "Install", I can see that
WS-Print messages such as "GetPrinterElements" etc are getting exchanged. I
wonder why this is. According to your description for Question 1, PNP-X does
not care about WS-Print availability. So, during installation, exchange of
WS-Print specific messages should not occur.
And request you to get the Windows Rally Licensing Question answered through
your collegues.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Sankarshana,
1. No, Windows will not block your device from installing if it doesn't
support WS-PRINT protocol. Today, PnP-X is really just a mechanism to give
your network device PnP presence, allowing your device to gain the benefits
of PnP (software installation, presence management, property storage,
unifiied db for clients to query, and in Win7 the D&P experience).
PnP-X only cares that DPWS or UPnP is implemented correctly with the
required additional PnP-X properties. When the user clicks install, PnP-X
simply enumerates devnodes in PnP for each service you expose on your device
(with a root devnode representing the device host--in DPWS). The devnode
enumerated for the root device host always loads an inbox driver package,
then each devnode enumerated for the services you expose needs a driver
package that you provide. Each devnode could match the same driver package,
or different packages, it's up to you. If you just expose one service, then
obviously you'd only need one driver package for sure.
2. Most certanly you can handwrite your INF file. In fact I don't think we
currently have any tools to help write one. However, the purpose of the
sample is to help build/write things correctly. One piece of that sample
shows how to create an INF file and do a couple different operations in it.
For example, the simple thermostat INF file shows how to create an INF that
supports x86 and x64, Vista + Win7, shows how to use the inbox umpass.sys (do
nothing) driver, copy some user-mode software for the device and register it
with COM (in this case the "driver" is just a com object that talks to the
simple thermostat device via WSD or UPnP). You should take a look and
understand the sample, then create your personalized INF file to do whatever
you need it to. If you let me know your email, I can email you the latest
Win7 SimpleThermostat sample since it hasn't been released publically yet.
3. I'm going to direct some of my coworkers to come reply to this thread to
answer your logo questions, as I'm not an expert on the logos. Sorry.
4. Driver packages (INF file plus other software you want installed for your
device) are only searched for when devnodes are enumerated in PnP. The act
of a user installing a PnP-X device is what actually creates the devnode in
PnP and then triggers Windows to find a matching driver package for that
devnode. Your device showing up in NetXP tells you that it's being
discovered by the PnP-X system, and having the "Install" option tells you
that PnP-X sees enough metadata in the device to allow it to install in PnP.
Again, after install is clicked, the devnode will be created and PnP
installation will start. I encourage you to look at the readme.htm file in
the SimpleThermostat sample when I sent it to you. It will probably clarify
some things in how the PnP-X scenarios work. It has a flow chart with
numbered lines that explain everything step-by-step.
Thanks,
Ben McGregor [MSFT]
Post by Shanky
Ben,
Thanks a lot for this response. You guys are doing great service in
responding so quickly and with so much detail.
Your response answered my question.
I am sorry, but I have few more questions. I request you to answer these.
1. I agree that we cannot block Install option on Vista or Windows 7 for
devices
discovered using PNP-X.
But, my device is a printer device and I do have a Printer Driver Media for
the device. However, my Printer Device only Implements DPWS Discovery and
Meta Data Protocols that are needed to make my device discoverable through
PNP-X.
However, I don't want to implement WS-PRINT Protocol on my Device.
Now my question is that if my printer device is discovered through PNP-X and
if user clicks on "Install" option, will Vista or Windows 7 needs WS-PRINT
protocol
support on the device to continue with installation of the Printer Driver?
Will Vista or Windows 7 be able to Install the Driver without WS-PRINT
support on the device and let the user print using these installed drivers
through LPR port or something similar?
2. The INF file that I need to supply on my Vista Machine or Windows 7
Can this INF file be handwritten or I have to build THERMOSTAT from Samples
folder to get the INF File?
3.What is the advantage that I get if I sign up for Windows Rally License?
Will this sign up help me in getting the Certification scripts or it wll
help me in submitting the Code For certification?
4.One of my other Printer Devices has DPWS + WS- PRINT.
When I do F5 in Network and Devices folder, my Printer device is getting
discovered and when I right Click, it is giving me "Install" option.
If I proceed to Install, it will install the Driver through WSD Port (Using
WS-Print Protocol).
So, how is this discovery different than PNP-X discovery?
Here I don't have INF file supplied and yet I am getting the INSTALL option.
Sorry to bother you with so many quetsions.
Thanks and Regards
Sankarshana M
Post by Vidager
Hi Shanky,
To give some background and context: Currently there is no Logo for PnP-X
by itself, but we're going to have one online around the end of this year in
WLK 1.5. Currently all logos involving PnP-X are for Rally devices and have
logo programs specific for the device type. The upcoming PnP-X logo program
will allow unspecified devices to get PnP-X logos (might be your device
class, as I'm not sure what device you're dealing with).
To be PnP-X complient you need to have those properties in your device, and
by nature this will make your device installable in Vista and Win7. If you
do not supply an INF file your device will fail installation. The install
option cannot be blocked in Vista or Win7. Keep in mind you do not need to
write a kernel mode driver, or any code for that matter. You only need to
write an INF file that includes the inbox umpass.sys driver, then sign your
driver package and distribute it on physical media or Windows Update. We
have a sample in the SDK that shows how to write an INF for Vista in the
Vista SDK. The sample is called SimpleThermostat.
If you're thinking you only care about your device being discoverable, but
not installable, then I can understand your lack of desire in supplying an
INF file for installation. Technically you could choose this route, but your
device would not be prepared to get a PnP-X logo and wouldn't be able to take
advantage of the new Devices and Printers folder in Win7. Which leads to
Win7...
If you want your device to work great on Vista and Win7, you should supply
an INF package following the same SDK sample that I mentioned above, but use
the sample from the RTM version of the Win7 SDK (should be available soon).
If you need the sample sooner, let me know and I can email it to you directly.
The method we're promoting for interacting with devices in Windows 7 is
through the Devices and Printers folder. For PnP-X devices, the user will
click "Add a device" in the D&P folder and then find your device, select it,
and then it will be added to the D&P folder. If you do not have a matching
INF package for your device, the D&P folder will show your device as having a
problem. In D&P you can customize double click action, context menu items,
and supply metadata for your device that gives the user a photo realistic
icon and detailed device info. For more info see
http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.
Hope this helps. Let me know if you have other questions.
Thanks,
Ben [MSFT]
Post by Shanky
HI,
We are trying to implement PNP-X using DPWS WS-Discovery.
As mentioned by you below,we will provide a couple of extra simple
properties. These properties are defined in the 'PnP-X: Plug and Play
Extensions for Windows Specification'.
However, once our device is discovered using PNP-X, probably Vista will also
enable a "Install" link using which the driver for the device can be
installed.
However, if we don't have a driver to be installed yet because (we have no
plan to develop a Driver yet), then my question is
1. Will our device be still called PNP-X Compliant.
2. Or we must have a Driver for our device.
Please respond.
Thanks and Regards
Sankarshana M
Post by Ben McGregor
Guillaume,
Thank you for your post.
For some quick background: DPWS, as you already know, is an extension to WS
for devices. PnP-X is an infrastructure to support installation and device
presence in PnP (for Windows Vista). For a DPWS device to be PnP-X
compliant it must provide a couple extra simple properties. These
properties are defined in the 'PnP-X: Plug and Play Extensions for Windows
Specification' (http://www.microsoft.com/whdc/Rally/pnpx-spec.mspx). The
basically need to add a Hardware ID (what is used to match an INF to install
your device) and a Device Category (used to categorize your device in the
Network Folder) property to you device's metadata.
If you install the latest Windows SDK you can take a look at the
SimpleThermostat sample for how to write an INF file etc for installing your
device. There is a DPWS device built on top of the Windows Vista WSDAPI
stack in that sample as well.
http://www.microsoft.com/downloads/details.aspx?FamilyID=58726aca-8d84-4683-8959-be0038da7084&DisplayLang=en
Let me know if you have any other questions.
--
Ben McGregor
Software Development Engineer in Test
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2007 Microsoft Corporation. All rights
reserved.
Post by guillaume Pelletier
Hi All,
I hope somebody could help me on this forum.
I already implement my own DPWS stack and actually able to send Hello,
bye,
prope dealing with eventing, all in managed code... everything work
perfectly, then i'm figure how to make the installation Pnp using this
stack
under Vista. Actually, i'm not able to see any of the Service i mount, but
i'm at the very begining of my research and it seem PnPx is one of the key
component of the solution, Inf file another one.
Anybody could help me on the subject, giving some direction of research or
tricks.
Many Thanks
Guillaume
Loading...