Fixing ICE57 issues

ICE57 validates that individual components do not mix per-machine and per-user data. This ICE custom action checks registry entries, files, directory key paths, and non-advertised shortcuts.

Mixing per-user and per-machine data in the same component could result in only partial installation of the component for some users in a multi-user environment.

ICE57 posts an error if it finds any component that contains both a per-machine and per-user registry entries, files, directory key paths or non-advertised shortcuts.

This can easily be fixed by checking which resources belong to which components, and making sure per-machine components do not contain per-user resources and vice-versa.