   installModules: (options, callback) =>
     process.stdout.write 'Installing modules '
 
+    @forkInstallCommand options, (code, stderr='', stdout='') =>
+      if code is 0
+        process.stdout.write '\u2713\n'.green
+        callback()
+      else
+        process.stdout.write '\u2717\n'.red
+        callback(stdout.red + stderr.red)
+
+  forkInstallCommand: (options, callback) ->
     installArgs = ['--userconfig', config.getUserConfigPath(), 'install']
     installArgs.push("--target=#{config.getNodeVersion()}")
     installArgs.push('--arch=ia32')

    installArgs.push('--msvs_version=2012') if config.isWin32()
    env = _.extend({}, process.env, HOME: @atomNodeDirectory)
    env.USERPROFILE = env.HOME if config.isWin32()

    @fork @atomNpmPath, installArgs, {env}, (code, stderr='', stdout='') ->
      if code is 0
        process.stdout.write '\u2713\n'.green
        callback()
      else
        process.stdout.write '\u2717\n'.red
        callback(stdout.red + stderr.red)

  installPackage: (options, modulePath, callback) ->
    commands = []

      directory.
    """
    options.alias('h', 'help').describe('help', 'Print this usage message')
    options.alias('d', 'dev').describe('dev', 'Install dev dependencies of atom packages being installed')
    options.boolean('silent').describe('silent', 'Minimize output')

  showHelp: (argv) -> @parseOptions(argv).showHelp()
