Код ошибки 5: доступ запрещен. Проверьте, достаточно ли у вас разрешений для каталога назначения.
BOOL WINAPI MoveFileEx(
__in LPCTSTR lpExistingFileName,
__in_opt LPCTSTR lpNewFileName,
__in DWORD dwFlags
);
MOVEFILE_REPLACE_EXISTING
- Это значение нельзя использовать, если lpNewFileName или lpExistingFileName называет каталог.
В вашем случае местом назначения является каталог C: \ Program Files. Так что не получается.