Есть такое дело. Сам наткнулся еще в процессе переделки предыдущего обновления, но забыл упомянуть.
Если
путь к запускаемой программе или ее имя содержат пробелы - нужно заключать в кавычки. После разбора переменной %programfiles% путь полчается с пробелом. Т.е. в твоем случае должно быть так
Код:

;!@Install@!UTF-8!
InstallPath="%programfiles%\\test"
RunProgram="\"%programfiles%\\test\\test.bat\""
GUIMode="2"
;SelfDelete="1"
;!@InstallEnd@!
Могу переделать разбор переменных для этих случаев, чтобы народ не наступал на эти грабли.
Но если переменных среды не будет, а путь будет содержать пробелы - все равно прийдется заключать в кавычки.
Вообще кавычки в пути-имени программы никогда не помешают, так что может в ридми сделать замечание по этому поводу ?