FAQ
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+unsubscribe@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.

Search Discussions

  • Nathan Shirlberg at Mar 4, 2013 at 5:06 pm
    I am sorry to spam the board here, but I did not realize that the post was
    held for moderation and then tried a similar post again. Please disregard
    this post and reply to this
    one. https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/NRYgzNW7ihc
    On Monday, March 4, 2013 10:11:01 AM UTC-6, Nathan Shirlberg wrote:

    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+unsubscribe@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.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedMar 4, '13 at 4:28p
activeMar 4, '13 at 5:06p
posts2
users1
websitepuppetlabs.com

1 user in discussion

Nathan Shirlberg: 2 posts

People

Translate

site design / logo © 2021 Grokbase