2013-04-05 255 views
0

这是一个功能,我在NSIS脚本: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,但创业板的名单还空着。

任何帮助?

感谢, 圣特尔莫卡多佐

编辑: 我仍然有问题。现在,我使用:

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

正确的语法是ExecWait '"c:\full\path\to\program.exe" param1 "space param" param3' $0。要使ExecWait '"gem" ...'正常工作,gem.exe需要位于搜索路径CreateProcess ...