Squashed commit of the following:
commit 9f95be92f864acf6a9cef8121e9d7c5b02f18da6 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 13:28:40 2017 -0800 fix table commit eaaf7927d163b4fb3eb89f2e9e3b2de367be8ea0 Merge: c53bbe2 cf11083 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 13:19:19 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit c53bbe240c88573cacdbfd424b2549ff895b2263 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 09:06:46 2017 -0800 sync commit 2db82b374821d5e57224f3492c4fdcf68a8d7c36 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:57:23 2017 -0800 sync commit a3fd8ad3d9d909e98332252e702e31496bb53cf0 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:49:41 2017 -0800 sync commit de0b46958e5783d0edb31c916f45f45118f9cd2f Merge: c80779f deb778a Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:49:00 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit c80779f75b34ccd0c6772b695332f667d90aa760 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:48:10 2017 -0800 fix code block commit 24a001bff7cf3c0451195a094f063a80f61450e0 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:44:48 2017 -0800 fix link commit 574411a38d113a974a5c406746a06f629cdb50c0 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:38:57 2017 -0800 fix links, format commit 5e106b72f679243b0c601146277b66f9045c26f9 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:25:17 2017 -0800 fix format commit 6c693cee1a305955fcb3b711f393ed695e51e96f Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 08:11:09 2017 -0800 tweak apply commit 501e1100d08b21a107a6d55f335edad08620250d Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 07:44:01 2017 -0800 moved apply procs, learn more links commit 17c18a8970ccff5f11239031188a9f7a4f59f8f7 Merge: 3c80075 37bf478 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 18 07:38:50 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 3c80075ab12e4ced0134c3ad02f7de7e0ec0c24d Merge: 4b77100 a4496a2 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 15:37:33 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 4b771007b71692959676a4290492af0ea7375c2d Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 15:35:26 2017 -0800 missing intro commit 7c5406e213c5a84497352fb76ef491d53a1ecf74 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 15:30:05 2017 -0800 add related links commit deacc390e081365fc4be0509fc4a4b016fbe3734 Merge: d62ca20 a3fba4c Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 14:29:29 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit d62ca20830be9ce1afae4deba12c6688c591554c Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 14:27:56 2017 -0800 escaped < > commit dd2e558fd6e9cb38ecba49cb0d2d4ea08d5a53ae Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 14:14:01 2017 -0800 multivariant commit 668cdc313f47565f1275261496db748975d2b5b1 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 13:23:41 2017 -0800 update change deploy commit 1b5070b0f8bdbbe2e8d53c84173d0f0818bc1b30 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 13:21:51 2017 -0800 resolve conflict change history manage commit 8e342df4125216b4fa802204cb26441b1ecf63df Merge: 031f50b 9793669 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 13:20:28 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 031f50b5ee684a048c34e6cf297149343585ec69 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 13:17:33 2017 -0800 tweak commit 54e2eb787d78c3a680e4c54e63b99e06a293fc39 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 11:15:51 2017 -0800 tweak table commit 4dc33fb1898f168b1bf59a127f7317e1df5ab4ef Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 11:02:33 2017 -0800 cli commit 755758d424f92bb0e8f42281310d9855aaaba4d6 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 10:56:38 2017 -0800 new topics commit 0711e5571a34788a5402c3e35a522341f1bf68b5 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 10:08:03 2017 -0800 update how it works commit 210680ebf086e973ab06b9d7cf35768efa3fd6c4 Merge: eeec810 a171f82 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 09:17:08 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit eeec8100536b249aec154852d0879a81e9d07dda Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 17 09:16:38 2017 -0800 reorder how it works commit ed862463fc83d9f46ed8081cc3166d3bf123aa21 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 14:26:43 2017 -0800 sync commit 8abd729805cb0719104a118529f037effa197457 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 13:44:26 2017 -0800 moved sections between topics commit fad95aa31de0a9e621338751671c499779fb362e Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 13:21:36 2017 -0800 sync commit efb848b257da63dd7b84e2e8edb12139f54e3dc1 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 12:53:53 2017 -0800 reorg apply commit 1a98b619c49c4cda9ab673247ba80771c9519251 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 12:42:00 2017 -0800 finish create commit 0ec9ade931ab3b74fddf0bbc25cd1d986ad382ed Merge: f169e92 44e62eb Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 12:41:30 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit f169e92adea1d42a21c0844a6f109d5e632cdc08 Merge: 0f182c8 110241e Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 12:06:04 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 0f182c8e9af068d65b29851b8569c5518707d773 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 11:25:52 2017 -0800 switch commit 351ab3a2b1d81481a4b760c65fbd33d36e7c9089 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 09:55:25 2017 -0800 updates to install commit 5b01085b0b961512fa891a171330967c9f4f7657 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 09:36:06 2017 -0800 sync commit 837f0a902fa66cc07f83b93b3f66cbc160d09fc6 Author: jdeckerMS <jdecker@microsoft.com> Date: Fri Jan 13 08:58:22 2017 -0800 sync commit 2d8a29cb97b3f16dd0bb2d664ad9cdd11123b5ae Merge: ad8151c c564f3e Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 12:51:13 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit ad8151c775a18bcec03d41631c6c43d1b2fabb28 Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 12:50:30 2017 -0800 sync commit 514161581723808a2ed5c29b24a3dcfd28901b78 Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 12:03:30 2017 -0800 remove graphic commit 8d4ab1471d1f8d2c5d3a28cab73e860dd0e25e7c Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 11:58:23 2017 -0800 sync commit 3147720b7edc492b93aa8def7ca94bec4f54b74b Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 11:45:07 2017 -0800 fix format commit 67fa6473648c45b4b9ff31d506bd9485b67a9760 Merge: 9995503 24803cd Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 11:43:21 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 9995503434d09fcbae73510ee0aec6123bc1a6f8 Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 10:36:33 2017 -0800 add links commit 3e725b83f60c2ce06e043f704d4dbb86e7064ec8 Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 10:34:16 2017 -0800 sync commit d40be4b40ecff550e9ccf0f022609e81142fc923 Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 09:02:52 2017 -0800 add topic commit 010b2f64320a02857b189493e7e71934f8030c11 Merge: 639e54e 7519b87 Author: jdeckerMS <jdecker@microsoft.com> Date: Thu Jan 12 08:26:45 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 639e54e4525c4cc0b79b770e8e81b07574e032cc Merge: 79a7ee0 97b8484 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 14:33:39 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 79a7ee0597a4198a5be098cafe960c23b5f2f88b Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 14:33:08 2017 -0800 sync commit ca313243bfc7cd9ac81c623eeafbe60fc2e6ce1d Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 13:17:04 2017 -0800 add art commit 938e50ca5db8304e7e44d040fd9e6c25ef3d402f Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 12:40:47 2017 -0800 mobile commit 0552360320664f8f61a73eed5212a8f476d27f2f Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 11:38:56 2017 -0800 complete desktop commit b3cea45101b03d0a8ba79b916a3b8c2de0ad09b1 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 11:10:09 2017 -0800 format check commit 2271bd9206316c752d0634c3df93ff23c6a80abd Merge: 6a3478d 8ef9050 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 10:44:20 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 6a3478d8ab1f113150de7dd5df89118c4915b947 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 10:43:42 2017 -0800 sync changes commit 12964dabbbea4f1084d0396c956a23784a900f48 Merge: affb590 ec7b776 Author: jdeckerMS <jdecker@microsoft.com> Date: Wed Jan 11 08:17:43 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit affb590262719ce7500292070c218d4b4f518c62 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 10 14:22:43 2017 -0800 related topics commit 0fb18bddbc1ec4c83f72b6d38159ed1d552d709f Merge: 58555e2 2cad77f Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 10 14:12:50 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 58555e2dac6e8ca95b9110436b4c601b6727e7d0 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 10 12:00:52 2017 -0800 sync commit 4d107c68d6bbc27bc75ec714b844650a5eb1f678 Merge: 5d52165 60611e5 Author: jdeckerMS <jdecker@microsoft.com> Date: Tue Jan 10 08:59:51 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 5d521654f1ae9233d7857fbde2ac0afb95f93f1e Author: jdeckerMS <jdecker@microsoft.com> Date: Mon Jan 9 14:06:10 2017 -0800 sync commit f21d6c41af1ef019cfe757b181fb757adee90ac3 Author: jdeckerMS <jdecker@microsoft.com> Date: Mon Jan 9 13:01:41 2017 -0800 metadata and uninstall content commit 81f8976b6e3a2306220948800541a413d866041b Merge: 9654e2b f81dbd0 Author: jdeckerMS <jdecker@microsoft.com> Date: Mon Jan 9 12:26:40 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 9654e2b3886249d4a6235b209c20bca4596fbf18 Merge: 47d6aa6 310c015 Author: jdeckerMS <jdecker@microsoft.com> Date: Mon Jan 9 11:04:24 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit 47d6aa6ec8ebaaffa529066320c84635dd5a991e Merge: a9bc13c f33df1b Author: jdeckerMS <jdecker@microsoft.com> Date: Mon Jan 9 09:59:28 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov commit a9bc13c733bb231306bc75512fae0c5882fd713e Author: jdeckerMS <jdecker@microsoft.com> Date: Mon Jan 9 09:58:57 2017 -0800 add topics commit 8797ae2c0a04bb776811701c2d0672ab457b2bba Merge: c053cb6 88cf4ee Author: jdeckerMS <jdecker@microsoft.com> Date: Mon Jan 9 09:47:39 2017 -0800 Merge remote-tracking branch 'refs/remotes/origin/master' into jdprov
@ -50,8 +50,17 @@
|
|||||||
## [Windows 10 upgrade paths](windows-10-upgrade-paths.md)
|
## [Windows 10 upgrade paths](windows-10-upgrade-paths.md)
|
||||||
## [Windows 10 edition upgrade](windows-10-edition-upgrades.md)
|
## [Windows 10 edition upgrade](windows-10-edition-upgrades.md)
|
||||||
## [Provisioning packages for Windows 10](provisioning-packages.md)
|
## [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
### [Provision PCs with common settings for initial deployment](provision-pcs-for-initial-deployment.md)
|
### [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
### [Provision PCs with apps and certificates for initial deployments](provision-pcs-with-apps-and-certificates.md)
|
### [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
### [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
### [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
### [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
### [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
### [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
### [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
### [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
### [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
### [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
## [Deploy Windows To Go in your organization](deploy-windows-to-go.md)
|
## [Deploy Windows To Go in your organization](deploy-windows-to-go.md)
|
||||||
## [Upgrade a Windows Phone 8.1 to Windows 10 Mobile with Mobile Device Management](upgrade-windows-phone-8-1-to-10.md)
|
## [Upgrade a Windows Phone 8.1 to Windows 10 Mobile with Mobile Device Management](upgrade-windows-phone-8-1-to-10.md)
|
||||||
## [Sideload apps in Windows 10](sideload-apps-in-windows-10.md)
|
## [Sideload apps in Windows 10](sideload-apps-in-windows-10.md)
|
||||||
|
@ -14,7 +14,19 @@ This topic lists new and updated topics in the [Deploy Windows 10](index.md) doc
|
|||||||
## January 2017
|
## January 2017
|
||||||
| New or changed topic | Description |
|
| New or changed topic | Description |
|
||||||
|----------------------|-------------|
|
|----------------------|-------------|
|
||||||
|
| [Apply a provisioning package](provisioning-apply-package.md) | New (previously published in other topics) |
|
||||||
|
| [Create a provisioning package for Windows 10](provisioning-create-package.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [Create a provisioning package with multivariant settings](provisioning-multivariant.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [How provisioning works in Windows 10](provisioning-how-it-works.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [NFC-based device provisioning](provisioning-nfc.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [Windows ICD command-line interface (reference)](provisioning-command-line.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
| [Get started with Upgrade Analytics](upgrade-analytics-get-started.md) | Updated exit code table with suggested fixes, and added link to the Upgrade Analytics blog |
|
| [Get started with Upgrade Analytics](upgrade-analytics-get-started.md) | Updated exit code table with suggested fixes, and added link to the Upgrade Analytics blog |
|
||||||
|
| [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) | Instructions for applying the provisioning package moved to [Apply a provisioning package](provisioning-apply-package.md) |
|
||||||
|
| [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md) | Instructions for applying the provisioning package moved to [Apply a provisioning package](provisioning-apply-package.md) |
|
||||||
|
|
||||||
|
|
||||||
## October 2016
|
## October 2016
|
||||||
| New or changed topic | Description |
|
| New or changed topic | Description |
|
||||||
|
BIN
windows/deploy/images/five.png
Normal file
After Width: | Height: | Size: 429 B |
BIN
windows/deploy/images/four.png
Normal file
After Width: | Height: | Size: 470 B |
BIN
windows/deploy/images/icd-create-options.PNG
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
windows/deploy/images/icd-export-menu.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
windows/deploy/images/icd-install.PNG
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
windows/deploy/images/icd-runtime.PNG
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
windows/deploy/images/icd-script1.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
windows/deploy/images/icd-script2.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
windows/deploy/images/icd-setting-help.PNG
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
windows/deploy/images/icd-settings.PNG
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
windows/deploy/images/icd-step1.PNG
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
windows/deploy/images/icd-step2.PNG
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
windows/deploy/images/icd-step3.PNG
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
windows/deploy/images/icd-step4.PNG
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
windows/deploy/images/icd-step5.PNG
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
windows/deploy/images/icd-switch.PNG
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
windows/deploy/images/nfc.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
windows/deploy/images/one.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
windows/deploy/images/package-trust.png
Normal file
After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 11 KiB |
BIN
windows/deploy/images/packages-mobile.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
windows/deploy/images/six.png
Normal file
After Width: | Height: | Size: 479 B |
BIN
windows/deploy/images/three.png
Normal file
After Width: | Height: | Size: 458 B |
BIN
windows/deploy/images/two.png
Normal file
After Width: | Height: | Size: 443 B |
@ -24,8 +24,7 @@ Learn about deploying Windows 10 for IT professionals.
|
|||||||
|[Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) |This topic provides a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. |
|
|[Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) |This topic provides a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. |
|
||||||
|[Configure a PXE server to load Windows PE](configure-a-pxe-server-to-load-windows-pe.md) |This guide describes how to configure a PXE server to load Windows PE by booting a client computer from the network. |
|
|[Configure a PXE server to load Windows PE](configure-a-pxe-server-to-load-windows-pe.md) |This guide describes how to configure a PXE server to load Windows PE by booting a client computer from the network. |
|
||||||
|[Windows 10 edition upgrade](windows-10-edition-upgrades.md) |With Windows 10, you can quickly upgrade from one edition of Windows 10 to another, provided the upgrade path is supported. |
|
|[Windows 10 edition upgrade](windows-10-edition-upgrades.md) |With Windows 10, you can quickly upgrade from one edition of Windows 10 to another, provided the upgrade path is supported. |
|
||||||
| [Provision PCs with common settings for initial deployment](provision-pcs-for-initial-deployment.md) | Create a provisioning package to apply commonly used settings to a PC running Windows 10. |
|
| [Provisioning packages for Windows 10](provisioning-packages.md) | Learn how to use the Windows Imaging and Configuration Designer (ICD) and provisioning packages to easily configure multiple devices. |
|
||||||
| [Provision PCs with apps and certificates for initial deployments](provision-pcs-with-apps-and-certificates.md) | Create a provisioning package to add apps and certificates to a PC running Windows 10. |
|
|
||||||
|[Windows 10 upgrade paths](windows-10-upgrade-paths.md) |You can upgrade directly to Windows 10 from a previous operating system. |
|
|[Windows 10 upgrade paths](windows-10-upgrade-paths.md) |You can upgrade directly to Windows 10 from a previous operating system. |
|
||||||
|[Deploy Windows To Go in your organization](deploy-windows-to-go.md) |This topic helps you to deploy Windows To Go in your organization. Before you begin deployment, make sure that you have reviewed the topics [Windows To Go: feature overview](../plan/windows-to-go-overview.md) and [Prepare your organization for Windows To Go](../plan/prepare-your-organization-for-windows-to-go.md) to ensure that you have the correct hardware and are prepared to complete the deployment. You can then use the steps in this topic to start your Windows To Go deployment. |
|
|[Deploy Windows To Go in your organization](deploy-windows-to-go.md) |This topic helps you to deploy Windows To Go in your organization. Before you begin deployment, make sure that you have reviewed the topics [Windows To Go: feature overview](../plan/windows-to-go-overview.md) and [Prepare your organization for Windows To Go](../plan/prepare-your-organization-for-windows-to-go.md) to ensure that you have the correct hardware and are prepared to complete the deployment. You can then use the steps in this topic to start your Windows To Go deployment. |
|
||||||
|[Upgrade a Windows Phone 8.1 to Windows 10 Mobile with Mobile Device Management](upgrade-windows-phone-8-1-to-10.md) |This topic describes how to upgrade eligible Windows Phone 8.1 devices to Windows 10 Mobile. |
|
|[Upgrade a Windows Phone 8.1 to Windows 10 Mobile with Mobile Device Management](upgrade-windows-phone-8-1-to-10.md) |This topic describes how to upgrade eligible Windows Phone 8.1 devices to Windows 10 Mobile. |
|
||||||
|
@ -4,7 +4,7 @@ description: Create a provisioning package to apply common settings to a PC runn
|
|||||||
ms.assetid: 66D14E97-E116-4218-8924-E2A326C9367E
|
ms.assetid: 66D14E97-E116-4218-8924-E2A326C9367E
|
||||||
keywords: ["runtime provisioning", "provisioning package"]
|
keywords: ["runtime provisioning", "provisioning package"]
|
||||||
ms.prod: W10
|
ms.prod: W10
|
||||||
ms.mktglfcycl: manage
|
ms.mktglfcycl: deploy
|
||||||
ms.sitesec: library
|
ms.sitesec: library
|
||||||
author: jdeckerMS
|
author: jdeckerMS
|
||||||
localizationpriority: high
|
localizationpriority: high
|
||||||
@ -92,40 +92,30 @@ Use the Windows Imaging and Configuration Designer (ICD) tool included in the Wi
|
|||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed.
|
> When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed.
|
||||||
|
|
||||||
## Apply package
|
|
||||||
|
|
||||||
1. Start with a computer on the first-run setup screen. If the PC has gone past this screen, reset the PC to start over. To reset the PC, go to **Settings** > **Update & security** > **Recovery** > **Reset this PC**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
2. Insert the USB drive. Windows Setup will recognize the drive and ask if you want to set up the device. Select **Set up**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
3. The next screen asks you to select a provisioning source. Select **Removable Media** and tap **Next**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
4. Select the provisioning package (\*.ppkg) that you want to apply, and tap **Next**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
5. Select **Yes, add it**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
**Next step**: [How to apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
|
||||||
|
|
||||||
## Learn more
|
## Learn more
|
||||||
- [Build and apply a provisioning package]( https://go.microsoft.com/fwlink/p/?LinkId=629651)
|
|
||||||
|
|
||||||
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
||||||
|
|
||||||
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ description: Create a provisioning package to apply settings to a PC running Win
|
|||||||
ms.assetid: 66D14E97-E116-4218-8924-E2A326C9367E
|
ms.assetid: 66D14E97-E116-4218-8924-E2A326C9367E
|
||||||
keywords: ["runtime provisioning", "provisioning package"]
|
keywords: ["runtime provisioning", "provisioning package"]
|
||||||
ms.prod: W10
|
ms.prod: W10
|
||||||
ms.mktglfcycl: manage
|
ms.mktglfcycl: deploy
|
||||||
ms.sitesec: library
|
ms.sitesec: library
|
||||||
author: jdeckerMS
|
author: jdeckerMS
|
||||||
localizationpriority: high
|
localizationpriority: high
|
||||||
@ -57,7 +57,7 @@ Use the Windows Imaging and Configuration Designer (ICD) tool included in the Wi
|
|||||||
3. Go to **Runtime settings** > **ProvisioningCommands** > **DeviceContext** > **CommandLine** and specify the command line that needs to be executed to install the app. This is a single command line (such as a script, executable, or msi) that triggers a silent install of your CommandFiles. Note that the install must execute silently (without displaying any UI). For MSI installers use, the `msiexec /quiet` option.
|
3. Go to **Runtime settings** > **ProvisioningCommands** > **DeviceContext** > **CommandLine** and specify the command line that needs to be executed to install the app. This is a single command line (such as a script, executable, or msi) that triggers a silent install of your CommandFiles. Note that the install must execute silently (without displaying any UI). For MSI installers use, the `msiexec /quiet` option.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> If you are installing more than one app, then use CommandLine to invoke the script or batch file that orchestrates installation of the files. For more information, see [Install a Win32 app using a provisioning package](https://msdn.microsoft.com/library/windows/hardware/mt703295%28v=vs.85%29.aspx).
|
> If you are installing more than one app, then use `CommandLine` to invoke the script or batch file that orchestrates installation of the files. For more information, see [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md).
|
||||||
|
|
||||||
|
|
||||||
### Add a universal app to your package
|
### Add a universal app to your package
|
||||||
@ -170,66 +170,27 @@ If your build is successful, the name of the provisioning package, output direct
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Apply package
|
**Next step**: [How to apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
|
||||||
### During initial setup, from a USB drive
|
|
||||||
|
|
||||||
1. Start with a computer on the first-run setup screen. If the PC has gone past this screen, reset the PC to start over. To reset the PC, go to **Settings** > **Update & security** > **Recovery** > **Reset this PC**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
2. Insert the USB drive. Windows Setup will recognize the drive and ask if you want to set up the device. Select **Set up**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
3. The next screen asks you to select a provisioning source. Select **Removable Media** and tap **Next**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
4. Select the provisioning package (\*.ppkg) that you want to apply, and tap **Next**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
5. Select **Yes, add it**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
6. Read and accept the Microsoft Software License Terms.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
7. Select **Use Express settings**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
8. If the PC doesn't use a volume license, you'll see the **Who owns this PC?** screen. Select **My work or school owns it** and tap **Next**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
9. On the **Choose how you'll connect** screen, select **Join Azure AD** or **Join a domain** and tap **Next**.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
10. Sign in with your domain, Azure AD, or Office 365 account and password. When you see the progress ring, you can remove the USB drive.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
### After setup, from a USB drive, network folder, or SharePoint site
|
|
||||||
|
|
||||||
On a desktop computer, navigate to **Settings** > **Accounts** > **Work access** > **Add or remove a management package** > **Add a package**, and select the package to install.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Learn more
|
## Learn more
|
||||||
- [Build and apply a provisioning package]( https://go.microsoft.com/fwlink/p/?LinkId=629651)
|
|
||||||
|
|
||||||
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
||||||
|
|
||||||
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
119
windows/deploy/provisioning-apply-package.md
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
---
|
||||||
|
title: Apply a provisioning package (Windows 10)
|
||||||
|
description: Provisioning packages can be applied to a device during the first-run experience (OOBE) and after ("runtime").
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Apply a provisioning package
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
Provisioning packages can be applied to a device during the first-run experience (out-of-box experience or "OOBE") and after ("runtime").
|
||||||
|
|
||||||
|
## Desktop editions
|
||||||
|
|
||||||
|
### During initial setup, from a USB drive
|
||||||
|
|
||||||
|
1. Start with a computer on the first-run setup screen. If the PC has gone past this screen, reset the PC to start over. To reset the PC, go to **Settings** > **Update & security** > **Recovery** > **Reset this PC**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2. Insert the USB drive. Windows Setup will recognize the drive and ask if you want to set up the device. Select **Set up**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
3. The next screen asks you to select a provisioning source. Select **Removable Media** and tap **Next**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
4. Select the provisioning package (\*.ppkg) that you want to apply, and tap **Next**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
5. Select **Yes, add it**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
6. Read and accept the Microsoft Software License Terms.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
7. Select **Use Express settings**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
8. If the PC doesn't use a volume license, you'll see the **Who owns this PC?** screen. Select **My work or school owns it** and tap **Next**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
9. On the **Choose how you'll connect** screen, select **Join Azure AD** or **Join a domain** and tap **Next**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
10. Sign in with your domain, Azure AD, or Office 365 account and password. When you see the progress ring, you can remove the USB drive.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### After setup, from a USB drive, network folder, or SharePoint site
|
||||||
|
|
||||||
|
On a desktop computer, navigate to **Settings** > **Accounts** > **Access work or school** > **Add or remove a provisioning package** > **Add a package**, and select the package to install.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Mobile editions
|
||||||
|
|
||||||
|
### Using removable media
|
||||||
|
|
||||||
|
1. Insert an SD card containing the provisioning package into the device.
|
||||||
|
2. Navigate to **Settings** > **Accounts** > **Access work or school** > **Add or remove a provisioning package** > **Add a package**, and select the package to install.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
3. Click **Add**.
|
||||||
|
|
||||||
|
4. On the device, the **Is this package from a source you trust?** message will appear. Tap **Yes, add it**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Copying the provisioning package to the device
|
||||||
|
|
||||||
|
1. Connect the device to your PC through USB.
|
||||||
|
|
||||||
|
2. On the PC, select the provisioning package that you want to use to provision the device and then drag and drop the file to your device.
|
||||||
|
|
||||||
|
3. On the device, the **Is this package from a source you trust?** message will appear. Tap **Yes, add it**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
## Learn more
|
||||||
|
|
||||||
|
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
||||||
|
|
||||||
|
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
68
windows/deploy/provisioning-command-line.md
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
---
|
||||||
|
title: Windows ICD command-line interface (Windows 10)
|
||||||
|
description:
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Windows ICD command-line interface (reference)
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
You can use the Windows Imaging and Configuration Designer (ICD) command-line interface (CLI) to automate the building of provisioning packages and Windows 10 for desktop editions (Home, Pro, Enterprise, and Education) and Windows 10 Mobile or Windows 10 IoT Core (IoT Core) images.
|
||||||
|
|
||||||
|
- IT pros can use the Windows ICD CLI to require less re-tooling of existing processes. You must run the Windows ICD CLI from a command window with administrator privileges.
|
||||||
|
|
||||||
|
- You must use the Windows ICD CLI and edit the customizations.xml sources to create an image and/or provisioning package with multivariant support. You need the customizations.xml file as one of the inputs to the Windows ICD CLI to build a provisioning package. For more information, see [Create a provisioning package with multivariant settings](provisioning-multivariant.md).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Syntax
|
||||||
|
|
||||||
|
```
|
||||||
|
icd.exe /Build-ProvisioningPackage /CustomizationXML:<path_to_xml> /PackagePath:<path_to_ppkg>
|
||||||
|
[/StoreFile:<path_to_storefile>] [/MSPackageRoot:<path_to_mspackage_directory>] [/OEMInputXML:<path_to_xml>]
|
||||||
|
[/ProductName:<product_name>] [/Variables:<name>:<value>] [[+|-]Encrypted] [[+|-]Overwrite] [/?]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Switches and arguments
|
||||||
|
|
||||||
|
| Switch | Required? | Arguments |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| /CustomizationXML | No | Specifies the path to a Windows provisioning XML file that contains the customization assets and settings. For more information, see Windows provisioning answer file. |
|
||||||
|
| /PackagePath | Yes | Specifies the path and the package name where the built provisioning package will be saved. |
|
||||||
|
| /StoreFile | No</br></br></br>See Important note. | For partners using a settings store other than the default store(s) used by Windows ICD, use this parameter to specify the path to one or more comma-separated Windows settings store file. By default, if you don't specify a settings store file, the settings store that's common to all Windows editions will be loaded by Windows ICD.</br></br></br>**Important** If you use this parameter, you must not use /MSPackageRoot or /OEMInputXML. |
|
||||||
|
| /Variables | No | Specifies a semicolon separated <name> and <value> macro pair. The format for the argument must be <name>=<value>. |
|
||||||
|
| Encrypted | No | Denotes whether the provisioning package should be built with encryption. Windows ICD auto-generates the decryption password and includes this information in the output.</br></br></br>Precede with + for encryption or - for no encryption. The default is no encryption. |
|
||||||
|
| Overwrite | No | Denotes whether to overwrite an existing provisioning package.</br></br></br>Precede with + to overwrite an existing package or - if you don't want to overwrite an existing package. The default is false (don't overwrite). |
|
||||||
|
| /? | No | Lists the switches and their descriptions for the command-line tool or for certain commands. |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
148
windows/deploy/provisioning-create-package.md
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
---
|
||||||
|
title: Create a provisioning package (Windows 10)
|
||||||
|
description: With Windows 10, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image.
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Create a provisioning package for Windows 10
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
You use Windows Imaging and Configuration Designer (ICD) to create a provisioning package (.ppkg) that contains customization settings. You can apply the provisioning package to a device running Windows 10.
|
||||||
|
|
||||||
|
>[Learn how to install Windows ICD.](provisioning-install-icd.md)
|
||||||
|
|
||||||
|
## Start a new project
|
||||||
|
|
||||||
|
1. Open Windows ICD:
|
||||||
|
- From either the Start screen or Start menu search, type 'Imaging and Configuration Designer' and click on the Windows ICD shortcut,
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
- Navigate to `C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86` (on an x64 computer) or `C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe` (on an x86 computer), and then double-click **ICD.exe**.
|
||||||
|
|
||||||
|
2. Select your desired option on the **Start** page, which offers three options for creating a provisioning package, as shown in the following image:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- The **Simple provisioning** and **Provision school devices** options provide wizard-style walkthroughs for creating a provisioning package based on a set of common settings.
|
||||||
|
- The **Advanced provisioning** option opens a new project with all **Runtime settings** available.
|
||||||
|
>[!TIP]
|
||||||
|
>You can start a project in the simple editor and then switch the project to the advanced editor.
|
||||||
|
>
|
||||||
|
>
|
||||||
|
|
||||||
|
3. Enter a name for your project, and then click **Next**.
|
||||||
|
|
||||||
|
4. Select the settings you want to configure, based on the type of device, and then click **Next**. The following table describes the options.
|
||||||
|
|
||||||
|
| Windows edition | Settings available for customization | Provisioning package can apply to |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| All Windows editions | Common settings | All Windows 10 devices |
|
||||||
|
| All Windows desktop editions | Common settings and settings specific to desktop devices | All Windows 10 desktop editions (Home, Pro, Enterprise, Pro Education, Enterprise Education) |
|
||||||
|
| All Windows mobile editions | Common settings and settings specific to mobile devices | All Windows 10 Mobile devices |
|
||||||
|
| Windows 10 IoT Core | Common settings and settings specific to Windows 10 IoT Core | All Windows 10 IoT Core devices |
|
||||||
|
| Windows 10 Holographic | Common settings and settings specific to Windows 10 Holographic | [Microsoft HoloLens](https://technet.microsoft.com/itpro/hololens/hololens-provisioning) |
|
||||||
|
| Common to Windows 10 Team edition | Common settings and settings specific to Windows 10 Team | [Microsoft Surface Hub](https://technet.microsoft.com/itpro/surface-hub/provisioning-packages-for-certificates-surface-hub) |
|
||||||
|
|
||||||
|
5. On the **Import a provisioning package (optional)** page, you can click **Finish** to create your project, or browse to and select an existing provisioning packge to import to your project, and then click **Finish**.
|
||||||
|
|
||||||
|
>[!TIP]
|
||||||
|
>**Import a provisioning package** can make it easier to create different provisioning packages that all have certain settings in common. For example, you could create a provisioning package that contains the settings for your organization's network, and then import it into other packages you create so you don't have to reconfigure those common settings repeatedly.
|
||||||
|
|
||||||
|
After you click **Finish**, Windows ICD will open the appropriate walkthrough page if you selected **Simple provisioning** or **Provision school devices**, or the **Available customizations** pane if you selected **Advanced provisioning**. The remainder of this topic will explain the **Advanced provisioning scenario**.
|
||||||
|
|
||||||
|
- For instructions on **Simple provisioning**, see [Provision PCs with common settings](provision-pcs-for-initial-deployment.md).
|
||||||
|
- For instructions on **Provision school devices**, see [Set up student PCs to join domain](https://technet.microsoft.com/edu/windows/set-up-students-pcs-to-join-domain).
|
||||||
|
|
||||||
|
|
||||||
|
## Configure settings
|
||||||
|
|
||||||
|
For an advanced provisioning project, Windows ICD opens the **Available customizations** pane. The example in the following image is based on **All Windows desktop editions** settings.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The settings in Windows ICD are based on Windows 10 configuration service providers (CSPs). To learn more about CSPs, see [Introduction to configuration service providers (CSPs) for IT pros](https://technet.microsoft.com/itpro/windows/manage/how-it-pros-can-use-configuration-service-providers).
|
||||||
|
|
||||||
|
The process for configuring settings is similar for all settings. The following table shows an example.
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td></br>Expand a category.</td><td></td></tr>
|
||||||
|
<tr><td></br>Select a setting.</td><td></td></tr>
|
||||||
|
<tr><td></br>Enter a value for the setting. Click **Add** if the button is displayed.</td><td></td></tr>
|
||||||
|
<tr><td></br>Some settings, such as this example, require additional information. In **Available customizations**, select the value you just created, and additional settings are displayed.</td><td></td></tr>
|
||||||
|
<tr><td></br>When the setting is configured, it is displayed in the **Selected customizations** pane.</td><td></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For details on each specific setting, see [Windows Provisioning settings reference](https://msdn.microsoft.com/library/windows/hardware/dn965990.aspx). The reference topic for a setting is also displayed in Windows ICD when you select the setting, as shown in the following image.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Build package
|
||||||
|
|
||||||
|
1. After you're done configuring your customizations, click **Export** and select **Provisioning Package**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2. In the **Describe the provisioning package** window, enter the following information, and then click **Next**:
|
||||||
|
- **Name** - This field is pre-populated with the project name. You can change this value by entering a different name in the **Name** field.
|
||||||
|
- **Version (in Major.Minor format** - - Optional. You can change the default package version by specifying a new value in the **Version** field.
|
||||||
|
- **Owner** - Select **IT Admin**. For more information, see [Precedence for provisioning packages](provisioning-how-it-works.md#precedence-for-provisioning-packages).
|
||||||
|
- **Rank (between 0-99)** - Optional. You can select a value between 0 and 99, inclusive. The default package rank is 0.
|
||||||
|
|
||||||
|
3. In the **Select security details for the provisioning package** window, you can select to encrypt and/or sign a provisioning package with a selected certificate. Both selections are optional. Click **Next** after you make your selections.
|
||||||
|
|
||||||
|
- **Encrypt package** - If you select this option, an auto-generated password will be shown on the screen.
|
||||||
|
- **Sign package** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by clicking **Select** and choosing the certificate you want to use to sign the package.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>You should only configure provisioning package security when the package is used for device provisioning and the package has contents with sensitive security data such as certificates or credentials that should be prevented from being compromised. When applying an encrypted and/or signed provisioning package, either during OOBE or through the setting UI, the package can be decrypted, and if signed, be trusted without explicit user consent. An IT administrator can set policy on a user device to restrict the removal of required packages from the device, or the provisioning of potentially harmful packages on the device.
|
||||||
|
>
|
||||||
|
>If a provisioning package is signed by a trusted provisioner, it can be installed on a device without a prompt for user consent. In order to enable trusted provider certificates, you must set the **TrustedProvisioners** setting prior to installing the trusted provisioning package. This is the only way to install a package without user consent. To provide additional security, you can also set **RequireProvisioningPackageSignature**, which prevents users from installing provisioning packages that are not signed by a trusted provisioner.
|
||||||
|
|
||||||
|
4. In the **Select where to save the provisioning package** window, specify the output location where you want the provisioning package to go once it's built, and then click **Next**. By default, Windows ICD uses the project folder as the output location.
|
||||||
|
|
||||||
|
5. In the **Build the provisioning package** window, click **Build**. The provisioning package doesn't take long to build. The project information is displayed in the build page and the progress bar indicates the build status.
|
||||||
|
|
||||||
|
If you need to cancel the build, click Cancel. This cancels the current build process, closes the wizard, and takes you back to the Customizations Page.
|
||||||
|
|
||||||
|
6. If your build fails, an error message will show up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again.
|
||||||
|
|
||||||
|
If your build is successful, the name of the provisioning package, output directory, and project directory will be shown.
|
||||||
|
|
||||||
|
If you choose, you can build the provisioning package again and pick a different path for the output package. To do this, click **Back** to change the output package name and path, and then click **Next** to start another build.
|
||||||
|
|
||||||
|
7. When you are done, click **Finish** to close the wizard and go back to the Customizations page.
|
||||||
|
|
||||||
|
**Next step**: [How to apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
|
||||||
|
## Learn more
|
||||||
|
|
||||||
|
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
||||||
|
|
||||||
|
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
184
windows/deploy/provisioning-how-it-works.md
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
---
|
||||||
|
title: How provisioning works in Windows 10 (Windows 10)
|
||||||
|
description: A provisioning package (.ppkg) is a container for a collection of configuration settings.
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# How provisioning works in Windows 10
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
Provisioning packages in Windows 10 provide IT administrators with a simplified way to apply configuration settings to Windows 10 devices. Windows Imaging and Configuration Designer (Windows ICD) is a tool that makes it easy to create a provisioning package. Windows ICD is contained in the [Windows Assessment and Deployment Kit (ADK)](https://developer.microsoft.com/windows/hardware/windows-assessment-deployment-kit).
|
||||||
|
|
||||||
|
## Provisioning packages
|
||||||
|
|
||||||
|
A provisioning package contains specific configurations/settings and assets that can be provided through a removable media or simply downloaded to the device.
|
||||||
|
|
||||||
|
To enable adding multiple sets of settings or configurations, the configuration data used by the provisioning engine is built out of multiple configuration sources that consist of separate provisioning packages. Each provisioning package contains the provisioning data from a different source.
|
||||||
|
|
||||||
|
A provisioning package (.ppkg) is a container for a collection of configuration settings. The package has the following format:
|
||||||
|
|
||||||
|
- Package metadata – The metadata contains basic information about the package such as package name, description, version, ranking, and so on.
|
||||||
|
|
||||||
|
- XML descriptors – Each descriptor defines a customization asset or configuration setting included in the package.
|
||||||
|
|
||||||
|
- Asset payloads – The payloads of a customization asset or a configuration setting associated with an app or data asset.
|
||||||
|
|
||||||
|
You can use provisioning packages for runtime device provisioning by accessing the package on a removable media attached to the device, through near field communication (NFC), or by downloading from a remote source location.
|
||||||
|
|
||||||
|
## Precedence for provisioning packages
|
||||||
|
|
||||||
|
When multiple provisioning packages are available for device provisioning, the combination of package owner type and package rank level defined in the package manifest is used to resolve setting conflicts. The pre-defined package owner types are listed below in the order of lowest to highest owner type precedence:
|
||||||
|
|
||||||
|
1. Microsoft
|
||||||
|
|
||||||
|
2. Silicon Vender
|
||||||
|
|
||||||
|
3. OEM
|
||||||
|
|
||||||
|
4. System Integrator
|
||||||
|
|
||||||
|
5. Mobile Operator
|
||||||
|
|
||||||
|
6. IT Admin
|
||||||
|
|
||||||
|
The valid value range of package rank level is 0 to 99.
|
||||||
|
|
||||||
|
When setting conflicts are encountered, the final values provisioned on the device are determined by the owner type precedence and the rank level of the packages containing the settings. For example, the value of a setting in a package with owner **System Integrator** and rank level **3** takes precedence over the same setting in a package with owner **OEM** and rank level **4**. This is because the System Integrator owner type has the higher precedence over the OEM owner type. For packages with the same owner type, the package rank level determines the package from which the setting values get provisioned on the device.
|
||||||
|
|
||||||
|
## Windows provisioning XML
|
||||||
|
|
||||||
|
Windows provisioning XML is the framework that allows Microsoft and OEM components to declare end-user configurable settings and the on-device infrastructure for applying the settings with minimal work by the component owner.
|
||||||
|
|
||||||
|
Settings for each component can be declared within that component's package manifest file. These declarations are turned into settings schema that are used by Windows ICD to expose the potential settings to users to create customizations in the image or in provisioning packages. Windows ICD translates the user configuration, which is declared through Windows provisioning answer file(s), into the on-device provisioning format.
|
||||||
|
|
||||||
|
When the provisioning engine selects a configuration, the Windows provisioning XML is contained within the selected provisioning data and is passed through the configuration manager and then to the Windows provisioning CSP. The Windows provisioning CSP then takes and applies the provisioning to the proper location for the actual component to use.
|
||||||
|
|
||||||
|
## Provisioning engine
|
||||||
|
|
||||||
|
The provisioning engine is the core component for managing provisioning and configuration at runtime in a device running Windows 10.
|
||||||
|
|
||||||
|
The provisioning engine provides the following functionality:
|
||||||
|
|
||||||
|
- Provisioning configuration at any time when the device is running including first boot and setup or OOBE. It is also extensible to other points during the run-time of the device.
|
||||||
|
- Reading and combining settings from multiple sources of configuration that may be added to an image by Microsoft, the OEM, or system integrator, or added by IT/education administrators or users to the device at run-time. Configuration sources may be built into the image or from provisioning packages added to the device.
|
||||||
|
- Responding to triggers or events and initiating a provisioning stage.
|
||||||
|
- Authenticating the provisioning packages.
|
||||||
|
- Selecting a set of configuration based on the stage and a set of keys—such as the SIM, MCC/MNC, IMSI range, and so on—that map to a specific configuration then passing this configuration to the configuration management infrastructure to be applied.
|
||||||
|
- Working with OOBE and the control panel UI to allow user selection of configuration when a specific match cannot be determined.
|
||||||
|
|
||||||
|
## Configuration manager
|
||||||
|
|
||||||
|
The configuration manager provides the unified way of managing Windows 10 devices. Configuration is mainly done through the Open Mobile Alliance (OMA) Device Management (DM) and Client Provisioning (CP) protocols. The configuration manager handles and parses these protocol requests from different channels and passes them down to Configuration Service Providers (CSPs) to perform the specific management requests and settings.
|
||||||
|
|
||||||
|
The provisioning engine relies on configuration manager for all of the actual processing and application of a chosen configuration. The provisioning engine determines the stage of provisioning and, based on a set of keys, determines the set of configuration to send to the configuration manager. The configuration manager in turn parses and calls into the CSPs for the setting to be applied.
|
||||||
|
|
||||||
|
Underneath the configuration manager are the CSPs. Each section of configuration translates to a particular CSP to handle interpreting into an action on the device. Each CSP translates the instructions in the configuration and calls into the appropriate APIs and components to perform the requested provisioning actions.
|
||||||
|
|
||||||
|
## Policy and resource manager
|
||||||
|
|
||||||
|
The policy, resource, and context manager components manage the enrollment and unenrollment of devices into enterprise environments. The enrollment process into an enterprise is essentially the provisioning of configuration and device management policies that the enterprise wants to enforce on the device. This is usually done through the explicit signing up of the device to an enterprise's device management server over a network connection. This provides the user with the ability to access the enterprise's resources through the device and the enterprise with a means to manage and control access and manage and control the device itself.
|
||||||
|
|
||||||
|
The key differences between enterprise enrollment and the configuration performed by the provisioning engine are:
|
||||||
|
- Enrollment enforces a limited and controlled set of policies on the device that the user may not have full control over. The provisioning engine exposes a larger set of settings that configure more aspects of the device and are generally user adjustable.
|
||||||
|
- The policy manager manages policy settings from multiple entities and performs a selection of the setting based on priority of the entities. The provisioning engine applies the settings and does not offer a means of prioritizing settings from different sources. The more specific provisioning is the last one applied and the one that is used.
|
||||||
|
- Individual policy settings applied from different enrollment entities are stored so they can be removed later during unenrollment. This enables the user to remove enterprise policy and return the device to a state without the enterprise restrictions and any sensitive data. The provisioning engine does not maintain individual provisioning settings or a means to roll back all applied settings.
|
||||||
|
|
||||||
|
In Windows 10, the application of policy and enrollment through provisioning is required to support cases where an enterprise or educational institution does not have a DM server for full device management. The provisioning engine supports provisioning enrollment and policy through its configuration and integrates with the existing policy and resource manager components directly or through the configuration manager.
|
||||||
|
|
||||||
|
## Triggers and stages
|
||||||
|
|
||||||
|
Triggers are events during the lifetime of the system that start a provisioning stage. Some examples of triggers are: boot, OOBE, SIM change, user added, administrator added, user login, device update, and various manual triggers (such as deployment over USB or launched from an email attachment or USB flash drive).
|
||||||
|
|
||||||
|
When a trigger occurs, provisioning is initiated for a particular provisioning stage. The stages are grouped into sets based on the scope of the settings:
|
||||||
|
- **Static**: First stage run for provisioning to apply configuration settings to the system to set up OOBE or apply device-wide settings that cannot be done when the image is being created.
|
||||||
|
- **System**: Run during OOBE and configure system-wide settings.
|
||||||
|
- **UICC**: UICC stages run for each new UICC in a device to handle configuration and branding based on the identity of the UICC or SIM card. This enables the runtime configuration scenarios where an OEM can maintain one image that can be configured for multiple operators.
|
||||||
|
- **Update**: Runs after an update to apply potential updated settings changes.
|
||||||
|
- **User**: runs during a user account first run to configure per-user settings.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Device provisioning during OOBE
|
||||||
|
|
||||||
|
The provisioning engine always applies provisioning packages persisted in the C:\Recovery\Customizations folder on the OS partition. When the provisioning engine applies provisioning packages in the %ProgramData%\Microsoft\Provisioning folder, certain runtime setting applications, such as the setting to install and configure Windows apps, may be extended past the OOBE pass and continually be processed in the background when the device gets to the desktop. Settings for configuring policies and certain crucial system configurations are always be completed before the first point at which they must take effect.
|
||||||
|
|
||||||
|
Device users can apply a provisioning package from a remote source when the device first boots to OOBE. The device provisioning during OOBE is only triggered after the language, locale, time zone, and other settings on the first OOBE UI page are configured. On all Windows devices, device provisioning during OOBE can be triggered by 5 fast taps on the Windows hardware key. When device provisioning is triggered, the provisioning UI is displayed in the OOBE page. The provisioning UI allows users to select a provisioning package acquired from a remote source, such as through NFC or a removable media.
|
||||||
|
|
||||||
|
The following table shows how device provisioning can be initiated when a user first boots to OOBE.
|
||||||
|
|
||||||
|
|
||||||
|
| Package delivery | Initiation method | Supported device |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| Removable media - USB drive or SD card</br> (Packages must be placed at media root) | 5 fast taps on the Windows key to launch the provisioning UI |All Windows devices |
|
||||||
|
| From an administrator device through machine to machine NFC or NFC tag</br>(The administrator device must run an app that can transfer the package over NFC) | 5 fast taps on the Windows key to launch the provisioning UI | Windows 10 Mobile devices and IoT Core devices |
|
||||||
|
|
||||||
|
The provisioning engine always copies the acquired provisioning packages to the %ProgramData%\Microsoft\Provisioning folder before processing them during OOBE. The provisioning engine always applies provisioning packages embedded in the installed Windows image during Windows Setup OOBE pass regardless of whether the package is signed and trusted. When the provisioning engine applies an encrypted provisioning package on an end-user device during OOBE, users must first provide a valid password to decrypt the package. The provisioning engine also checks whether a provisioning package is signed and trusted; if it's not, the user must provide consent before the package is applied to the device.
|
||||||
|
|
||||||
|
When the provisioning engine applies provisioning packages during OOBE, it applies only the runtime settings from the package to the device. Runtime settings can be system-wide configuration settings, including security policy, Windows app install/uninstall, network configuration, bootstrapping MDM enrollment, provisioning of file assets, account and domain configuration, Windows edition upgrade, and more. The provisioning engine also checks for the configuration settings on the device, such as region/locale or SIM card, and applies the multivariant settings with matching condition(s).
|
||||||
|
|
||||||
|
## Device provisioning at runtime
|
||||||
|
|
||||||
|
At device runtime, standalone provisioning packages can be applied by user initiation. Only runtime configuration settings including multivariant settings contained in a provisioning package can be applied at device runtime.
|
||||||
|
|
||||||
|
The following table shows when provisioning at device runtime can be initiated.
|
||||||
|
|
||||||
|
| Package delivery | Initiation method | Supported device |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| Removable media - USB drive or SD card</br>(Packages must be placed at media root) | **Settings** > **Accounts** > **Access work or school** > **Add or remove a provisioning package** | All Windows devices |
|
||||||
|
| Downloaded from a network connection and copied to a local folder | Double-click the package file | Windows 10 for desktop editions devices |
|
||||||
|
| From an administrator device connected to the target device through USB tethering | Drag and drop the package file onto the target device | Windows 10 Mobile devices and IoT Core devices |
|
||||||
|
|
||||||
|
When applying provisioning packages from a removable media attached to the device, the Settings UI allows viewing contents of a package before selecting the package for provisioning. To minimize the risk of the device being spammed by applying provisioning packages from unknown sources, a provisioning package can be signed and encrypted. Partners can also set policies to limit the application of provisioning packages at device runtime. Applying provisioning packages at device runtime requires administrator privilege. If the package is not signed or trusted, a user must provide consent before the package is applied to the device. If the package is encrypted, a valid password is needed to decrypt the package before it can be applied to the device.
|
||||||
|
|
||||||
|
When applying multiple provisioning packages to a device, the provisioning engine resolves settings with conflicting configuration values from different packages by evaluating the package ranking using the combination of package owner type and package rank level defined in the package metadata. A configuration setting applied from a provisioning package with the highest package ranking will be the final value applied to the device.
|
||||||
|
|
||||||
|
After a standalone provisioning package is applied to the device, the package is persisted in the %ProgramData%\Microsoft\Provisioning folder on the device. Provisioning packages can be removed by an administrator by using the **Add or remove a provisioning package** available under **Settings** > **Accounts** > **Access work or school**. However, Windows 10 doesn't provide an uninstall option to revert runtime settings when removing a provisioning package from the device.
|
||||||
|
|
||||||
|
|
||||||
|
## Learn more
|
||||||
|
|
||||||
|
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
||||||
|
|
||||||
|
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
106
windows/deploy/provisioning-install-icd.md
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
---
|
||||||
|
title: Install Windows Imaging and Configuration Designer (Windows 10)
|
||||||
|
description: Learn how to install and run Windows ICD.
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Install Windows Imaging and Configuration Designer (ICD)
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
Use the Windows Imaging and Configuration Designer (ICD) tool in the Windows Assessment and Deployment Kit (ADK) to create provisioning packages to easily configure devices running Windows 10. Windows ICD is primarily designed for use by IT departments for business and educational institutions who need to provision bring-your-own-device (BYOD) and business-supplied devices.
|
||||||
|
|
||||||
|
## Supported platforms
|
||||||
|
|
||||||
|
Windows ICD can create provisioning packages for Windows 10 desktop and mobile editions, including Windows 10 IoT Core. You can run Windows ICD on the following operating systems:
|
||||||
|
|
||||||
|
- Windows 10 - x86 and amd64
|
||||||
|
- Windows 8.1 Update - x86 and amd64
|
||||||
|
- Windows 8.1 - x86 and amd64
|
||||||
|
- Windows 8 - x86 and amd64
|
||||||
|
- Windows 7 - x86 and amd64
|
||||||
|
- Windows Server 2016
|
||||||
|
- Windows Server 2012 R2 Update
|
||||||
|
- Windows Server 2012 R2
|
||||||
|
- Windows Server 2012
|
||||||
|
- Windows Server 2008 R2
|
||||||
|
|
||||||
|
## Install Windows ICD
|
||||||
|
|
||||||
|
1. Go to [Download the Windows ADK](https://developer.microsoft.com/windows/hardware/windows-assessment-deployment-kit) and select **Get Windows ADK** for the version of Windows 10 that you want to create provisioning packages for (version 1511 or version 1607).
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>The rest of this procedure uses Windows ADK for Windows 10, version 1607 as an example.
|
||||||
|
|
||||||
|
2. Save **adksetup.exe** and then run it.
|
||||||
|
|
||||||
|
3. On the **Specify Location** page, select an installation path and then click **Next**.
|
||||||
|
>[!NOTE]
|
||||||
|
>The estimated disk space listed on this page applies to the full Windows ADK. If you only install Windows ICD, the space requirement is approximately 32 MB.
|
||||||
|
4. Make a selection on the **Windows Kits Privacy** page, and then click **Next**.
|
||||||
|
|
||||||
|
5. Accept the **License Agreement**, and then click **Next**.
|
||||||
|
|
||||||
|
6. On the **Select the features you want to install** page, clear all selections except **Configuration Designer**, and then click **Install**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Current Windows ICD limitations
|
||||||
|
|
||||||
|
|
||||||
|
- You can only run one instance of Windows ICD on your computer at a time.
|
||||||
|
|
||||||
|
- Be aware that when adding apps and drivers, all files stored in the same folder will be imported and may cause errors during the build process.
|
||||||
|
|
||||||
|
- The Windows ICD UI does not support multivariant configurations. Instead, you must use the Windows ICD command-line interface to configure multivariant settings. For more information, see [Create a provisioning package with multivariant settings](provisioning-multivariant.md).
|
||||||
|
|
||||||
|
- While you can open multiple projects at the same time within Windows ICD, you can only build one project at a time.
|
||||||
|
|
||||||
|
- In order to enable the simplified authoring jscripts to work on a server SKU running Windows ICD, you need to explicitly enable **Allow websites to prompt for information using scripted windows**. Do this by opening Internet Explorer and then navigating to **Settings** > **Internet Options** > **Security** -> **Custom level** > **Allow websites to prompt for information using scripted windows**, and then choose **Enable**.
|
||||||
|
|
||||||
|
- If you copy a Windows ICD project from one PC to another PC, make sure that all the associated files for the deployment assets, such as apps and drivers, are copied along with the project to the same path as it was on the original PC.
|
||||||
|
|
||||||
|
For example, when you add a driver to a provisioned package, you must copy the .INF file to a local directory on the PC that is running Windows ICD. If you don't do this, and attempt to use a copied version of this project on a different PC, Windows ICD might attempt to resolve the path to the files that point to the original PC.
|
||||||
|
|
||||||
|
- **Recommended**: Before starting, copy all source files to the PC running Windows ICD, rather than using external sources like network shares or removable drives. This reduces the risk of interrupting the build process from a temporary network issue or from disconnecting the USB device.
|
||||||
|
|
||||||
|
**Next step**: [How to create a provisioning package](provisioning-create-package.md)
|
||||||
|
|
||||||
|
## Learn more
|
||||||
|
|
||||||
|
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
||||||
|
|
||||||
|
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
322
windows/deploy/provisioning-multivariant.md
Normal file
@ -0,0 +1,322 @@
|
|||||||
|
---
|
||||||
|
title: Create a provisioning package with multivariant settings (Windows 10)
|
||||||
|
description: Create a provisioning package with multivariant settings to customize the provisioned settings.
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Create a provisioning package with multivariant settings
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
Multivariant provisioning packages enable you to create a single provisioning package that can work for multiple locales.
|
||||||
|
|
||||||
|
To provision multivariant settings, you must create a provisioning package with defined **Conditions** and **Settings** that are tied to these conditions. When you install this package on a Windows 10 device, the provisioning engine applies the matching condition settings at every event and triggers provisioning.
|
||||||
|
|
||||||
|
The following events trigger provisioning on Windows 10 devices:
|
||||||
|
|
||||||
|
| Event | Windows 10 Mobile | Windows 10 for desktop editions (Home, Pro, Enterprise, and Education) |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| System boot | Supported | Supported |
|
||||||
|
| Operating system update | Supported | Planned |
|
||||||
|
| Package installation during device first run experience | Supported | Supported |
|
||||||
|
| Detection of SIM presence or update | Supported | Not supported |
|
||||||
|
| Package installation at runtime | Supported | Supported |
|
||||||
|
| Roaming detected | Supported | Not supported |
|
||||||
|
|
||||||
|
## Target, TargetState, Condition, and priorities
|
||||||
|
|
||||||
|
Targets describe keying for a variant and must be described or pre-declared before being referenced by the variant.
|
||||||
|
|
||||||
|
- You can define multiple **Target** child elements for each **Id** that you need for the customization setting.
|
||||||
|
|
||||||
|
- Within a **Target** you can define multiple **TargetState** elements.
|
||||||
|
|
||||||
|
- Within a **TargetState** element you can create multiple **Condition** elements.
|
||||||
|
|
||||||
|
- A **Condition** element defines the matching type between the condition and the specified value.
|
||||||
|
|
||||||
|
The following table shows the conditions supported in Windows 10 provisioning:
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>You can use any of these supported conditions when defining your **TargetState**.
|
||||||
|
|
||||||
|
| Condition Name | Condition priority | Windows 10 Mobile | Windows 10 for desktop editions | Value type | Value description |
|
||||||
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
| MNC | P0 | Supported | N/A | Digit string | Use to target settings based on the Mobile Network Code (MNC) value. |
|
||||||
|
| MCC | P0 | Supported | N/A | Digit string | Use to target settings based on the Mobile Country Code (MCC) value. |
|
||||||
|
| SPN | P0 | Supported | N/A | String | Use to target settings based on the Service Provider Name (SPN) value. |
|
||||||
|
| PNN | P0 | Supported | N/A | String | Use to target settings based on public land mobile network (PLMN) Network Name value. |
|
||||||
|
| GID1 | P0 | Supported | N/A | Digit string | Use to target settings based on the Group Identifier (level 1) value. |
|
||||||
|
| ICCID | P0 | Supported | N/A | Digit string | Use to target settings based on the Integrated Circuit Card Identifier (ICCID) value. |
|
||||||
|
| Roaming | P0 | Supported | N/A | Boolean | Use to specify roaming. Set the value to **1** (roaming) or **0** (non-roaming). |
|
||||||
|
| UICC | P0 | Supported | N/A | Enumeration | Use to specify the UICC state. Set the value to one of the following:</br></br></br>- 0 - Empty</br>- 1 - Ready</br>- 2 - Locked |
|
||||||
|
| UICCSLOT | P0 | Supported | N/A | Digit string | Use to specify the UICC slot. Set the value one of the following:</br></br></br>- 0 - Slot 0</br>- 1 - Slot 1 |
|
||||||
|
| ProcessorType | P1 | Supported | Supported | String | Use to target settings based on the processor type. |
|
||||||
|
| ProcessorName | P1 | Supported | Supported | String | Use to target settings based on the processor name. |
|
||||||
|
| AoAc | P1 | Supported | Supported | Boolean | Set the value to 0 or 1. |
|
||||||
|
| PowerPlatformRole | P1 | Supported | Supported | Enumeration | Indicates the preferred power management profile. Set the value based on the POWER_PLATFORM_ROLE enumeration. |
|
||||||
|
| Architecture | P1 | Supported | Supported | String | Matches the PROCESSOR_ARCHITECTURE environment variable. |
|
||||||
|
| Server | P1 | Supported | Supported | Boolean | Set the value to 0 or 1. |
|
||||||
|
| Region | P1 | Supported | Supported | Enumeration | Use to target settings based on country/region. |
|
||||||
|
| Lang | P1 | Supported | Supported | Enumeration | Use to target settings based on language code. |
|
||||||
|
| ROMLANG | P1 | Supported | N/A | Digit string | Use to specify the PhoneROMLanguage that's set for DeviceTargeting. This condition is used primarily to detect variants for China. For example, you can use this condition and set the value to "0804". |
|
||||||
|
|
||||||
|
The matching types supported in Windows 10 are:
|
||||||
|
|
||||||
|
| Matching type | Syntax | Example |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| Straight match | Matching type is specified as-is | <Condition Name="ProcessorName" Value="Barton" /> |
|
||||||
|
| Regex match | Matching type is prefixed by "Pattern:" | <Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" /> |
|
||||||
|
| Numeric range match | Matching type is prefixed by "!Range:" | <Condition Name="MNC" Value="!Range:400, 550" /> |
|
||||||
|
|
||||||
|
|
||||||
|
- When all **Condition** elements are TRUE, **TargetState** is TRUE (**AND** logic).
|
||||||
|
|
||||||
|
- If any of the **TargetState** elements is TRUE, **Target** is TRUE (**OR** logic), and **Id** can be used for the setting customization.
|
||||||
|
|
||||||
|
|
||||||
|
You can define more than one **TargetState** within a provisioning package to apply variant settings that match device conditions. When the provisioning engine evalues each **TargetState**, more than one **TargetState** may fit current device conditions. To determine the order in which the variant settings are applied, the system assigns a priority to every **TargetState**.
|
||||||
|
|
||||||
|
A variant setting that matches a **TargetState** with a lower priority is applied before the variant that matches a **TargetState** with a higher priority. Variant settings that match more than one **TargetState** with equal priority are applied according to the order that each **TargetState** is defined in the provisioning package.
|
||||||
|
|
||||||
|
The **TargetState** priority is assigned based on the conditions priority and the priority evaluation rules are as followed:
|
||||||
|
|
||||||
|
1. T**TargetState** with P0 conditions is higher than **TargetState** without P0 conditions.
|
||||||
|
|
||||||
|
|
||||||
|
2. **TargetState** with P1 conditions is higher than **TargetState** without P0 and P1 conditions.
|
||||||
|
|
||||||
|
|
||||||
|
3. If N₁>N₂>0, the **TargetState** priority with N₁ P0 conditions is higher than the **TargetState** with N₂ P1 conditions.
|
||||||
|
|
||||||
|
|
||||||
|
4. For **TargetState** without P0 conditions, if N₁>N₂>0 **TargetState** with N₁ P1 conditions is higher than the **TargetState** with N₂ P1 conditions.
|
||||||
|
|
||||||
|
|
||||||
|
5. For **TargetState** without P0 and P1 conditions, if N₁>N₂>0 **TargetState** priority with N₁ P2 conditions is higher than the **TargetState** with N₂ P2 conditions.
|
||||||
|
|
||||||
|
|
||||||
|
6. For rules 3, 4, and 5, if N₁=N₂, **TargetState** priorities are considered equal.
|
||||||
|
|
||||||
|
|
||||||
|
## Create a provisioning package with multivariant settings
|
||||||
|
|
||||||
|
Follow these steps to create a provisioning package with multivariant capabilities.
|
||||||
|
|
||||||
|
|
||||||
|
1. Build a provisioning package and configure the customizations you need to apply during certain conditions. For more information, see [Create a provisioning package](provisioning-create-package.md).
|
||||||
|
|
||||||
|
|
||||||
|
2. After you've [configured the settings](provisioning-create-package.md#configure-settings), save the project.
|
||||||
|
|
||||||
|
|
||||||
|
3. Open the project folder and copy the customizations.xml file.
|
||||||
|
|
||||||
|
4. Use an XML or text editor to open the customizations.xml file.
|
||||||
|
|
||||||
|
The customizations.xml file holds the package metadata (including the package owner and rank) and the settings that you configured when you created your provisioning package. The Customizations node contains a Common section, which contains the customization settings.
|
||||||
|
|
||||||
|
The following example shows the contents of a sample customizations.xml file.
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WindowsCustomizatons>
|
||||||
|
<PackageConfig xmlns="urn:schemas-Microsoft-com:Windows-ICD-Package-Config.v1.0">
|
||||||
|
<ID>{6aaa4dfa-00d7-4aaa-8adf-73c6a7e2501e}</ID>
|
||||||
|
<Name>My Provisioning Package</Name>
|
||||||
|
<Version>1.0</Version>
|
||||||
|
<OwnerType>OEM</OwnerType>
|
||||||
|
<Rank>50</Rank>
|
||||||
|
</PackageConfig>
|
||||||
|
<Settings xmlns="urn:schemas-microsoft-com:windows-provisioning">
|
||||||
|
<Customizations>
|
||||||
|
<Common>
|
||||||
|
<Policies>
|
||||||
|
<AllowBrowser>0</AllowBrowser>
|
||||||
|
<AllowCamera>0</AllowCamera>
|
||||||
|
<AllowBluetooth>0</AllowBluetooth>
|
||||||
|
</Policies>
|
||||||
|
<HotSpot>
|
||||||
|
<Enabled>0</Enabled>
|
||||||
|
</HotSpot>
|
||||||
|
</Common>
|
||||||
|
</Customizations>
|
||||||
|
</Settings>
|
||||||
|
</WindowsCustomizatons>
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Edit the customizations.xml file and create a **Targets** section to describe the conditions that will handle your multivariant settings.
|
||||||
|
|
||||||
|
The following example shows the customizations.xml, which has been modified to include several conditions including **ProcessorName**, **ProcessorType**, **MCC**, and **MNC**.
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WindowsCustomizatons>
|
||||||
|
<PackageConfig xmlns="urn:schemas-Microsoft-com:Windows-ICD-Package-Config.v1.0">
|
||||||
|
<ID>{6aaa4dfa-00d7-4aaa-8adf-73c6a7e2501e}</ID>
|
||||||
|
<Name>My Provisioning Package</Name>
|
||||||
|
<Version>1.0</Version>
|
||||||
|
<OwnerType>OEM</OwnerType>
|
||||||
|
<Rank>50</Rank>
|
||||||
|
</PackageConfig>
|
||||||
|
<Settings xmlns="urn:schemas-microsoft-com:windows-provisioning">
|
||||||
|
<Customizations>
|
||||||
|
<Common>
|
||||||
|
<Policies>
|
||||||
|
<AllowBrowser>0</AllowBrowser>
|
||||||
|
<AllowCamera>0</AllowCamera>
|
||||||
|
<AllowBluetooth>0</AllowBluetooth>
|
||||||
|
</Policies>
|
||||||
|
<HotSpot>
|
||||||
|
<Enabled>0</Enabled>
|
||||||
|
</HotSpot>
|
||||||
|
</Common>
|
||||||
|
<Targets>
|
||||||
|
<Target Id="Unique target identifier for desktop">
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" />
|
||||||
|
<Condition Name="ProcessorType" Value="Pattern:.*(I|i)ntel.*" />
|
||||||
|
</TargetState>
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="ProcessorName" Value="Barton" />
|
||||||
|
<Condition Name="ProcessorType" Value="Athlon MP" />
|
||||||
|
</TargetState>
|
||||||
|
</Target>
|
||||||
|
<Target Id="Mobile target">
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="MCC" Value="Range:310, 320" />
|
||||||
|
<Condition Name="MNC" Value="!Range:400, 550" />
|
||||||
|
</TargetState>
|
||||||
|
</Target>
|
||||||
|
</Targets>
|
||||||
|
</Customizations>
|
||||||
|
</Settings>
|
||||||
|
</WindowsCustomizatons>
|
||||||
|
```
|
||||||
|
|
||||||
|
5. In the customizations.xml file, create a **Variant** section for the settings you need to customize. To do this:
|
||||||
|
|
||||||
|
a. Define a child **TargetRefs** element.
|
||||||
|
|
||||||
|
b. Within the **TargetRefs** element, define a **TargetRef** element. You can define multiple **TargetRef** elements for each **Id** that you need to apply to customized settings.
|
||||||
|
|
||||||
|
c. Move compliant settings from the **Common** section to the **Variant** section.
|
||||||
|
|
||||||
|
If any of the TargetRef elements matches the Target, all settings in the Variant are applied (OR logic).
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>You can define multiple Variant sections. Settings that reside in the **Common** section are applied unconditionally on every triggering event.
|
||||||
|
|
||||||
|
The following example shows the customizations.xml updated to include a **Variant** section and the moved settings that will be applied if the conditions for the variant are met.
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WindowsCustomizatons>
|
||||||
|
<PackageConfig xmlns="urn:schemas-Microsoft-com:Windows-ICD-Package-Config.v1.0">
|
||||||
|
<ID>{6aaa4dfa-00d7-4aaa-8adf-73c6a7e2501e}</ID>
|
||||||
|
<Name>My Provisioning Package</Name>
|
||||||
|
<Version>1.0</Version>
|
||||||
|
<OwnerType>OEM</OwnerType>
|
||||||
|
<Rank>50</Rank>
|
||||||
|
</PackageConfig>
|
||||||
|
<Settings xmlns="urn:schemas-microsoft-com:windows-provisioning">
|
||||||
|
<Customizations>
|
||||||
|
<Common>
|
||||||
|
</Common>
|
||||||
|
<Targets>
|
||||||
|
<Target Id="Unique target identifier for desktop">
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" />
|
||||||
|
<Condition Name="ProcessorType" Value="Pattern:.*(I|i)ntel.*" />
|
||||||
|
</TargetState>
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="ProcessorName" Value="Barton" />
|
||||||
|
<Condition Name="ProcessorType" Value="Athlon MP" />
|
||||||
|
</TargetState>
|
||||||
|
</Target>
|
||||||
|
<Target Id="Mobile target">
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="MCC" Value="Range:310, 320" />
|
||||||
|
<Condition Name="MNC" Value="!Range:400, 550" />
|
||||||
|
</TargetState>
|
||||||
|
</Target>
|
||||||
|
</Targets>
|
||||||
|
<Variant>
|
||||||
|
<TargetRefs>
|
||||||
|
<TargetRef Id="Unique target identifier for desktop" />
|
||||||
|
<TargetRef Id="Mobile target" />
|
||||||
|
</TargetRefs>
|
||||||
|
<Settings>
|
||||||
|
<Policies>
|
||||||
|
<AllowBrowser>1</AllowBrowser>
|
||||||
|
<AllowCamera>1</AllowCamera>
|
||||||
|
<AllowBluetooth>1</AllowBluetooth>
|
||||||
|
</Policies>
|
||||||
|
<HotSpot>
|
||||||
|
<Enabled>1</Enabled>
|
||||||
|
</HotSpot>
|
||||||
|
</Settings>
|
||||||
|
</Variant>
|
||||||
|
</Customizations>
|
||||||
|
</Settings>
|
||||||
|
</WindowsCustomizatons>
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Save the updated customizations.xml file and note the path to this updated file. You will need the path as one of the values for the next step.
|
||||||
|
|
||||||
|
|
||||||
|
7. Use the [Windows ICD command-line interface](provisioning-command-line.md) to create a provisioning package using the updated customizations.xml.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
icd.exe /Build-ProvisioningPackage /CustomizationXML:"C:\CustomProject\customizations.xml" /PackagePath:"C:\CustomProject\output.ppkg" /StoreFile:C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\Microsoft-Common-Provisioning.dat"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
In this example, the **StoreFile** corresponds to the location of the settings store that will be used to create the package for the required Windows edition.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>The provisioning package created during this step will contain the multivariant settings. You can use this package either as a standalone package that you can apply to a Windows device or use it as the base when starting another project.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
153
windows/deploy/provisioning-nfc.md
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
---
|
||||||
|
title: NFC-based device provisioning (Windows 10)
|
||||||
|
description:
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# NFC-based device provisioning
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
Near field communication (NFC) enables Windows 10 Mobile Enterprise and Windows 10 Mobile devices to communicate with an NFC tag or another NFC-enabled transmitting device. Enterprises that do bulk provisioning can use NFC-based device provisioning to provide a provisioning package to the device that's being provisioned. NFC provisioning is simple and convenient and it can easily store an entire provisioning package.
|
||||||
|
|
||||||
|
The NFC provisioning option enables the administrator to provide a provisioning package during initial device setup or the out-of-box experience (OOBE) phase. Administrators can use the NFC provisioning option to transfer provisioning information to persistent storage by tapping an unprovisioned mobile device to an NFC tag or NFC-enabled device. To use NFC for pre-provisioning a device, you must either prepare your own NFC tags by storing your provisioning package to a tag as described in this section, or build the infrastructure needed to transmit a provisioning package between an NFC-enabled device and a mobile device during OOBE.
|
||||||
|
|
||||||
|
## Provisioning OOBE UI
|
||||||
|
|
||||||
|
All Windows 10 Mobile Enterprise and Windows 10 Mobile images have the NFC provisioning capability incorporated into the operating system. On devices that support NFC and are running Windows 10 Mobile Enterprise or Windows 10 Mobile, NFC-based device provisioning provides an additional mechanism to provision the device during OOBE.
|
||||||
|
|
||||||
|
On all Windows devices, device provisioning during OOBE can be triggered by 5 fast taps on the Windows hardware key, which shows the **Provision this device** screen. In the **Provision this device** screen, select **NFC** for NFC-based provisioning.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
If there is an error during NFC provisioning, the device will show a message if any of the following errors occur:
|
||||||
|
|
||||||
|
- **NFC initialization error** - This can be caused by any error that occurs before data transfer has started. For example, if the NFC driver isn't enabled or there's an error communicating with the proximity API.
|
||||||
|
- **Interrupted download or incomplete package transfer** - This error can happen if the peer device is out of range or the transfer is aborted. This error can be caused whenever the device being provisioned fails to receive the provisioning package in time.
|
||||||
|
- **Incorrect package format** - This error can be caused by any protocol error that the operating system encounters during the data transfer between the devices.
|
||||||
|
- **NFC is disabled by policy** - Enterprises can use policies to disallow any NFC usage on the managed device. In this case, NFC functionality is not enabled.
|
||||||
|
|
||||||
|
## NFC tag
|
||||||
|
|
||||||
|
You can use an NFC tag for minimal provisioning and use an NFC-enabled device tag for larger provisioning packages.
|
||||||
|
|
||||||
|
The protocol used for NFC-based device provisioning is similar to the one used for NFC provisioning on Windows Embedded 8.1 Handheld, which supported both single-chunk and multi-chunk transfer when the total transfer didn't fit in one NDEP message size. In Windows 10, the provisioning stack contains the following changes:
|
||||||
|
|
||||||
|
- **Protocol namespace** - The protocol namespace has changed from Windows.WEH.PreStageProv.Chunk to Windows.ProvPlugins.Chunk.
|
||||||
|
- **Tag data type** - The tag data type has changed from UTF-8 into binary raw data.
|
||||||
|
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>The NFC tag doesn't go in the secondary device. You can transfer the NFC tag by using a provisioning package from device-to-device using the NFC radio or by re-reading the provisioning package from an NFC tag.
|
||||||
|
|
||||||
|
### NFC tag components
|
||||||
|
|
||||||
|
NFC tags are suitable for very light applications where minimal provisioning is required. The size of NFC tags that contain provisioning packages is typically 4 KB to 10 KB.
|
||||||
|
|
||||||
|
To write to an NFC tag, you will need to use an NFC Writer tool, or you can use the [ProximityDevice class API](https://msdn.microsoft.com/library/windows/apps/windows.networking.proximity.proximitydevice.aspx) to write your own custom tool to transfer your provisioning package file to your NFC tag. The tool must publish a binary message (write) a Chunk data type to your NFC tag.
|
||||||
|
|
||||||
|
The following table describes the information that is required when writing to an NFC tag.
|
||||||
|
|
||||||
|
| Required field | Description |
|
||||||
|
| --- | --- |
|
||||||
|
| **Type** | Windows.ProvPlugins.Chunk<br></br>The receiving device uses this information to understand information in the Data field. |
|
||||||
|
| **Data** | Tag data with small header in raw binary format that contains a chunk of the provisioning package to be transferred. |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### NFC provisioning helper
|
||||||
|
|
||||||
|
The NFC provisioning helper device must split the provisioning package raw content into multiple parts and publish these in order. Each part should follow the following format:
|
||||||
|
|
||||||
|
<table><tr><td>**Version**</br>(1 byte)</td><td>**Leading**<br>(1 byte)</td><td>**Order**</br>(1 byte)</td><td>**Total**</br>(1 byte)</td><td>**Chunk payload**</br>(N bytes)</td></tr></table>
|
||||||
|
|
||||||
|
For each part:
|
||||||
|
- **Version** should always be 0x00.
|
||||||
|
- **Leading byte** should always be 0xFF.
|
||||||
|
- **Order** represents which message chunk (out of the whole message) the part belongs to. The Order begins with zero (0).
|
||||||
|
- **Total** represents the total number of chunks to be transferred for the whole message.
|
||||||
|
- **Chunk payload** represents each of the split parts.
|
||||||
|
|
||||||
|
The NFC provisioning helper device must publish the record in a type of Windows.ProvPlugins.Chunk.
|
||||||
|
|
||||||
|
**Code example**
|
||||||
|
|
||||||
|
The following example shows how to write to an NFC tag. This example assumes that the tag is already in range of the writing device.
|
||||||
|
|
||||||
|
```
|
||||||
|
private async void WriteProvPkgToTag(IStorageFile provPkgFile)
|
||||||
|
{
|
||||||
|
var buffer = await FileIO.ReadBufferAsync(provPkgFile);
|
||||||
|
if (null == buffer)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();
|
||||||
|
if (null == proximityDevice)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var dataWriter = new DataWriter();
|
||||||
|
var header = new NfcProvHeader();
|
||||||
|
|
||||||
|
header.version = NFC_PROV_MESSAGE_CURRENT_VERSION; // Currently the supported version is 0x00.
|
||||||
|
header.leading = NFC_PROV_MESSAGE_LEADING_BYTE; // The leading byte should be always 0xFF.
|
||||||
|
header.index = 0; // Assume we only have 1 chunk.
|
||||||
|
header.total = 1; // Assume we only have 1 chunk.
|
||||||
|
|
||||||
|
// Write the header first and then the raw data of the provisioning package.
|
||||||
|
dataWriter.WriteBytes(GetBytes(header));
|
||||||
|
dataWriter.WriteBuffer(buffer);
|
||||||
|
|
||||||
|
var chunkPubId = proximityDevice.PublishBinaryMessage(
|
||||||
|
"Windows:WriteTag.ProvPlugins.Chunk",
|
||||||
|
dataWriter.DetachBuffer());
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### NFC-enabled device tag components
|
||||||
|
|
||||||
|
Provisioning from an NFC-enabled source device allows for larger provisioning packages than can be transferred using an NFC tag. When provisioning from an NFC-enabled device, we recommend that the total file size not exceed 120 KB. Be aware that the larger the NFC file is, the longer it will take to transfer the provisioning file. Depending on your NFC hardware, the transfer time for a 120 KB file will vary between 2.5 seconds and 10 seconds.
|
||||||
|
|
||||||
|
To provision from an NFC-enabled source device, use [ProximityDevice class API](https://msdn.microsoft.com/library/windows/apps/windows.networking.proximity.proximitydevice.aspx) to write your own custom tool that transfers your provisioning package in chunks to your target mobile device. The tool must publish binary messages (transmit) a Header message, followed by one or more Chunk messages. The Header specifies the total amount of data that will be transferred to the target device; the Chunks must contain binary raw data formatted provisioning data, as shown in the NFC tag components section.
|
||||||
|
|
||||||
|
For detailed information and code samples on how to implement an NFC-enabled device tag, see **ConvertToNfcMessageAsync** in [this GitHub NfcProvisioner Universal Windows app example](https://github.com/Microsoft/Windows-universal-samples/blob/master/Samples/NfcProvisioner/cs/Scenario1.xaml.cs). The sample app shows you how to host the provisioning package on a master device so that you can transfer it to the receiving device.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -3,9 +3,8 @@ title: Provisioning packages (Windows 10)
|
|||||||
description: With Windows 10, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image.
|
description: With Windows 10, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image.
|
||||||
ms.assetid: 287706E5-063F-4AB5-902C-A0DF6D0730BC
|
ms.assetid: 287706E5-063F-4AB5-902C-A0DF6D0730BC
|
||||||
ms.prod: w10
|
ms.prod: w10
|
||||||
ms.mktglfcycl: explore
|
ms.mktglfcycl: deploy
|
||||||
ms.sitesec: library
|
ms.sitesec: library
|
||||||
ms.pagetype: mobile
|
|
||||||
author: jdeckerMS
|
author: jdeckerMS
|
||||||
localizationpriority: high
|
localizationpriority: high
|
||||||
---
|
---
|
||||||
@ -18,15 +17,17 @@ localizationpriority: high
|
|||||||
- Windows 10
|
- Windows 10
|
||||||
- Windows 10 Mobile
|
- Windows 10 Mobile
|
||||||
|
|
||||||
Windows provisioning makes it easy for IT administrators to configure end-user devices without imaging. Using Windows Provisioning, an IT administrator can easily specify desired configuration and settings required to enroll the devices into management (through a wizard-driven user interface) and then apply that configuration to target devices in a matter of minutes. It is best suited for small- to medium-sized businesses with deployments that range from tens to a few hundred computers.
|
Windows provisioning makes it easy for IT administrators to configure end-user devices without imaging. Using Windows provisioning, an IT administrator can easily specify desired configuration and settings required to enroll the devices into management and then apply that configuration to target devices in a matter of minutes. It is best suited for small- to medium-sized businesses with deployments that range from tens to a few hundred computers.
|
||||||
|
|
||||||
With Windows 10, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image.
|
A provisioning package (.ppkg) is a container for a collection of configuration settings. With Windows 10, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image.
|
||||||
|
|
||||||
Provisioning packages are simple enough that with a short set of written instructions, a student or non-technical employee can use them to configure their device. This can result in a significant reduction in the time required to configure multiple devices in your organization.
|
Provisioning packages are simple enough that with a short set of written instructions, a student or non-technical employee can use them to configure their device. This can result in a significant reduction in the time required to configure multiple devices in your organization.
|
||||||
|
|
||||||
|
The [Windows Assessment and Deployment Kit (ADK) for Windows 10](https://developer.microsoft.com/windows/hardware/windows-assessment-deployment-kit) includes the Imaging and Configuration Designer (ICD), a tool for configuring provisioning packages.
|
||||||
|
|
||||||
## New in Windows 10, Version 1607
|
## New in Windows 10, Version 1607
|
||||||
|
|
||||||
The Windows Assessment and Deployment Kit (ADK) for Windows 10 includes the Imaging and Configuration Designer (ICD), a tool for configuring images and runtime settings which are then built into provisioning packages. Windows ICD for Windows 10, Version 1607, simplifies common provisioning scenarios.
|
Windows ICD for Windows 10, Version 1607, simplifies common provisioning scenarios.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -74,7 +75,7 @@ Provisioning packages can be:
|
|||||||
## What you can configure
|
## What you can configure
|
||||||
|
|
||||||
|
|
||||||
The following table provides some examples of what can be configured using provisioning packages.
|
The following table provides some examples of what you can configure using provisioning packages.
|
||||||
|
|
||||||
| Customization options | Examples |
|
| Customization options | Examples |
|
||||||
|--------------------------|-----------------------------------------------------------------------------------------------|
|
|--------------------------|-----------------------------------------------------------------------------------------------|
|
||||||
@ -92,41 +93,26 @@ The following table provides some examples of what can be configured using provi
|
|||||||
|
|
||||||
For details about the settings you can customize in provisioning packages, see [Windows Provisioning settings reference]( https://go.microsoft.com/fwlink/p/?LinkId=619012).
|
For details about the settings you can customize in provisioning packages, see [Windows Provisioning settings reference]( https://go.microsoft.com/fwlink/p/?LinkId=619012).
|
||||||
|
|
||||||
## Creating a provisioning package
|
|
||||||
|
|
||||||
|
|
||||||
With Windows 10, you can use the Windows Imaging and Configuration Designer (ICD) tool to create provisioning packages. To install Windows ICD and create provisioning packages, you must [install the Windows Assessment and Deployment Kit (ADK) for Windows 10](https://developer.microsoft.com/windows/hardware/windows-assessment-deployment-kit).
|
|
||||||
|
|
||||||
When you run ADKsetup.exe for Windows 10, version 1607, select the following feature from the **Select the features you want to install** dialog box:
|
|
||||||
|
|
||||||
- **Configuration Designer**
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> In previous versions of the Windows 10 ADK, you had to install additional features for Windows ICD to run. Starting in version 1607, you can install Windows ICD without other ADK features.
|
|
||||||
|
|
||||||
After you install Windows ICD, you can use it to create a provisioning package. For detailed instructions on how to create a provisioning package, see [Build and apply a provisioning package](https://go.microsoft.com/fwlink/p/?LinkID=629651).
|
|
||||||
|
|
||||||
## Applying a provisioning package to a device
|
|
||||||
|
|
||||||
|
|
||||||
Provisioning packages can be applied both during image deployment and during runtime. For information on how to apply a provisioning package to a Windows 10-based device, see [Build and apply a provisioning package](https://go.microsoft.com/fwlink/p/?LinkID=629651).
|
|
||||||
|
|
||||||
## Learn more
|
## Learn more
|
||||||
|
|
||||||
|
- Watch the video: [Provisioning Windows 10 Devices with New Tools](https://go.microsoft.com/fwlink/p/?LinkId=615921)
|
||||||
|
|
||||||
[Windows 10: Deployment](https://go.microsoft.com/fwlink/p/?LinkId=533708)
|
- Watch the video: [Windows 10 for Mobile Devices: Provisioning Is Not Imaging](https://go.microsoft.com/fwlink/p/?LinkId=615922)
|
||||||
|
|
||||||
## Related topics
|
## Related topics
|
||||||
|
|
||||||
- [Provision PCs with common settings for initial deployment](provision-pcs-for-initial-deployment.md)
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
- [Provision PCs with apps and certificates for initial deployments](provision-pcs-with-apps-and-certificates.md)
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
- [Configure devices without MDM](../manage/configure-devices-without-mdm.md)
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
- [Set up a shared or guest PC with Windows 10](../manage/set-up-shared-or-guest-pc.md)
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
- [Set up a device for anyone to use (kiosk mode)](../manage/set-up-a-device-for-anyone-to-use.md)
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
- [Customize Windows 10 Start and taskbar with ICD and provisioning packages](../manage/customize-windows-10-start-screens-by-using-provisioning-packages-and-icd.md)
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
- [Set up student PCs to join domain](https://technet.microsoft.com/edu/windows/set-up-students-pcs-to-join-domain)
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
222
windows/deploy/provisioning-script-to-install-app.md
Normal file
@ -0,0 +1,222 @@
|
|||||||
|
---
|
||||||
|
title: Use a script to install a desktop app in provisioning packages (Windows 10)
|
||||||
|
description: With Windows 10, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image.
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Use a script to install a desktop app in provisioning packages
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
This walkthrough describes how to leverage the ability to include scripts in a Windows 10 provisioning package to install Win32 applications. Scripted operations other than installing apps can also be performed, however, some care is needed in order to avoid unintended behavior during script execution (see Remarks below).
|
||||||
|
|
||||||
|
>**Prerequisite**: [Windows Assessment and Deployment Kit (ADK) for Windows 10](https://developer.microsoft.com/windows/hardware/windows-assessment-deployment-kit), version 1511 or higher
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>This scenario is only supported for installing applications on Windows 10 for desktop, version 1511 or higher.
|
||||||
|
|
||||||
|
## Assemble the application assets
|
||||||
|
|
||||||
|
1. On the device where you’re authoring the package, place all of your assets in a known location. Each asset must have a unique filename, because all files will be copied to the same temp directory on the device. It’s common for many apps to have an installer called ‘install.exe’ or similar, and there may be name overlap because of that. To fix this, you can use the technique described in the next step to include a complete directory structure that is then expanded into the temp directory on the device. The most common use for this would be to include a subdirectory for each application.
|
||||||
|
|
||||||
|
2. If you need to include a directory structure of files, you will need to cab the assets for easy inclusion in the provisioning packages.
|
||||||
|
|
||||||
|
## Cab the application assets
|
||||||
|
|
||||||
|
1. Create a .DDF file as below, replacing *file1* and *file2* with the files you want to package, and adding the name of file/directory.
|
||||||
|
|
||||||
|
```
|
||||||
|
;*** MSDN Sample Source Code MakeCAB Directive file example
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
.OPTION EXPLICIT ; Generate errors on variable typos
|
||||||
|
|
||||||
|
.set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory
|
||||||
|
|
||||||
|
.Set MaxDiskFileCount=1000; Limit file count per cabinet, so that
|
||||||
|
|
||||||
|
; scanning is not too slow
|
||||||
|
|
||||||
|
.Set FolderSizeThreshold=200000 ; Aim for ~200K per folder
|
||||||
|
|
||||||
|
.Set CompressionType=MSZIP
|
||||||
|
|
||||||
|
;** All files are compressed in cabinet files
|
||||||
|
|
||||||
|
.Set Cabinet=on
|
||||||
|
|
||||||
|
.Set Compress=on
|
||||||
|
|
||||||
|
;-------------------------------------------------------------------
|
||||||
|
|
||||||
|
;** CabinetNameTemplate = name of cab
|
||||||
|
|
||||||
|
;** DiskDirectory1 = output directory where cab will be created
|
||||||
|
|
||||||
|
;-------------------------------------------------------------------
|
||||||
|
|
||||||
|
.Set CabinetNameTemplate=tt.cab
|
||||||
|
|
||||||
|
.Set DiskDirectory1=.
|
||||||
|
|
||||||
|
;-------------------------------------------------------------------
|
||||||
|
|
||||||
|
; Replace <file> with actual files you want to package
|
||||||
|
|
||||||
|
;-------------------------------------------------------------------
|
||||||
|
|
||||||
|
<file1>
|
||||||
|
|
||||||
|
<file2>
|
||||||
|
|
||||||
|
;*** <the end>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Use makecab to create the cab files.
|
||||||
|
|
||||||
|
```
|
||||||
|
Makecab -f <path to DDF file>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create the script to install the application
|
||||||
|
|
||||||
|
Create a script to perform whatever work is needed to install the application(s). The following examples are provided to help get started authoring the orchestrator script that will execute the required installers. In practice, the orchestrator script may reference many more assets than those in these examples.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>All actions performed by the script must happen silently, showing no UI and requiring no user interaction.
|
||||||
|
>
|
||||||
|
>The scripts will be run on the device in system context.
|
||||||
|
|
||||||
|
### Debugging example
|
||||||
|
|
||||||
|
Granular logging is not built in, so the logging must be built into the script itself. Here is an example script that logs ‘Hello World’ to a logfile. When run on the device, the logfile will be available after provisioning is completed. As you will see in the following examples, it’s recommended that you log each action that your script performs.
|
||||||
|
|
||||||
|
```
|
||||||
|
set LOGFILE=%SystemDrive%\HelloWorld.log
|
||||||
|
echo Hello, World >> %LOGFILE%
|
||||||
|
```
|
||||||
|
### .exe example
|
||||||
|
|
||||||
|
This example script shows how to create a log output file on the system drive, install an app from a .exe installer, and echo the results to the log file.
|
||||||
|
|
||||||
|
```
|
||||||
|
set LOGFILE=%SystemDrive%\Fiddler_install.log
|
||||||
|
echo Installing Fiddler.exe >> %LOGFILE%
|
||||||
|
fiddler4setup.exe /S >> %LOGFILE%
|
||||||
|
echo result: %ERRORLEVEL% >> %LOGFILE%
|
||||||
|
```
|
||||||
|
|
||||||
|
### .msi example
|
||||||
|
|
||||||
|
This is the same as the previous installer, but installs the app from an MSI installer. Notice that msiexec is called with the /quiet flag in order to meet the silent requirement of scripts run from within a provisioning package.
|
||||||
|
|
||||||
|
```
|
||||||
|
set LOGFILE=%SystemDrive%\IPOverUsb_install.log
|
||||||
|
echo Installing IpOverUsbInstaller.msi >> %LOGFILE%
|
||||||
|
msiexec /i IpOverUsbInstaller.msi /quiet >> %LOGFILE%
|
||||||
|
echo result: %ERRORLEVEL% >> %LOGFILE%
|
||||||
|
```
|
||||||
|
|
||||||
|
### PowerShell example
|
||||||
|
|
||||||
|
This is an example script with logging that shows how to run a powershell script from the provisioning commands setting. Note that the PowerShell script referenced from this example must also be included in the package, and obey the same requirements as all scripts run from within the provisioning package: it must execute silently, with no user interaction.
|
||||||
|
|
||||||
|
```
|
||||||
|
set LOGFILE=%SystemDrive%\my_powershell_script.log
|
||||||
|
echo Running my_powershell_script.ps1 in system context >> %LOGFILE%
|
||||||
|
echo Executing "PsExec.exe -accepteula -i -s cmd.exe /c powershell.exe my_powershell_script.ps1" >> %LOGFILE%
|
||||||
|
PsExec.exe -accepteula -i -s cmd.exe /c powershell.exe my_powershell_script.ps1' >> %LOGFILE%
|
||||||
|
echo result: %ERRORLEVEL% >> %LOGFILE%
|
||||||
|
```
|
||||||
|
|
||||||
|
### Extract from a .CAB example
|
||||||
|
|
||||||
|
This example script shows expansion of a .cab from the provisioning commands script, as well as installation of the expanded setup.exe
|
||||||
|
|
||||||
|
```
|
||||||
|
set LOGFILE=%SystemDrive%\install_my_app.log
|
||||||
|
echo Expanding installer_assets.cab >> %LOGFILE%
|
||||||
|
expand -r installer_assets.cab -F:* . >> %LOGFILE%
|
||||||
|
echo result: %ERRORLEVEL% >> %LOGFILE%
|
||||||
|
echo Installing MyApp >> %LOGFILE%
|
||||||
|
setup.exe >> %LOGFILE%
|
||||||
|
echo result: %ERRORLEVEL% >> %LOGFILE%
|
||||||
|
```
|
||||||
|
|
||||||
|
### Calling multiple scripts in the package
|
||||||
|
|
||||||
|
You are currently allowed one CommandLine per PPKG. The batch files shown above are orchestrator scripts that manage the installation and calls any other scripts included in the PPKG. The orchestrator script is what should be invoked from the CommandLine specified in the package.
|
||||||
|
|
||||||
|
Here’s a table describing this relationship, using the PowerShell example from above:
|
||||||
|
|
||||||
|
|
||||||
|
|ICD Setting | Value | Description |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| ProvisioningCommands/DeviceContext/CommandLine | cmd /c PowerShell_Example.bat | The command line needed to invoke the orchestrator script. |
|
||||||
|
| ProvisioningCommands/DeviceContext/CommandFiles | PowerShell_Example.bat | The single orchestrator script referenced by the command line that handles calling into the required installers or performing any other actions such as expanding cab files. This script must do the required logging. |
|
||||||
|
| ProvisioningCommands/DeviceContext/CommandFiles | my_powershell_script.ps1 | Other assets referenced by the orchestrator script. In this example there is only one, but there could be many assets referenced here. One common use case is using the orchestrator to call a series of install.exe or setup.exe installers to install several applications. Each of those installers must be included as an asset here. |
|
||||||
|
|
||||||
|
|
||||||
|
### Add script to provisioning package
|
||||||
|
|
||||||
|
When you have the batch file written and the referenced assets ready to include, you can add them to a provisioning package in the Window Imaging and Configuration Designer (Windows ICD).
|
||||||
|
|
||||||
|
Using ICD, specify the full details of how the script should be run in the CommandLine setting in the provisioning package. This includes flags or any other parameters that you would normally type on the command line. So for example if the package contained an app installer called install.exe and a script used to automate the install called InstallMyApp.bat, the `ProvisioningCommands/DeviceContext/CommandLine` setting should be configured to:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmd /c InstallMyApp.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
In ICD, this looks like:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
You also need to add the relevant assets for that command line including the orchestrator script and any other assets it references such as installers or .cab files.
|
||||||
|
|
||||||
|
In ICD, that is done by adding files under the `ProvisioningCommands/DeviceContext/CommandFiles` setting.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
When you are done, [build the package](provisioning-create-package.md#build-package).
|
||||||
|
|
||||||
|
|
||||||
|
### Remarks
|
||||||
|
1. No user interaction or console output is supported via ProvisioningCommands. All work needs to be silent. If your script attempts to do any of the following it will cause undefined behavior, and could put the device in an unrecoverable state if executed during setup or the Out of Box Experience:
|
||||||
|
a. Echo to console
|
||||||
|
b. Display anything on the screen
|
||||||
|
c. Prompt the user with a dialog or install wizard
|
||||||
|
2. When applied at first boot, provisioning runs early in the boot sequence and before a user context has been established; care must be taken to only include installers that can run at this time. Other installers can be provisioned via a management tool.
|
||||||
|
3. If the device is put into an unrecoverable state because of a bad script, you can reset it using [recovery options in Windows 10](https://support.microsoft.com/help/12415/windows-10-recovery-options).
|
||||||
|
4. The CommandFile assets are deployed on the device to a temporary folder unique to each package.
|
||||||
|
a. For packages added during the out of box experience, this is usually in `%WINDIR%\system32\config\systemprofile\appdata\local\Temp\ProvisioningPkgTmp\<{PackageIdGuid}>\Commands`
|
||||||
|
b. For packages added by double-clicking on an already deployed device, this will be in the temp folder for the user executing the PPKG: `%TMP%\ProvisioningPkgTmp\<{PackageIdGuid}>\Commands`
|
||||||
|
5. The command line will be executed with the directory the CommandFiles were deployed to as the working directory. This means you do not need to specific the full path to assets in the command line or from within any script.
|
||||||
|
6. The runtime provisioning component will attempt to run the scripts from the PPKG at the earliest point possible, depending on the stage when the PPKG was added. For example, if the package was added during the Out-of-Box Experience, it will be run immediately after the package is applied, while the Out-of-Box Experience is still happening. This is before the user account configuration options are presented to the user. A spinning progress dialog will appear and “please wait” will be displayed on the screen.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>There is a timeout of 30 minutes for the provisioning process at this point. All scripts and installs need to complete within this time.
|
||||||
|
7. The scripts are executed in the background as the rest of provisioning continues to run. For packages added on existing systems using the double-click to install, there is no notification that provisioning or script execution has completed
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
98
windows/deploy/provisioning-uninstall-package.md
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
---
|
||||||
|
title: Settings changed when you uninstall a provisioning package (Windows 10)
|
||||||
|
description: This topic lists the settings that are reverted when you uninstall a provisioning package.
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: deploy
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Settings changed when you uninstall a provisioning package
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Windows 10 Mobile
|
||||||
|
|
||||||
|
When you uninstall a provisioning package, only certain settings are revertible. This topic lists the settings that are reverted when you uninstall a provisioning package.
|
||||||
|
|
||||||
|
|
||||||
|
As an administrator, you can uninstall by using the **Add or remove a package for work or school** option available under **Settings** > **Accounts** > **Access work or school**.
|
||||||
|
|
||||||
|
When a provisioning package is uninstalled, some of its settings are reverted, which means the value for the setting is changed to the next available or default value. Not all settings, however, are revertible.
|
||||||
|
|
||||||
|
Only settings in the following lists are revertible.
|
||||||
|
|
||||||
|
## Registry-based settings
|
||||||
|
|
||||||
|
The registry-based settings that are revertible when a provisioning package is uninstalled all fall under these categories, which you can find in the Graphical User Interface of the Windows Imaging and Configuration Designer (Windows ICD).
|
||||||
|
|
||||||
|
|
||||||
|
- [Wi-Fi Sense](https://msdn.microsoft.com/library/windows/hardware/mt219706.aspx)
|
||||||
|
- [CountryAndRegion](https://msdn.microsoft.com/library/windows/hardware/mt219726.aspx)
|
||||||
|
- DeviceManagement / PGList/ LogicalProxyName
|
||||||
|
- UniversalAppInstall / LaunchAppAtLogin
|
||||||
|
- [Power](https://msdn.microsoft.com/library/windows/hardware/dn953704.aspx)
|
||||||
|
- [TabletMode](https://msdn.microsoft.com/library/windows/hardware/mt297550.aspx)
|
||||||
|
- [Maps](https://msdn.microsoft.com/library/windows/hardware/mt131464.aspx)
|
||||||
|
- [Browser](https://msdn.microsoft.com/library/windows/hardware/mt573151.aspx)
|
||||||
|
- [DeviceFormFactor](https://msdn.microsoft.com/library/windows/hardware/mt243449.aspx)
|
||||||
|
- [USBErrorsOEMOverride](https://msdn.microsoft.com/library/windows/hardware/mt769908.aspx)
|
||||||
|
- [WeakCharger](https://msdn.microsoft.com/library/windows/hardware/mt346401.aspx)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## CSP-based settings
|
||||||
|
|
||||||
|
Here is the list of revertible settings based on configuration service providers (CSPs).
|
||||||
|
|
||||||
|
[ActiveSync CSP](https://msdn.microsoft.com/library/windows/hardware/dn920017.aspx)
|
||||||
|
[AppLocker CSP](https://msdn.microsoft.com/library/windows/hardware/dn920019.aspx)
|
||||||
|
[BrowserFavorite CSP](https://msdn.microsoft.com/library/windows/hardware/dn914758.aspx)
|
||||||
|
[CertificateStore CSP](https://msdn.microsoft.com/library/windows/hardware/dn920021.aspx)
|
||||||
|
[ClientCertificateInstall CSP](https://msdn.microsoft.com/library/windows/hardware/dn920023.aspx)
|
||||||
|
[RootCATrustedCertificates CSP](https://msdn.microsoft.com/library/windows/hardware/dn904970.aspx)
|
||||||
|
[CM_CellularEntries CSP](https://msdn.microsoft.com/library/windows/hardware/dn914761.aspx)
|
||||||
|
[CM_ProxyEntries CSP](https://msdn.microsoft.com/library/windows/hardware/dn914762.aspx)
|
||||||
|
[CMPolicy CSP](https://msdn.microsoft.com/library/windows/hardware/dn914760.aspx)
|
||||||
|
[CMPolicyEnterprise CSP](https://msdn.microsoft.com/library/windows/hardware/mt706463.aspx)
|
||||||
|
[EMAIL2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn904953.aspx)
|
||||||
|
[EnterpriseAPN CSP](https://msdn.microsoft.com/library/windows/hardware/dn958617.aspx)
|
||||||
|
[EnterpriseAppManagement CSP](https://msdn.microsoft.com/library/windows/hardware/dn904955.aspx)
|
||||||
|
[EnterpriseDesktopAppManagement CSP](https://msdn.microsoft.com/library/windows/hardware/dn958620.aspx)
|
||||||
|
[EnterpriseModernAppManagement CSP](https://msdn.microsoft.com/library/windows/hardware/dn904956.aspx)
|
||||||
|
[NAP CSP](https://msdn.microsoft.com/library/windows/hardware/dn914767.aspx)
|
||||||
|
[PassportForWork CSP](https://msdn.microsoft.com/library/windows/hardware/dn987099.aspx)
|
||||||
|
[Provisioning CSP](https://msdn.microsoft.com/library/windows/hardware/mt203665.aspx)
|
||||||
|
[PROXY CSP](https://msdn.microsoft.com/library/windows/hardware/dn914770.aspx)
|
||||||
|
[SecureAssessment CSP](https://msdn.microsoft.com/library/windows/hardware/mt718628.aspx)
|
||||||
|
[VPN CSP](https://msdn.microsoft.com/library/windows/hardware/dn904978.aspx)
|
||||||
|
[VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx)
|
||||||
|
[WiFi CSP](https://msdn.microsoft.com/library/windows/hardware/dn904981.aspx)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
- [Provisioning packages for Windows 10](provisioning-packages.md)
|
||||||
|
- [How provisioning works in Windows 10](provisioning-how-it-works.md)
|
||||||
|
- [Install Windows Imaging and Configuration Designer](provisioning-install-icd.md)
|
||||||
|
- [Create a provisioning package](provisioning-create-package.md)
|
||||||
|
- [Apply a provisioning package](provisioning-apply-package.md)
|
||||||
|
- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md)
|
||||||
|
- [Provision PCs with apps and certificates for initial deployments (advanced provisioning)](provision-pcs-with-apps-and-certificates.md)
|
||||||
|
- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md)
|
||||||
|
- [NFC-based device provisioning](provisioning-nfc.md)
|
||||||
|
- [Windows ICD command-line interface (reference)](provisioning-command-line.md)
|
||||||
|
- [Create a provisioning package with multivariant settings](provisioning-multivariant.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -45,6 +45,8 @@
|
|||||||
## [Manage Windows 10 Start and taskbar layout](windows-10-start-layout-options-and-policies.md)
|
## [Manage Windows 10 Start and taskbar layout](windows-10-start-layout-options-and-policies.md)
|
||||||
### [Configure Windows 10 taskbar](configure-windows-10-taskbar.md)
|
### [Configure Windows 10 taskbar](configure-windows-10-taskbar.md)
|
||||||
### [Customize and export Start layout](customize-and-export-start-layout.md)
|
### [Customize and export Start layout](customize-and-export-start-layout.md)
|
||||||
|
### [Start layout XML for desktop editions of Windows 10 (reference)](start-layout-xml-desktop.md)
|
||||||
|
### [Start layout XML for mobile editions of Windows 10 (reference)](start-layout-xml-mobile.md)
|
||||||
### [Customize Windows 10 Start and taskbar with Group Policy](customize-windows-10-start-screens-by-using-group-policy.md)
|
### [Customize Windows 10 Start and taskbar with Group Policy](customize-windows-10-start-screens-by-using-group-policy.md)
|
||||||
### [Customize Windows 10 Start and taskbar with ICD and provisioning packages](customize-windows-10-start-screens-by-using-provisioning-packages-and-icd.md)
|
### [Customize Windows 10 Start and taskbar with ICD and provisioning packages](customize-windows-10-start-screens-by-using-provisioning-packages-and-icd.md)
|
||||||
### [Customize Windows 10 Start with mobile device management (MDM)](customize-windows-10-start-screens-by-using-mobile-device-management.md)
|
### [Customize Windows 10 Start with mobile device management (MDM)](customize-windows-10-start-screens-by-using-mobile-device-management.md)
|
||||||
|
@ -15,9 +15,14 @@ This topic lists new and updated topics in the [Manage and update Windows 10](in
|
|||||||
>If you're looking for **update history** for Windows 10, see [Windows 10 and Windows Server 2016 update history](https://support.microsoft.com/help/12387/windows-10-update-history).
|
>If you're looking for **update history** for Windows 10, see [Windows 10 and Windows Server 2016 update history](https://support.microsoft.com/help/12387/windows-10-update-history).
|
||||||
|
|
||||||
## January 2017
|
## January 2017
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
| New or changed topic | Description |
|
| New or changed topic | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [Cortana integration in your business or enterprise](cortana-at-work-overview.md) | New |
|
| [Cortana integration in your business or enterprise](cortana-at-work-overview.md) | New |
|
||||||
|
| [Start layout XML for desktop editions of Windows 10](start-layout-xml-desktop.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
| [Start layout XML for mobile editions of Windows 10](start-layout-xml-mobile.md) | New (previously published in Hardware Dev Center on MSDN) |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## December 2016
|
## December 2016
|
||||||
|
BIN
windows/manage/images/mobile-start-layout.png
Normal file
After Width: | Height: | Size: 332 KiB |
493
windows/manage/start-layout-xml-desktop.md
Normal file
@ -0,0 +1,493 @@
|
|||||||
|
---
|
||||||
|
title: Start layout XML for desktop editions of Windows 10 (Windows 10)
|
||||||
|
description: This topic describes the options for customizing Start layout in LayoutModification.xml for Windows 10 desktop editions.
|
||||||
|
keywords: ["start screen"]
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: manage
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Start layout XML for desktop editions of Windows 10 (reference)
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
|
||||||
|
>**Looking for consumer information?** See [Customize the Start menu](https://go.microsoft.com/fwlink/p/?LinkId=623630)
|
||||||
|
|
||||||
|
On Windows 10 for desktop editions, the customized Start works by:
|
||||||
|
|
||||||
|
- Windows 10 checks the chosen base default layout, such as the desktop edition and whether Cortana is supported for the country/region.
|
||||||
|
|
||||||
|
- Windows 10 reads the LayoutModification.xml file and allows groups to be appended to Start. The groups have the following constraints:
|
||||||
|
- 2 groups that are 6 columns wide, or equivalent to the width of 3 medium tiles.
|
||||||
|
- 2 medium-sized tile rows in height. Windows 10 ignores any tiles that are pinned beyond the second row.
|
||||||
|
- No limit to the number of apps that can be pinned. There is a theoretical limit of 24 tiles per group (4 small tiles per medium square x 3 columns x 2 rows).
|
||||||
|
|
||||||
|
## LayoutModification XML
|
||||||
|
|
||||||
|
IT admins can provision the Start layout using a LayoutModification.xml file. This file supports several mechanisms to modify or replace the default Start layout and its tiles. The easiest method for creating a LayoutModification.xml file is by using the Export-StartLayout cmdlet; see [Customize and export Start layout](customize-and-export-start-layout.md) for instructions.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>To make sure the Start layout XML parser processes your file correctly, follow these guidelines when working with your LayoutModification.xml file:
|
||||||
|
>- Do not leave spaces or white lines in between each element.
|
||||||
|
>- Do not add comments inside the StartLayout node or any of its children elements.
|
||||||
|
>- Do not add multiple rows of comments.
|
||||||
|
|
||||||
|
The following table lists the supported elements and attributes for the LayoutModification.xml file.
|
||||||
|
|
||||||
|
| Element | Attributes | Description |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| LayoutModificationTemplate | xmlns</br>xmlns:defaultlayout</br>xmlns:start</br>Version | Use to describe the changes to the default Start layout |
|
||||||
|
| [LayoutOptions](#layoutoptions)</br></br>Parent:</br>LayoutModificationTemplate | StartTileGroupsColumnCount</br>FullScreenStart | Use to specify:</br>- Whether to use full screen Start on the desktop</br>- The number of tile columns in the Start menu |
|
||||||
|
| RequiredStartGroupsCollection</br></br>Parent:</br>LayoutModificationTemplate | n/a | Use to contain collection of RequiredStartGroups |
|
||||||
|
| [RequiredStartGroups](#requiredstartgroups)</br></br>Parent:</br>RequiredStartGroupsCollection | Region | Use to contain the AppendGroup tags, which represent groups that can be appended to the default Start layout |
|
||||||
|
| [AppendGroup](#appendgroup)</br></br>Parent:</br>RequiredStartGroups | Name | Use to specify the tiles that need to be appended to the default Start layout |
|
||||||
|
| [start:Tile](#specify-start-tiles)</br></br>Parent:</br>AppendGroup | AppUserModelID</br>Size</br>Row</br>Column | Use to specify any of the following:</br>- A Universal Windows app</br>- A Windows 8 or Windows 8.1 app |
|
||||||
|
| start:DesktopApplicationTile</br></br>Parent:</br>AppendGroup | DesktopApplicationID</br>DesktopApplicationLinkPath</br>Size</br>Row</br>Column | Use to specify any of the following:</br>- A Windows desktop application with a known AppUserModelID</br>- An application in a known folder with a link in a legacy Start Menu folder</br>- A Windows desktop application link in a legacy Start Menu folder</br>- A Web link tile with an associated .url file that is in a legacy Start Menu folder |
|
||||||
|
| start:SecondaryTile</br></br>Parent:</br>AppendGroup | AppUserModelID</br>TileID</br>Arguments</br>DisplayName</br>Square150x150LogoUri</br>ShowNameOnSquare150x150Logo</br>ShowNameOnWide310x150Logo</br>Wide310x150LogoUri</br>BackgroundColor</br>ForegroundText</br>IsSuggestedApp</br>Size</br>Row</br>Column | Use to pin a Web link through a Microsoft Edge secondary tile |
|
||||||
|
| TopMFUApps</br></br>Parent:</br>LayoutModificationTemplate | n/a | Use to add up to 3 default apps to the frequently used apps section in the system area |
|
||||||
|
| Tile</br></br>Parent:</br>TopMFUApps | AppUserModelID | Use with the TopMFUApps tags to specify an app with a known AppUserModelID |
|
||||||
|
| DesktopApplicationTile</br></br>Parent:</br>TopMFUApps | LinkFilePath | Use with the TopMFUApps tags to specify an app without a known AppUserModelID |
|
||||||
|
| AppendOfficeSuite</br></br>Parent:</br>LayoutModificationTemplate | n/a | Use to add the in-box installed Office suite to Start</br></br>Do not use this tag with AppendDownloadOfficeTile |
|
||||||
|
| AppendDownloadOfficeTile</br></br>Parent:</br>LayoutModificationTemplate | n/a | Use to add a specific **Download Office** tile to a specific location in Start</br></br>Do not use this tag with AppendOfficeSuite |
|
||||||
|
|
||||||
|
### LayoutOptions
|
||||||
|
|
||||||
|
New devices running Windows 10 for desktop editions will default to a Start menu with 2 columns of tiles unless boot to tablet mode is enabled. Devices with screens that are under 10" have boot to tablet mode enabled by default. For these devices, users see the full screen Start on the desktop. You can adjust the following features:
|
||||||
|
|
||||||
|
- Boot to tablet mode can be set on or off.
|
||||||
|
- Set full screen Start on desktop to on or off.
|
||||||
|
To do this, add the LayoutOptions element in your LayoutModification.xml file and set the FullScreenStart attribute to true or false.
|
||||||
|
- Specify the number of columns in the Start menu to 1 or 2.
|
||||||
|
To do this, add the LayoutOptions element in your LayoutModification.xml file and set the StartTileGroupsColumnCount attribute to 1 or 2.
|
||||||
|
|
||||||
|
The following example shows how to use the LayoutOptions element to specify full screen Start on the desktop and to use 1 column in the Start menu:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<LayoutModificationTemplate
|
||||||
|
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
|
||||||
|
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||||
|
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
||||||
|
Version="1">
|
||||||
|
<LayoutOptions
|
||||||
|
StartTileGroupsColumnCount="1"
|
||||||
|
FullScreenStart="true"
|
||||||
|
/>
|
||||||
|
</LayoutModificationTemplate>
|
||||||
|
```
|
||||||
|
|
||||||
|
For devices being upgraded to Windows 10 for desktop editions:
|
||||||
|
|
||||||
|
- Devices being upgraded from Windows 7 will default to a Start menu with 1 column.
|
||||||
|
- Devices being upgraded from Windows 8.1 or Windows 8.1 Upgrade will default to a Start menu with 2 columns.
|
||||||
|
|
||||||
|
### RequiredStartGroups
|
||||||
|
|
||||||
|
The **RequiredStartGroups** tag contains **AppendGroup** tags that represent groups that you can append to the default Start layout.
|
||||||
|
|
||||||
|
>[!IMPORTANT]
|
||||||
|
>For Windows 10 for desktop editions, you can add a maximum of two (2) **AppendGroup** tags per **RequiredStartGroups** tag.
|
||||||
|
|
||||||
|
You can also assign regions to the append groups in the **RequiredStartGroups** tag's using the optional **Region** attribute or you can use the multivariant capabilities in Windows provisioning. If you are using the **Region** attribute, you must use a two-letter country code to specify the country/region that the append group(s) apply to. To specify more than one country/region, use a pipe ("|") delimiter as shown in the following example:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<RequiredStartGroups
|
||||||
|
Region="DE|ES|FR|GB|IT|US">
|
||||||
|
```
|
||||||
|
|
||||||
|
If the country/region setting for the Windows device matches a **RequiredStartGroups**, then the tiles laid out within the **RequiredStartGroups** is applied to Start.
|
||||||
|
|
||||||
|
If you specify a region-agnostic **RequiredStartGroups** (or one without the optional Region attribute) then the region-agnostic **RequiredStartGroups** is applied to Start.
|
||||||
|
|
||||||
|
### AppendGroup
|
||||||
|
|
||||||
|
**AppendGroup** tags specify a group of tiles that will be appended to Start. There is a maximum of two **AppendGroup** tags allowed per **RequiredStartGroups** tag.
|
||||||
|
|
||||||
|
For Windows 10 for desktop editions, AppendGroup tags contain start:Tile, start:DesktopApplicationTile, or start:SecondaryTile tags.
|
||||||
|
|
||||||
|
You can specify any number of tiles in an **AppendGroup**, but you cannot specify a tile with a **Row** attribute greater than 4. The Start layout does not support overlapping tiles.
|
||||||
|
|
||||||
|
### Specify Start tiles
|
||||||
|
|
||||||
|
To pin tiles to Start, partners must use the right kind of tile depending on what you want to pin.
|
||||||
|
|
||||||
|
#### Tile size and coordinates
|
||||||
|
|
||||||
|
All tile types require a size (**Size**) and coordinates (**Row** and **Column**) attributes regardless of the tile type that you use when prepinning items to Start.
|
||||||
|
|
||||||
|
The following table describes the attributes that you must use to specify the size and location for the tile.
|
||||||
|
|
||||||
|
| Attribute | Description |
|
||||||
|
| --- | --- |
|
||||||
|
| Size | Determines how large the tile will be.</br></br>- 1x1 - small tile</br>- 2x2 - medium tile</br>- 4x2 - wide tile</br>- 4x4 - large tile |
|
||||||
|
| Row | Specifies the row where the tile will appear. |
|
||||||
|
| Column | Specifies the column where the tile will appear. |
|
||||||
|
|
||||||
|
For example, a tile with Size="2x2", Row="2", and Column="2" results in a tile located at (2,2) where (0,0) is the top-left corner of a group.
|
||||||
|
|
||||||
|
#### start:Tile
|
||||||
|
|
||||||
|
You can use the **start:Tile** tag to pin any of the following apps to Start:
|
||||||
|
|
||||||
|
- A Universal Windows app
|
||||||
|
- A Windows 8 app or Windows 8.1 app
|
||||||
|
|
||||||
|
To specify any one of these apps, you must set the **AppUserModelID** attribute to the application user model ID that's associated with the corresponding app.
|
||||||
|
|
||||||
|
The following example shows how to pin the Microsoft Edge Universal Windows app:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="0"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### start:DesktopApplicationTile
|
||||||
|
|
||||||
|
You can use the **start:DesktopApplicationTile** tag to pin a Windows desktop application to Start. There are two ways you can specify a Windows desktop application:
|
||||||
|
|
||||||
|
- By using a path to a shortcut link (.lnk file) to a Windows desktop application.
|
||||||
|
|
||||||
|
To pin a Windows desktop application through this method, you must first add the .lnk file in the specified location when the device first boots.
|
||||||
|
|
||||||
|
The following example shows how to pin the Command Prompt:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:DesktopApplicationTile
|
||||||
|
DesktopApplicationLinkPath="%appdata%\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="4"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
You must set the **DesktopApplicationLinkPath** attribute to the .lnk file that points to the Windows desktop application. The path also supports environment variables.
|
||||||
|
|
||||||
|
If you are pointing to a third-party Windows desktop application, you must put the .lnk file in a legacy Start Menu directory before first boot; for example, "%APPDATA%\Microsoft\Windows\Start Menu\Programs\" or the all users profile "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\".
|
||||||
|
|
||||||
|
|
||||||
|
- By using the application's application user model ID, if this is known. If the Windows desktop application doesn't have one, use the shortcut link option.
|
||||||
|
|
||||||
|
To pin a Windows desktop application through this method, you must set the **DesktopApplicationID** attribute to the application user model ID that's associated with the corresponding app.
|
||||||
|
|
||||||
|
The following example shows how to pin the Internet Explorer Windows desktop application:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:DesktopApplicationTile
|
||||||
|
DesktopApplicationID="Microsoft.Windows.Explorer"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also use the **start:DesktopApplicationTile** tag as one of the methods for pinning a Web link to Start. The other method is to use a Microsoft Edge secondary tile.
|
||||||
|
|
||||||
|
To pin a legacy .url shortcut to Start, you must create .url file (right-click on the desktop, select **New** > **Shortcut**, and then type a Web URL). You must add this .url file in a legacy Start Menu directory before first boot; for example, `%APPDATA%\Microsoft\Windows\Start Menu\Programs\` or the all users profile `%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\`.
|
||||||
|
|
||||||
|
The following example shows how to create a tile of the Web site's URL, which you can treat similarly to a Windows desktop application tile:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:DesktopApplicationTile
|
||||||
|
DesktopApplicationID="http://www.contoso.com/"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### start:SecondaryTile
|
||||||
|
|
||||||
|
You can use the **start:SecondaryTile** tag to pin a Web link through a Microsoft Edge secondary tile. This method doesn't require any additional action compared to the method of using legacy .url shortcuts (through the start:DesktopApplicationTile tag).
|
||||||
|
|
||||||
|
The following example shows how to create a tile of the Web site's URL using the Microsoft Edge secondary tile:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:SecondaryTile
|
||||||
|
AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
|
||||||
|
TileID="MyWeblinkTile"
|
||||||
|
Arguments="http://msn.com"
|
||||||
|
DisplayName="MySite"
|
||||||
|
Square150x150LogoUri="ms-appx:///Assets/MicrosoftEdgeSquare150x150.png"
|
||||||
|
Wide310x150LogoUri="ms-appx:///Assets/MicrosoftEdgeWide310x150.png"
|
||||||
|
ShowNameOnSquare150x150Logo="true"
|
||||||
|
ShowNameOnWide310x150Logo="false"
|
||||||
|
BackgroundColor="#FF112233"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="4"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
The following table describes the other attributes that you can use with the **start:SecondaryTile** tag in addition to *8Size**, **Row**, and *8Column**.
|
||||||
|
|
||||||
|
| Attribute | Required/optional | Description |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| AppUserModelID | Required | Must point to Microsoft Edge. |
|
||||||
|
| TileID | Required | Must uniquely identify your Web site tile. |
|
||||||
|
| Arguments | Required | Must contain the URL of your Web site. |
|
||||||
|
| DisplayName | Required | Must specify the text that you want users to see. |
|
||||||
|
| Square150x150LogoUri | Required | Specifies the logo to use on the 2x2 tile. |
|
||||||
|
| Wide310x150LogoUri | Optional | Specifies the logo to use on the 4x2 tile. |
|
||||||
|
| ShowNameOnSquare150x150Logo | Optional | Specifies whether the display name is shown on the 2x2 tile. The values you can use for this attribute are true or false. |
|
||||||
|
| ShowNameOnWide310x150Logo | Optional | Specifies whether the display name is shown on the 4x2 tile. The values you can use for this attribute are true or false. |
|
||||||
|
| BackgroundColor | Optional | Specifies the color of the tile. You can specify the value in ARGB hexadecimal (for example, #FF112233) or specify "transparent". |
|
||||||
|
| ForegroundText | Optional | Specifies the color of the foreground text. Set the value to either "light" or "dark". |
|
||||||
|
|
||||||
|
Secondary Microsoft Edge tiles have the same size and location behavior as a Universal Windows app, Windows 8 app, or Windows 8.1 app.
|
||||||
|
|
||||||
|
#### TopMFUApps
|
||||||
|
|
||||||
|
You can use the **TopMFUApps** tag to add up to 3 default apps to the frequently used apps section in the system area, which delivers system-driven lists to the user including important or frequently accessed system locations and recently installed apps.
|
||||||
|
|
||||||
|
You can use this tag to add:
|
||||||
|
|
||||||
|
- Apps with an **AppUserModelID** attribute - This includes Windows desktop applications that have a known application user model ID. Use a **Tile** tag with the **AppUserModelID** attribute set to the app's application user model ID.
|
||||||
|
- Apps without a **AppUserModelID** attribute - For these apps, you must create a .lnk file that points to the installed app and place the .lnk file in the `%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs` directory. Use a **DesktopApplicationTile** tag with the **LinkFilePath** attribute set to the .lnk file name and path.
|
||||||
|
|
||||||
|
The following example shows how to modify your LayoutModification.xml file to add both kinds of apps to the system area in Start:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<LayoutModificationTemplate
|
||||||
|
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
|
||||||
|
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||||
|
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
||||||
|
Version="1">
|
||||||
|
<TopMFUApps>
|
||||||
|
<Tile AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||||
|
<Tile AppUserModelID="Microsoft.Getstarted_8wekyb3d8bbwe!App" />
|
||||||
|
<DesktopApplicationTile LinkFilePath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Win32App.lnk" />
|
||||||
|
</TopMFUApps>
|
||||||
|
</LayoutModificationTemplate>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### AppendOfficeSuite
|
||||||
|
|
||||||
|
You can use the **AppendOfficeSuite** tag to add the in-box installed Office suite of apps to Start.
|
||||||
|
|
||||||
|
The following example shows how to add the **AppendOfficeSuite** tag to your LayoutModification.xml file to append the full Universal Office suite to Start:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<LayoutModificationTemplate
|
||||||
|
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
|
||||||
|
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||||
|
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
||||||
|
Version="1">
|
||||||
|
<AppendOfficeSuite/>
|
||||||
|
</LayoutModificationTemplate>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### AppendDownloadOfficeTile
|
||||||
|
|
||||||
|
You can use the **AppendDownloadOfficeTile** tag to append the Office trial installer to Start. This tag adds the Download Office tile to Start and the download tile will appear at the bottom right-hand side of the second group.
|
||||||
|
|
||||||
|
The following example shows how to add the **AppendDownloadOfficeTile** tag to your LayoutModification.xml file:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<LayoutModificationTemplate
|
||||||
|
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
|
||||||
|
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||||
|
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
||||||
|
Version="1">
|
||||||
|
<AppendDownloadOfficeTile/>
|
||||||
|
</LayoutModificationTemplate>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Sample LayoutModification.xml
|
||||||
|
|
||||||
|
The following sample LayoutModification.xml shows how you can configure the Start layout for devices running Windows 10 for desktop editions:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<LayoutModificationTemplate
|
||||||
|
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
|
||||||
|
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||||
|
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
||||||
|
Version="1">
|
||||||
|
<RequiredStartGroupsCollection>
|
||||||
|
<RequiredStartGroups
|
||||||
|
Region="DE|ES|FR|GB|IT|US">
|
||||||
|
<AppendGroup
|
||||||
|
Name="Fabrikam Group 1">
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.Office.Word_8wekyb3d8bbwe!microsoft.word"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="0"/>
|
||||||
|
<start:DesktopApplicationTile
|
||||||
|
DesktopApplicationID="Microsoft.Windows.Explorer"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.Office.Excel_8wekyb3d8bbwe!microsoft.excel"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="4"/>
|
||||||
|
</AppendGroup>
|
||||||
|
<AppendGroup
|
||||||
|
Name="Fabrikam Group 2">
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="0"/>
|
||||||
|
<start:DesktopApplicationTile
|
||||||
|
DesktopApplicationID="http://www.bing.com/"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
<start:DesktopApplicationTile
|
||||||
|
DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="4"/>
|
||||||
|
</AppendGroup>
|
||||||
|
</RequiredStartGroups>
|
||||||
|
<RequiredStartGroups>
|
||||||
|
<AppendGroup
|
||||||
|
Name="Fabrikam Group 1">
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.Office.Word_8wekyb3d8bbwe!microsoft.word"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="0"/>
|
||||||
|
<start:SecondaryTile
|
||||||
|
AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
|
||||||
|
TileID="FabrikamWeblinkTile"
|
||||||
|
Arguments="http://www.fabrikam.com"
|
||||||
|
DisplayName="Fabrikam"
|
||||||
|
Square150x150LogoUri="ms-appx:///Assets/MicrosoftEdgeSquare150x150.png"
|
||||||
|
ShowNameOnSquare150x150Logo="true"
|
||||||
|
BackgroundColor="#FF112233"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
</AppendGroup>
|
||||||
|
</RequiredStartGroups>
|
||||||
|
</RequiredStartGroupsCollection>
|
||||||
|
<TopMFUApps>
|
||||||
|
<Tile AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||||
|
</TopMFUApps>
|
||||||
|
</LayoutModificationTemplate>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Use Windows Provisioning multivariant support
|
||||||
|
|
||||||
|
The Windows Provisioning multivariant capability allows you to declare target conditions that, when met, supply specific customizations for each variant condition. For Start customization, you can create specific layouts for each variant that you have. To do this, you must create a separate LayoutModification.xml file for each variant that you want to support and then include these in your provisioning package. For more information on how to do this, see [Create a provisioning package with multivariant settings](https://msdn.microsoft.com/library/windows/hardware/dn916108.aspx).
|
||||||
|
|
||||||
|
The provisioning engine chooses the right customization file based on the target conditions that were met, adds the file in the location that's specified for the setting, and then uses the specific file to customize Start. To differentiate between layouts, you can add modifiers to the LayoutModification.xml filename such as "LayoutCustomization1". Regardless of the modifier that you use, the provsioning engine will always output "LayoutCustomization.xml" so that the operating system has a consistent file name to query against.
|
||||||
|
|
||||||
|
For example, if you want to ensure that there's a specific layout for a certain condition, you can:
|
||||||
|
1. Create a specific layout customization file and then name it LayoutCustomization1.xml.
|
||||||
|
2. Include the file as part of your provisioning package.
|
||||||
|
3. Create your multivariant target and reference the XML file within the target condition in the main customization XML file.
|
||||||
|
|
||||||
|
The following example shows what the overall customization file might look like with multivariant support for Start:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WindowsCustomizatons>
|
||||||
|
<PackageConfig xmlns="urn:schemas-Microsoft-com:Windows-ICD-Package-Config.v1.0">
|
||||||
|
<ID>{6aaa4dfa-00d7-4aaa-8adf-73c6a7e2501e}</ID>
|
||||||
|
<Name>My Provisioning Package</Name>
|
||||||
|
<Version>1.0</Version>
|
||||||
|
<OwnerType>OEM</OwnerType>
|
||||||
|
<Rank>50</Rank>
|
||||||
|
</PackageConfig>
|
||||||
|
<Settings xmlns="urn:schemas-microsoft-com:windows-provisioning">
|
||||||
|
<Customizations>
|
||||||
|
<Targets>
|
||||||
|
<Target Id="Processor ABC">
|
||||||
|
<TargetState>
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" />
|
||||||
|
<Condition Name="ProcessorType" Value="Pattern:.*I|intel.*" />
|
||||||
|
</TargetState>
|
||||||
|
</TargetState>
|
||||||
|
</Target>
|
||||||
|
</Targets>
|
||||||
|
<Common>
|
||||||
|
<Settings>
|
||||||
|
<Policies>
|
||||||
|
<AllowBrowser>1</AllowBrowser>
|
||||||
|
<AllowCamera>1</AllowCamera>
|
||||||
|
<AllowBluetooth>1</AllowBluetooth>
|
||||||
|
</Policies>
|
||||||
|
<HotSpot>
|
||||||
|
<Enabled>1</Enabled>
|
||||||
|
</HotSpot>
|
||||||
|
</Settings>
|
||||||
|
</Common>
|
||||||
|
<Variant>
|
||||||
|
<TargetRefs>
|
||||||
|
<TargetRef Id="Processor ABC" />
|
||||||
|
</TargetRefs>
|
||||||
|
<Settings>
|
||||||
|
<StartLayout>c:\users\<userprofile>\appdata\local\Microsoft\Windows\Shell\LayoutCustomization1.XML</StartLayout>
|
||||||
|
<HotSpot>
|
||||||
|
<Enabled>1</Enabled>
|
||||||
|
</HotSpot>
|
||||||
|
</Settings>
|
||||||
|
</Variant>
|
||||||
|
</Customizations>
|
||||||
|
</Settings>
|
||||||
|
</WindowsCustomizatons>
|
||||||
|
```
|
||||||
|
|
||||||
|
When the condition is met, the provisioning engine takes the XML file and places it in the location that the operating system has set and then the Start subsystem reads the file and applies the specific customized layout.
|
||||||
|
|
||||||
|
You must repeat this process for all variants that you want to support so that each variant can have a distinct layout for each of the conditions and targets that need to be supported. For example, if you add a **Language** condition, you can create a Start layout that has its own localized group.
|
||||||
|
|
||||||
|
## Add the LayoutModification.xml file to the device
|
||||||
|
|
||||||
|
Once you have created your LayoutModification.xml file to customize devices that will run Windows 10 for desktop editions, you can use Windows ICD methods to add the XML file to the device.
|
||||||
|
|
||||||
|
1. In the **Available customizations** pane, expand **Runtime settings**, select **Start** and then click the **StartLayout** setting.
|
||||||
|
2. In the middle pane, click **Browse** to open File Explorer.
|
||||||
|
3. In the File Explorer window, navigate to the location where you saved your LayoutModification.xml file.
|
||||||
|
4. Select the file and then click **Open**.
|
||||||
|
|
||||||
|
This should set the value of **StartLayout**. The setting appears in the **Selected customizations** pane.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>There is currently no way to add the .url and .lnk files through Windows ICD.
|
||||||
|
|
||||||
|
Once you have created the LayoutModification.xml file and it is present in the device, the system overrides the base default layout and any Unattend settings used to customize Start.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
|
||||||
|
[Manage Windows 10 Start layout options](windows-10-start-layout-options-and-policies.md)
|
||||||
|
|
||||||
|
[Configure Windows 10 taskbar](configure-windows-10-taskbar.md)
|
||||||
|
|
||||||
|
[Customize Windows 10 Start and taskbar with Group Policy](customize-windows-10-start-screens-by-using-group-policy.md)
|
||||||
|
|
||||||
|
[Customize Windows 10 Start and taskbar with ICD and provisioning packages](customize-windows-10-start-screens-by-using-provisioning-packages-and-icd.md)
|
||||||
|
|
||||||
|
[Customize Windows 10 Start with mobile device management (MDM)](customize-windows-10-start-screens-by-using-mobile-device-management.md)
|
||||||
|
|
||||||
|
[Changes to Group Policy settings for Windows 10 Start](changes-to-start-policies-in-windows-10.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
392
windows/manage/start-layout-xml-mobile.md
Normal file
@ -0,0 +1,392 @@
|
|||||||
|
---
|
||||||
|
title: Start layout XML for mobile editions of Windows 10 (Windows 10)
|
||||||
|
description: This topic describes the options for customizing Start layout in LayoutModification.xml for Windows 10 mobile editions.
|
||||||
|
keywords: ["start screen"]
|
||||||
|
ms.prod: w10
|
||||||
|
ms.mktglfcycl: manage
|
||||||
|
ms.sitesec: library
|
||||||
|
author: jdeckerMS
|
||||||
|
localizationpriority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
# Start layout XML for mobile editions of Windows 10 (reference)
|
||||||
|
|
||||||
|
|
||||||
|
**Applies to**
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
|
||||||
|
>**Looking for consumer information?** See [Customize the Start menu](https://go.microsoft.com/fwlink/p/?LinkId=623630)
|
||||||
|
|
||||||
|
|
||||||
|
On Windows 10 Mobile, you can use the XML-based layout to modify the Start screen and provide the most robust and complete Start customization experience.
|
||||||
|
|
||||||
|
On Windows 10 Mobile, the customized Start works by:
|
||||||
|
|
||||||
|
- Windows 10 performs checks to determine the correct base default layout. The checks include the mobile edition, whether the device is dual SIM, the column width, and whether Cortana is supported for the country/region.
|
||||||
|
- Windows 10 ensures that it does not overwrite the layout that you have set and will sequence the level checks and read the file layout such that any multivariant settings that you have set is not overwritten.
|
||||||
|
- Windows 10 reads the LayoutModification.xml file and appends the group to the Start screen.
|
||||||
|
|
||||||
|
## Default Start layouts
|
||||||
|
|
||||||
|
The following diagrams show the default Windows 10, version 1607 Start layouts for single SIM and dual SIM devices with Cortana support, and single SIM and dual SIM devices with no Cortana support.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The diagrams show:
|
||||||
|
|
||||||
|
- Tile coordinates - These are determined by the row number and the column number.
|
||||||
|
- Fold - Tiles "above the fold" are visible when users first navigate to the Start screen. Tiles "below the fold" are visible after users scroll up.
|
||||||
|
- Partner-customizable tiles - OEM and mobile operator partners can customize these areas of the Start screen by prepinning content. The partner configurable slots are:
|
||||||
|
- Rows 6-9
|
||||||
|
- Rows 16-19
|
||||||
|
|
||||||
|
## LayoutModification XML
|
||||||
|
|
||||||
|
IT admins can provision the Start layout by creating a LayoutModification.xml file. This file supports several mechanisms to modify or replace the default Start layout and its tiles.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>To make sure the Start layout XML parser processes your file correctly, follow these guidelines when writing your LayoutModification.xml file:
|
||||||
|
>- Do not leave spaces or white lines in between each element.
|
||||||
|
>- Do not add comments inside the StartLayout node or any of its children elements.
|
||||||
|
>- Do not add multiple rows of comments.
|
||||||
|
|
||||||
|
The following table lists the supported elements and attributes for the LayoutModification.xml file.
|
||||||
|
|
||||||
|
| Element | Attributes | Description |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| LayoutModificationTemplate | xmlns</br>xmlns:defaultlayout</br>xmlns:start</br>Version | Use to describe the changes to the default Start layout. |
|
||||||
|
| DefaultLayoutOverride</br></br>Parent:</br>LayoutModificationTemplate | n/a | Use to specify the customized Start layout for mobile devices. |
|
||||||
|
| StartLayoutCollection</br></br>Parent:</br>DefaultLayoutOverride | n/a | Use to contain a collection of Start layouts. |
|
||||||
|
| StartLayout</br></br>Parent:</br>StartLayoutCollection | n/a | Use to specify the tile groups that will be appended to the Start screen. |
|
||||||
|
| start:Group</br></br>Parent:</br>StartLayout | Name | Use to specify the tiles that need to be appended to the default Start layout. |
|
||||||
|
| start:Tile</br></br>Parent:</br>start:Group | AppUserModelID</br>Size</br>Row</br>Column | Use to specify any Universal Windows app that has a valid **AppUserModelID** attribute. |
|
||||||
|
| start:SecondaryTile</br></br>Parent:</br>start:Group | AppUserModelID</br>TileID</br>Arguments</br>DisplayName</br>Square150x150LogoUri</br>ShowNameOnSquare150x150Logo</br>ShowNameOnWide310x150Logo</br>Wide310x150LogoUri</br>BackgroundColor</br>ForegroundText</br>IsSuggestedApp</br>Size</br>Row</br>Column | Use to pin a Web link through a Microsoft Edge secondary tile. |
|
||||||
|
| start:PhoneLegacyTile</br></br>Parent:</br>start:Group | ProductID</br>Size</br>Row</br>Column | Use to add a mobile app that has a valid **ProductID** attribute. |
|
||||||
|
| start:Folder</br></br>Parent:</br>start:Group | Name</br>Size</br>Row</br>Column | Use to add a folder to the mobile device's Start screen. |
|
||||||
|
| RequiredStartTiles</br></br>Parent:</br>LayoutModificationTemplate | n/a | Use to specify the tiles that will be pinned to the bottom of the Start screen even if a restored Start screen does not have the tiles during backup or restore. |
|
||||||
|
|
||||||
|
### start:Group
|
||||||
|
|
||||||
|
**start:Group** tags specify a group of tiles that will be appended to Start. You can set the **Name** attribute to specify a name for the Start group.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>Windows 10 Mobile only supports one Start group.
|
||||||
|
|
||||||
|
For Windows 10 Mobile, **start:Group** tags can contain the following tags or elements:
|
||||||
|
|
||||||
|
- **start:Tile**
|
||||||
|
- **start:SecondaryTile**
|
||||||
|
- **start:PhoneLegacyTile**
|
||||||
|
- **start:Folder**
|
||||||
|
|
||||||
|
### Specify Start tiles
|
||||||
|
|
||||||
|
To pin tiles to Start, you must use the right kind of tile depending on what you want to pin.
|
||||||
|
|
||||||
|
#### Tile size and coordinates
|
||||||
|
|
||||||
|
All tile types require a size (**Size**) and coordinates (**Row** and **Column**) attributes regardless of the tile type that you use when prepinning items to Start.
|
||||||
|
|
||||||
|
The following table describes the attributes that you must use to specify the size and location for the tile.
|
||||||
|
|
||||||
|
| Attribute | Description |
|
||||||
|
| --- | --- |
|
||||||
|
| Size | Determines how large the tile will be. </br>- 1x1 - small tile</br>- 2x2 - medium tile</br>- 4x2 - wide tile</br>- 4x4 - large tile |
|
||||||
|
| Row | Specifies the row where the tile will appear. |
|
||||||
|
| Column | Specifies the column where the tile will appear. |
|
||||||
|
|
||||||
|
For example, a tile with Size="2x2", Row="2", and Column="2" results in a tile located at (2,2) where (0,0) is the top-left corner of a group.
|
||||||
|
|
||||||
|
#### start:Tile
|
||||||
|
|
||||||
|
You can use the **start:Tile** tag to pin a Universal Windows app to Start.
|
||||||
|
|
||||||
|
To specify an app, you must set the **AppUserModelID** attribute to the application user model ID that's associated with the corresponding app.
|
||||||
|
|
||||||
|
The following example shows how to pin the Microsoft Edge Universal Windows app:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="0"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### start:SecondaryTile
|
||||||
|
|
||||||
|
You can use the **start:SecondaryTile** tag to pin a Web link through a Microsoft Edge secondary tile.
|
||||||
|
|
||||||
|
The following example shows how to create a tile of the Web site's URL using the Microsoft Edge secondary tile:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:SecondaryTile
|
||||||
|
AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
|
||||||
|
TileID="MyWeblinkTile"
|
||||||
|
Arguments="http://msn.com"
|
||||||
|
DisplayName="MySite"
|
||||||
|
Square150x150LogoUri="ms-appx:///Assets/MicrosoftEdgeSquare150x150.png"
|
||||||
|
Wide310x150LogoUri="ms-appx:///Assets/MicrosoftEdgeWide310x150.png"
|
||||||
|
ShowNameOnSquare150x150Logo="true"
|
||||||
|
ShowNameOnWide310x150Logo="false"
|
||||||
|
BackgroundColor="#FF112233"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="4"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
The following table describes the other attributes that you can use with the **start:SecondaryTile** tag in addition to **Size**, **Row**, and **Column**.
|
||||||
|
|
||||||
|
| Attribute | Required/optional | Description |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| AppUserModelID | Required | Must point to Microsoft Edge. |
|
||||||
|
| TileID | Required | Must uniquely identify your Web site tile. |
|
||||||
|
| Arguments | Required | Must contain the URL of your Web site. |
|
||||||
|
| DisplayName | Required | Must specify the text that you want users to see. |
|
||||||
|
| Square150x150LogoUri | Required | Specifies the logo to use on the 2x2 tile. |
|
||||||
|
| Wide310x150LogoUri | Optional | Specifies the logo to use on the 4x2 tile. |
|
||||||
|
| ShowNameOnSquare150x150Logo | Optional | Specifies whether the display name is shown on the 2x2 tile. You can set the value for this attribute to true or false. By default, this is set to false. |
|
||||||
|
| ShowNameOnWide310x150Logo | Optional | Specifies whether the display name is shown on the 4x2 tile. You can set the value for this attribute to true or false. By default, this is set to false. |
|
||||||
|
| BackgroundColor | Optional | Specifies the color of the tile. You can specify the value in ARGB hexadecimal (for example, #FF112233) or specify "transparent". |
|
||||||
|
| ForegroundText | Optional | Specifies the color of the foreground text. Set the value to either "light" or "dark". |
|
||||||
|
|
||||||
|
Secondary Microsoft Edge tiles have the same size and location behavior as a Universal Windows app.
|
||||||
|
|
||||||
|
#### start:PhoneLegacyTile
|
||||||
|
|
||||||
|
You can use the **start:PhoneLegacyTile** tag to add a mobile app that has a valid ProductID, which you can find in the app's manifest file. The **ProductID** attribute must be set to the GUID of the app.
|
||||||
|
|
||||||
|
The following example shows how to add a mobile app with a valid ProductID using the start:PhoneLegacyTile tag:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:PhoneLegacyTile
|
||||||
|
ProductID="{00000000-0000-0000-0000-000000000000}"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### start:Folder
|
||||||
|
|
||||||
|
You can use the **start:Folder** tag to add a folder to the mobile device's Start screen.
|
||||||
|
|
||||||
|
You must set these attributes to specify the size and location of the folder: **Size**, **Row**, and **Column**.
|
||||||
|
|
||||||
|
Optionally, you can also specify a folder name by using the **Name** attribute. If you specify a name, set the value to a string.
|
||||||
|
|
||||||
|
The position of the tiles inside a folder is relative to the folder. You can add any of the following tile types to the folder:
|
||||||
|
|
||||||
|
- Tile - Use to pin a Universal Windows app to Start.
|
||||||
|
- SecondaryTile - Use to pin a Web link through a Microsoft Edge secondary tile.
|
||||||
|
- PhoneLegacyTile - Use to pin a mobile app that has a valid ProductID.
|
||||||
|
|
||||||
|
The following example shows how to add a medium folder that contains two apps inside it:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<start:Folder
|
||||||
|
Name="Contoso apps"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="2">
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.BingMaps_8wekyb3d8bbwe!ApplicationID"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="0"/>
|
||||||
|
<start:PhoneLegacyTile
|
||||||
|
ProductID="{00000000-0000-0000-0000-000000000000}"
|
||||||
|
Size="1x1"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
</start:Folder>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### RequiredStartTiles
|
||||||
|
|
||||||
|
You can use the **RequiredStartTiles** tag to specify the tiles that will be pinned to the bottom of the Start screen even if a restored Start screen does not have the tiles during backup or restore.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>Enabling this Start customization may be disruptive to the user experience.
|
||||||
|
|
||||||
|
For Windows 10 Mobile, **RequiredStartTiles** tags can contain the following tags or elements. These are similar to the tiles supported in **start:Group**.
|
||||||
|
|
||||||
|
- Tile - Use to pin a Universal Windows app to Start.
|
||||||
|
- SecondaryTile - Use to pin a Web link through a Microsoft Edge secondary tile.
|
||||||
|
- PhoneLegacyTile - Use to pin a mobile app that has a valid ProductID.
|
||||||
|
- Folder - Use to pin a folder to the mobile device's Start screen.
|
||||||
|
|
||||||
|
Tiles specified within the **RequiredStartTiles** tag have the following behavior:
|
||||||
|
|
||||||
|
- The partner-pinned tiles will begin in a new row at the end of the user-restored Start screen.
|
||||||
|
- If there’s a duplicate tile between what the user has in their Start screen layout and what the OEM has pinned to the Start screen, only the app or tile shown in the user-restored Start screen layout will be shown and the duplicate tile will be omitted from the pinned partner tiles at the bottom of the Start screen.
|
||||||
|
|
||||||
|
The lack of duplication only applies to pinned apps. Pinned Web links may be duplicated.
|
||||||
|
|
||||||
|
- If partners have prepinned folders to the Start screen, Windows 10 treats these folders in the same way as appended apps on the Start screen. Duplicate folders will be removed.
|
||||||
|
- All partner tiles that are appended to the bottom of the user-restored Start screen will be medium-sized. There will be no gaps in the appended partner Start screen layout. Windows 10 will shift tiles accordingly to prevent gaps.
|
||||||
|
|
||||||
|
## Sample LayoutModification.xml
|
||||||
|
|
||||||
|
The following sample LayoutModification.xml shows how you can configure the Start layout for devices running Windows 10 Mobile:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LayoutModificationTemplate
|
||||||
|
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
|
||||||
|
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||||
|
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
||||||
|
Version="1">
|
||||||
|
<DefaultLayoutOverride>
|
||||||
|
<StartLayoutCollection>
|
||||||
|
<defaultlayout:StartLayout>
|
||||||
|
<start:Group
|
||||||
|
Name="First Group">
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.BingFinance_8wekyb3d8bbwe!ApplicationID"
|
||||||
|
Size="2x2"
|
||||||
|
Row="0"
|
||||||
|
Column="0"/>
|
||||||
|
<start:Tile
|
||||||
|
AppUserModelID="Microsoft.BingMaps_8wekyb3d8bbwe!ApplicationID"
|
||||||
|
Size="1x1"
|
||||||
|
Row="0"
|
||||||
|
Column="2"/>
|
||||||
|
</start:Group>
|
||||||
|
</defaultlayout:StartLayout>
|
||||||
|
</StartLayoutCollection>
|
||||||
|
</DefaultLayoutOverride>
|
||||||
|
<RequiredStartTiles>
|
||||||
|
<PhoneLegacyTile ProductID="{b00d3141-1caa-43aa-b0b5-78c1acf778fd}"/>
|
||||||
|
<PhoneLegacyTile ProductID="{C3F8E570-68B3-4D6A-BDBB-C0A3F4360A51}"/>
|
||||||
|
<PhoneLegacyTile ProductID="{C60904B7-8DF4-4C2E-A417-C8E1AB2E51C7}"/>
|
||||||
|
<Tile AppUserModelID="Microsoft.MicrosoftFeedback_8wekyb3d8bbwe!ApplicationID"/>
|
||||||
|
</RequiredStartTiles>
|
||||||
|
</LayoutModificationTemplate>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Use Windows Provisioning multivariant support
|
||||||
|
|
||||||
|
The Windows Provisioning multivariant capability allows you to declare target conditions that, when met, supply specific customizations for each variant condition. For Start customization, you can create specific layouts for each variant that you have. To do this, you must create a separate LayoutModification.xml file for each variant that you want to support and then include these in your provisioning package. For more information on how to do this, see Create a provisioning package with multivariant settings.
|
||||||
|
|
||||||
|
The provisioning engine chooses the right customization file based on the target conditions that were met, adds the file in the location that's specified for the setting, and then uses the specific file to customize Start. To differentiate between layouts, you can add modifiers to the LayoutModification.xml filename such as "LayoutCustomization1". Regardless of the modifier that you use, the provsioning engine will always output "LayoutCustomization.xml" so that the OS has a consistent file name to query against.
|
||||||
|
|
||||||
|
For example, if you want to ensure that there's a specific layout for a certain mobile operator in a certain country/region, you can:
|
||||||
|
1. Create a specific layout customization file and then name it LayoutCustomization1.xml.
|
||||||
|
2. Include the file as part of your provisioning package.
|
||||||
|
3. Create your multivariant target and reference the XML file within the target condition in the main customization XML file.
|
||||||
|
|
||||||
|
The following example shows what the overall customization file might look like with multivariant support for Start:
|
||||||
|
|
||||||
|
```XML
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WindowsCustomizatons>
|
||||||
|
<PackageConfig xmlns="urn:schemas-Microsoft-com:Windows-ICD-Package-Config.v1.0">
|
||||||
|
<ID>{6aaa4dfa-00d7-4aaa-8adf-73c6a7e2501e}</ID>
|
||||||
|
<Name>My Provisioning Package</Name>
|
||||||
|
<Version>1.0</Version>
|
||||||
|
<OwnerType>OEM</OwnerType>
|
||||||
|
<Rank>50</Rank>
|
||||||
|
</PackageConfig>
|
||||||
|
<Settings xmlns="urn:schemas-microsoft-com:windows-provisioning">
|
||||||
|
<Customizations>
|
||||||
|
<Targets>
|
||||||
|
<Target Id="Operator XYZ">
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="MCC" Value="Range:310, 320" />
|
||||||
|
<Condition Name="MNC" Value="!Range:400, 550" />
|
||||||
|
</TargetState>
|
||||||
|
</Target>
|
||||||
|
<Target Id="Processor ABC">
|
||||||
|
<TargetState>
|
||||||
|
<TargetState>
|
||||||
|
<Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" />
|
||||||
|
<Condition Name="ProcessorType" Value="Pattern:.*I|intel.*" />
|
||||||
|
</TargetState>
|
||||||
|
</TargetState>
|
||||||
|
</Target>
|
||||||
|
</Targets>
|
||||||
|
<Common>
|
||||||
|
<Settings>
|
||||||
|
<Policies>
|
||||||
|
<AllowBrowser>1</AllowBrowser>
|
||||||
|
<AllowCamera>1</AllowCamera>
|
||||||
|
<AllowBluetooth>1</AllowBluetooth>
|
||||||
|
</Policies>
|
||||||
|
<HotSpot>
|
||||||
|
<Enabled>1</Enabled>
|
||||||
|
</HotSpot>
|
||||||
|
</Settings>
|
||||||
|
</Common>
|
||||||
|
<Variant>
|
||||||
|
<TargetRefs>
|
||||||
|
<TargetRef Id="Operator XYZ" />
|
||||||
|
</TargetRefs>
|
||||||
|
<Settings>
|
||||||
|
<StartLayout>c:\users\<userprofile>\appdata\local\Microsoft\Windows\Shell\LayoutCustomization1.XML</StartLayout>
|
||||||
|
<HotSpot>
|
||||||
|
<Enabled>1</Enabled>
|
||||||
|
</HotSpot>
|
||||||
|
</Settings>
|
||||||
|
</Variant>
|
||||||
|
</Customizations>
|
||||||
|
</Settings>
|
||||||
|
</WindowsCustomizatons>
|
||||||
|
```
|
||||||
|
|
||||||
|
When the condition is met, the provisioning engine takes the XML file and places it in the location that Windows 10 has set and then the Start subsystem reads the file and applies the specific customized layout.
|
||||||
|
|
||||||
|
You must repeat this process for all variants that you want to support so that each variant can have a distinct layout for each of the conditions and targets that need to be supported. For example, if you add a **Language** condition, you can create a Start layout that has it's own localized group or folder titles.
|
||||||
|
|
||||||
|
## Add the LayoutModification.xml file to the image
|
||||||
|
|
||||||
|
Once you have created your LayoutModification.xml file to customize devices that will run Windows 10 Mobile, you can use Windows ICD to add the XML file to the device:
|
||||||
|
|
||||||
|
1. In the **Available customizations** pane, expand **Runtime settings**, select **Start** and then click the **StartLayout** setting.
|
||||||
|
2. In the middle pane, click **Browse** to open File Explorer.
|
||||||
|
3. In the File Explorer window, navigate to the location where you saved your LayoutModification.xml file.
|
||||||
|
4. Select the file and then click **Open**.
|
||||||
|
|
||||||
|
This should set the value of **StartLayout**. The setting appears in the **Selected customizations** pane.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Related topics
|
||||||
|
|
||||||
|
|
||||||
|
[Manage Windows 10 Start layout options](windows-10-start-layout-options-and-policies.md)
|
||||||
|
|
||||||
|
[Configure Windows 10 taskbar](configure-windows-10-taskbar.md)
|
||||||
|
|
||||||
|
[Customize Windows 10 Start and taskbar with Group Policy](customize-windows-10-start-screens-by-using-group-policy.md)
|
||||||
|
|
||||||
|
[Customize Windows 10 Start and taskbar with ICD and provisioning packages](customize-windows-10-start-screens-by-using-provisioning-packages-and-icd.md)
|
||||||
|
|
||||||
|
[Customize Windows 10 Start with mobile device management (MDM)](customize-windows-10-start-screens-by-using-mobile-device-management.md)
|
||||||
|
|
||||||
|
[Changes to Group Policy settings for Windows 10 Start](changes-to-start-policies-in-windows-10.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|