summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Montera <[email protected]>2017-08-30 13:30:12 -0700
committerMatthew Montera <[email protected]>2017-08-30 13:30:12 -0700
commitbf166f46e1e61f47487631912f211797b2a40bb7 (patch)
tree5df26d917a376d2c4b96a736a88b8df6a4066995
parent91785e7a059151525d90fcae378a9590a946cd6b (diff)
Update README
Updated README to reflect new package structure
-rw-r--r--general/DCHU/README.md14
1 files changed, 9 insertions, 5 deletions
diff --git a/general/DCHU/README.md b/general/DCHU/README.md
index 92d7e76f..290ceff7 100644
--- a/general/DCHU/README.md
+++ b/general/DCHU/README.md
@@ -16,22 +16,26 @@ There are three Visual Studio solutions in this sample. Each one represents a s
* `osrfx2_DCHU_base` : The driver for the OSR FX2 Learning Kit. This includes the device driver, an upper filter driver for the device (a no-op), a Win32 User Service that controls lights on the device, and a console app that can control the device.
-* `osrfx2_DCHU_extension`: An extension driver for the OSR FX2 device. This extension modifies some registry settings originally specified by the base driver (`osrfx2_DCHU_base`).
+* `osrfx2_DCHU_extension_loose`: An extension INF for the OSR FX2 device. This extension modifies some registry settings originally specified by the base driver (`osrfx2_DCHU_base`) and also uses AddComponent to create a Software Component. There is also a component INF project that would be a separate submission to DevCenter, which runs some simple software. These two projects are loosely coupled, and can be installed in any order on the machine.
-* `osrfx2_DCHU_component`: A Software Component that installs on a device that the base driver package's INF (`osrfx2_DCHU_base.inf`) creates using the [INF AddComponent Directive](https://docs.microsoft.com/windows-hardware/drivers/install/inf-addcomponent-directive). This Software Component executes a legacy .exe to install a file in the `C:\Program Files\...` directory that reads the OSR FX2 device's registry settings applied in the base driver package's INF (`osrfx2_DCHU_base.inf`)
+* `osrfx2_DCHU_extension_tight`: An extension INF for the OSR FX2 device. This extension mimics the behavior of `osrfx2_DCHU_extension_loose`; however, it does so in a tightly coupled manner. Using CopyINF, both the extension and component INF are placed into one driver package (and one submission to DevCenter). Here there is less flexibility with the base/component/extension relationship, but it ensures that the component INF is applied at the same time as the extension.
+
+Both `osrfx2_DCHU_extension_loose` and `osrfx2_DCHU_extension_tight` provide the same functionality, so installing both on the same OSR FX2 device is unnecessary. They are intended to show a different way to use extension and component INF's depending on a project's needs.
+
+NOTE: osrfx2_DCHU_extension_tight will not currently build on Windows 10 version 1703. You will see an error saying that the directive CopyINF does not work from extension INFs. This has been fixed for the Windows 10 Fall Creators Update.
Each of these solutions can be built with the latest WDK on Visual Studio 2015. Additionally, you can also download a [Universal Windows Platform app (UWP)](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CustomCapability) that controls the OSR FX2 Learning Kit's device. To learn how to pair a UWP app with a device, see [Hardware access for Universal Windows Platform apps](https://docs.microsoft.com/windows-hardware/drivers/devapps/hardware-access-for-universal-windows-platform-apps)
-The app and the contents of this sample can coexist, but on Windows 10, version 1703, to build the app with Visual Studio 2017, the computer cannot have the WDK installed.
+The app and the contents of this sample can coexist, but on Windows 10 version 1703, to build the app with Visual Studio 2017, the computer cannot have the WDK installed.
To install these driver packages, make sure that the target machine is in Test Mode, using `bcdedit /set testsigning on`.
-Then, use `pnputil /i /a <PATHTOINF>` to install each of the three driver packages. They should
+Then, use `pnputil /i /a <PATHTOINF>` to install each of the desired driver packages. They should
be installed in the following order:
* `osrfx2_DCHU_base`
* `osrfx2_DCHU_extension`
-* `osrfx2_DCHU_component`
+* [`osrfx2_DCHU_component`]
Technically the order of `osrfx2_DCHU_extension` and `osrfx2_DCHU_component` doesn't matter, but the software within `osrfx2_DCHU_component` will read the registry set by the extension to show that an extension INF's settings are applied *after* the base INF's.