这是我在nsis脚本中的一个函数:
Function rubyDependencies
DetailPrint "Installing Web Runtime Environment dependencies..."
ExecWait "gem install rails –v2.3.8"
ExecWait "gem install rake –v0.8.7"
ExecWait "gem uninstall rake –v10.0.3"
ExecWait "rake gems:install"
DetailPrint "Dependencies installed."
FunctionEnd
我试过了:
ExecWait '"gem install rails -v2.3.8" $0'
没有任何东西在$ 0上显示,但宝石列表仍然是空的。
任何帮助?
谢谢, Telmo Cardoso
编辑: 我还有问题。我现在正在使用:
nsExec::ExecToLog '"$INSTDIR\runtime\ruby\bin\gem.bat" install --ignore-dependencies --no-rdoc --no-ri rails -v=2.3.8'
它的产生:
could not find a valid gem '-v=2.3.8'
并安装最新版本。很明显,它在参数中被传递了一些奇怪的东西。当我在安装程序外运行命令时,它按预期工作。
任何帮助?
答案 0 :(得分:0)
正确的语法是ExecWait '"c:\full\path\to\program.exe" param1 "space param" param3' $0
。要使ExecWait '"gem" ...'
生效,gem.exe需要位于CreateProcess ...