Mike wrote: >>I've tried that and start... still no go. Here's the code: >> >>def install_programs(program_list) >> #program_list is a list of absolute paths. >> program_list.each do |wup| >> Dir.chdir(File.dirname(wup)) >> puts Dir.getwd >> puts(File.basename(wup)) >> system('msiexec -i #{File.basename(wup)}') >> end >>end >> >>system on windows is problematic! I think this is more of a >>windows issue than a ruby issue as I have the same problem >>with python and ruby when working with system. >> > > Try working backwards - install the .msi manually using msiexec.exe > <switches> file.msi at the command line. Once you know it works, create a > script that just calls system('what_worked_above'). > > Does that work? Sort of... 'msiexec -i installer.msi' from a cmd prompt translates to this in Ruby: # Works in Ruby: system('msiexec -i installer.msi') This works fine. But string interpolation does not work, and it should, right? # Fails in Ruby: system('msiexec -i #{File.basename(wup)}')