Puppet Package for windows MSI correctly detects whether the Package is 
installed or not, but will not detect that the new MSI file is newer and 
thus the Package needs to be updated.  My seems almost identical 
to http://projects.puppetlabs.com/issues/13104. Which was closed a year 
ago...  I am using Puppet Community 3.1.0

I want to use Puppet to deploy our software internally.  We run mostly .net 
applications and are coming from an in-house deployment script that is 
lacking in several features that Puppet is really strong in.  My plan is to 
append an MSI generation to the end of each build and then use Puppet to 
selectively install the application(s).  I have created MyApplication.msi 
(version 1.0.1) and a "later" release MyApplicaiton.msi (version 1.0.2).

My Puppet manifest is as follows:
package { 'MyApplication':
      ensure          => installed,
      source          => 
'C:\ProgramData\PuppetLabs\puppet\etc\modules\MyApplication.msi',
      install_options => { 'INSTALLDIR' => 'C:\...\MyApplication' },
    }
When I run version 1.0.1, Puppet detects that the Package is missing and 
installs it appropriately.  When I replace the msi with the new version and 
run Puppet, I expect that Puppet would recognize that the Package installed 
is version 1.0.1 and the MSI provided is version 1.0.2 and thus install the 
new version. I have tried setting ensure to be the specific version of the 
new MSI, but that gets an error because Windows Package does not implement 
Versionable.  Any thoughts or suggestions about using this method of 
deployment with Puppet?

I am considering: 
1) modify the 
source<https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/windows/msi_package.rb>
 to 
recognize the versions and require the install
2) aborting the MSI and train developers to write puppet manifests that 
utilize the windows resources directly (files, services, scheduled tasks, 
etc)
3) treating each version as it's own unique package and script the build to 
ensure => absent for the old versions and ensure => installed for the 
latest version

 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to