Sha256: dd923a9ef242d7921f31217195cf3b6aa1995ee66cce4c7f160283563de4ed23

Contents?: true

Size: 1.08 KB

Versions: 21

Compression:

Stored size: 1.08 KB

Contents

require 'pe_build/on_machine'
class PEBuild::Cap::RunInstall::Windows

  extend PEBuild::OnMachine

  # Run the PE installer on Windows systems
  #
  # @param machine [Vagrant::Machine] The Vagrant machine on which to run the
  #   installation.
  # @param installer_dir [String] A path to the PE installer.
  # @param answers [Hash[String => String}] A hash of options that will be
  #   passed to msiexec as `key=value` pairs.
  #
  # @param options [Hash] Additional options that influence installer behavior.
  #
  # @return [void]
  def self.run_install(machine, installer_path, answers, **options)
    install_options = answers.map{|e| e.join('=')}.join(' ')
    # Lots of PowerShell commands can handle UNIX-style paths. msiexec can't.
    installer_path = installer_path.gsub('/', '\\')

    cmd = <<-EOS
$params = @(
  "/qn",
  "/i `"#{installer_path}`"",
  "/l*v puppet-enterprise-installer.log",
  "#{install_options}"
)

(Start-Process -FilePath "msiexec.exe" -ArgumentList $params -Wait -Passthru).ExitCode
EOS

    machine.ui.info "Running: #{cmd}"

    on_machine(machine, cmd)
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
vagrant-pe_build-0.18.0 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.14 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.13 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.12 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.11 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.10 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.9 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.8 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.7 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.6 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.5 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.4 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.3 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.2 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.1 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.17.0 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.16.0 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.15.6 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.15.5 lib/pe_build/cap/run_install/windows.rb
vagrant-pe_build-0.15.4 lib/pe_build/cap/run_install/windows.rb