В Vista + MSHTA.exe имеет встроенный манифест, который имеет приоритет над внешними манифестами, поэтому ваше предложение не вариант.
В XP / 2003, да, ваше предложение будет работать, хотя оно будет плохим, так как отбрасывает файлы в System32, чтобы изменить поведение двоичного файла системы (особенно убедитесь, что любая регистрация, которую вы поместили в манифест, является объектами ты единственный, о ком заботишься).
Правильное решение, доступное в Win2003 и выше, заключается в использовании объекта Microsoft.Windows.ActCtx для создания экземпляра вашего объекта с явной ссылкой на манифест.
Например:
var actCtx = WScript.CreateObject("Microsoft.Windows.ActCtx");
actCtx.Manifest = "myregfree.manifest";
var obj = actCtx.CreateObject("MyObj");
Возможно, если это должно работать и в XP, путь, который вы можете выбрать, представляет собой комбинацию обоих решений.