I have inherited a bunch of Puppet scripts and am in the process of updating them. One of my scripts is for installing Python. I want to install it to C:/bin/Python34
. However, every time I run the Puppet script I have, it gets installed to C:/Python34
. If I run the installer manually, I see that this is the default install location, so it looks like I'm not properly overriding the directory in my script.
My code is as follows:
class python( $installer = 'python-3.4.2.msi' )
{
package
{
'Python3':
ensure => 'installed',
source => "\\\\myApp.server\\Python\\${installer}",
install_options => { 'INSTALLDIR' => 'C:\bin\Python34' },
}
}
Unfortunately, no errors seem to appear when I run the --debug
option when running the script:
Debug: Prefetching windows resources for package
Debug: Executing 'msiexec.exe /qn /norestart /i \\myApp.server\Python\python-3.4.2.msi INSTALLDIR=C:\bin\Python34'
Notice: /Stage[main]/Python/Package[Python3]/ensure: created
Debug: /Package[Python3]: The container Class[Python] will propagate my refresh event
Debug: Class[Python]: The container Stage[main] will propagate my refresh event
Debug: Finishing transaction 53869152
Debug: Storing state
Debug: Stored state in 0.01 seconds
Notice: Finished catalog run in 39.22 seconds
Debug: Using settings: adding file resource 'rrddir': 'File[C:/ProgramData/PuppetLabs/puppet/var/rrd]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/rrd", :mode=>"750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Finishing transaction 48943728
Debug: Received report to process from bgtmnwl-659gxw1.peroot.com
Debug: Processing report from bgtmnwl-659gxw1.peroot.com with processor Puppet::Reports::Store
This code seems to work for other software, but just not for Python. I am running the command prompt as an administrator.
Is there something different about Python's installer? Why can't Puppet set the install directory for Python 3?