* Excluding build artifacts from copyright check
* Adding 'and Contributors' to copyright headers
* Updating some missed files and adding -help support to script
Co-authored-by: Eric Johnson <ejohn@microsoft.com>
* 40724739: DeploymentManagerAutoInitializer. Added auto-initializer, inspired by Bootstrapper's auto-initializer. Split test\Deployment into subdirs. Working through build-isms
Add an auto-initializer for DeploymentManager (very similar to the Bootstrapper's auto-initializer).
If DeploymentManager Initialize fails...
...Write to the eventlog
...Optionally
* DebugBreak
* DebugBreak if a debugger is attached to the process
* FailFast
* MessageBox (modeled after .NET's) asking if you'd like to install the WindowsAppRuntime and if so, ShellExecute(url) to the download page
The optional behavior is triggered by new `DeploymentInitializeOptions` properties or by environment variables
```
SET MICROSOFT_WINDOWSAPPRUNTIME_DEPLOYMENTMANAGER_INITIALIZE_DEBUGBREAK=1
SET MICROSOFT_WINDOWSAPPRUNTIME_DEPLOYMENTMANAGER_INITIALIZE_SHOWUI=1
SET MICROSOFT_WINDOWSAPPRUNTIME_DEPLOYMENTMANAGER_INITIALIZE_FAILFAST=1
```
Testing partial but incomplete as I need a real build (franken-hacking has been too messy to finish E2E testing). The DeploymentManager auto-initializer is inert/unused unless WindowsAppSdkDeploymentManagerInitialize=true and the default to enable that is commented out for now, making this PR functional but inert so I can get a build turned with real packages for further testing.
*.targets updated to provide build-time control.
* **To disable the auto-initializer** the auto-initialize set the property `WindowsAppSDKDeploymentManagerAutoInitialize`=`false`
* **If the auto-initalizer is enabled** you can define properties to control the options passed via `DeploymentInitializeOptions` to `DeploymentManager.Initialize()`
* **WindowsAppSDKDeploymentManagerAutoInitializeOptions_Default=true** -- use the default options (OnError_ShowUI)
* **WindowsAppSDKDeploymentManagerAutoInitializeOptions_None=true** -- use no options (None)
* **WindowsAppSDKDeploymentManagerAutoInitializeOptions_*=true** -- enable the option where * is one or more of the following
* OnError_DebugBreak
* OnError_DebugBreak_IfDebuggerAttached
* OnError_FailFast
* OnError_ShowUI
* OnNoPackageIdentity_NoOp
For example, to disable the auto-initializer add to your *proj file:
```xml
<PropertyGroup>
<WindowsAppSDKDeploymentManagerAutoInitialize>false</WindowsAppSDKDeploymentManagerAutoInitialize>
</PropertyGroup>
```
or to enable the auto-initializer (default) but use the DebugBreak+FailFast options (instead of the default)
```xml
<PropertyGroup>
<WindowsAppSDKDeploymentManagerAutoInitializeOptions_OnError_DebugBreak>true</WindowsAppSDKDeploymentManagerAutoInitializeOptions_OnError_DebugBreak>
<WindowsAppSDKDeploymentManagerAutoInitializeOptions_OnError_ShowUI>true</WindowsAppSDKDeploymentManagerAutoInitializeOptions_OnError_ShowUI>
</PropertyGroup>
```
https://task.ms/40724739
* Added VerifyCopyrightHeaders.cmd and tweaked error message about it