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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.