Adding recursion because that allow flattening multiple folder levels

Selected file types are moved to a _meta folder in the root, instead of to the root because that allow moving f.e. metadata files to a separate folder

File association changed from Directory to AllFileSystemObjects because it handles both files and directories. The files in the root will be moved to the _meta folder or left in place

Reading optional settings from registry

Changing SL strings to ATL strings

Adding OutputDebugStringEx function because that allow viewing debug output in DebugView

Adding batch build files

Adding optional explorer.exe restart to PreLinkEvent in case the $(TargetPath) file write fails
+ Testing files
- Test files (it doesn't work well)
Adding recursion levels (0 is unlimited recursion) option

because that allow selecting number of levels to flatten

Adding MetaFiles "*" interpretation as no file ending because that allow moving files without file ending

Adding original folder/file name to (GUID) renamed folder/file to retain identifiability
Moved root level functions to class

because that's better organisation
Changing multi-level flattening from registry setting to holding Ctrl when selecting Zap

because that's easier

Changing the meta files filter to only be considered in recursive zap because it's more useful in that case

Changing recursive zap to require user confirmation

Moving build configuration to property files because that's better organisation

Changing the task dialog to the native dialog in Windows 6+
Adding quotes to PostBuildEvent because that makes it compatible with spaces in path
Adding a missing recursion check in PathFindFile etc.

Removing FOF_NOCONFIRMMKDIR because it's unnecessary (because LevelZap will never attempt to move items to a non-existing directory) and cause a hang in the case explained in the project discussion

Moving the build configuration with RegisterOutput to a separate configuration because registration is not desired if the intent is to move LevelZap.dll and run it from for example %ProgramFiles%\LevelZap

Changing "exit" to "exit /b" in batch build because otherwise it exits a cmd process

Adding GetLastErrorEx message to MoveFolderEx

- Removing explorer.exe restart in PreLinkEvent because it's unnecessary because another shell process f.e. the included mtexplorer.exe support most shell extension features and can therefore be used for testing instead of explorer.exe

Removing Regsvr64.exe because a developer is unlikely to use a 32-bit Windows
Checked in by server upgrade
Upgrade: New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link: http://go.microsoft.com/fwlink/?LinkId=254563
Moving trunk to root