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 ShankyBen,
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 VidagerHi 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 ShankyHI,
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 McGregorGuillaume,
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 PelletierHi 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