UPDATE: This issue has been fixed now!
The system cannot find the path specified.
After some digging around I found out that this is a problem in the batch file Heroku uses to start Ruby, heroku.bat. This batch file is trying to determine the path to Ruby but for some reason is failing on Windows Vista. I managed to get it to work by adding two lines that solve the issue on Vista and (I think) won’t break other systems (Windows 7). Here is the fragment that I changed, with the lines I added marked:
:: determine if this is x86 or x64
if "%processor_architecture%" == "IA64" goto x64
if "%processor_architecture%" == "AMD64" goto x64
if "%ProgramFiles%" == "%ProgramW6432%" goto x64
This fix works because currently there are two 64-bit architectures, IA64 (Intel) and AMD64 (AMD) and the two lines I added directly detect those architectures and swith to the correct code branch if found. So if you have this same issue, just open heroku.bat (in
C:\Program Files (x86)\heroku\bin usually) and add the highlighted lines in the correct position. I’ll see if I can submit this solution to the Heroku team.
The cause of the issue seems to be that the
ProgramW6432 environment variable is apparently not always set (at least it’s not set on my system) so alternatively, you can set that environment variable yourself. Make it point to
%ProgramFiles% by setting it in the User environment variables through
Start -> Control Panel -> System -> Advanced system settings -> Tab 'Advanced' -> Button 'Environment Variables'.
I mentioned this issue on the Heroku Google group and David Dollar picked it up and incorporated it into the Heroku Toolbelt source code. It is probably available in the latest release by now. Thanks David!