Ask Your Question

install software only when it's not already installed

asked 2017-04-20 05:03:44 -0600

Borrie gravatar image

updated 2017-05-16 23:11:47 -0600

ramindk gravatar image

Hey everyone,

I'm installing cisco fireamp via puppet, it works but every half hour it tries to install it again which fills up my cisco amp log with lots of failed installations.

How can i tel puppet to install it only when it's not present? or some kind of versioning..

 package { 'Fireamp':
  ensure          => 'installed',
  source          => '//server/PublishedSoft/Protect_FireAMPSetupV3.exe',
  install_options => ['/S'],
edit retag flag offensive close merge delete


this statement is correct it should only install it if it is not installed, i.e. run once. My only thought is that for some reason the package is being removed.

puser gravatar imagepuser ( 2017-04-21 06:27:44 -0600 )edit

Well, it's installed on 200 computers so it's not being removed.. I'n the cisco log i see trying to update and then failed to update. grrrrrrrr

Borrie gravatar imageBorrie ( 2017-04-21 06:52:36 -0600 )edit

2 Answers

Sort by » oldest newest most voted

answered 2017-04-21 09:50:42 -0600

Borrie gravatar image

ok, should have read better...

this did the trick:

Package name must be the DisplayName The title (or name) of the package must match the value of the package’s DisplayName property in the registry, which is also the value displayed in the “Add/Remove Programs” or “Programs and Features” control panel.

If the provided name and the installed name don’t match, Puppet will believe the package is not installed and try to install it again.

The easiest way to determine a package’s DisplayName is to:

Install the package on an example system. Run puppet resource package to see a list of installed packages. Locate the package you just installed, and copy the name that Puppet resource reported for it. Some packages (Git is a notable example) will change their display names with every version released. See the section below on handling versions and upgrades.

edit flag offensive delete link more

answered 2017-05-18 04:13:16 -0600

AnoopKumar gravatar image
  1. Go to client where software is installed and run below command to find the name

puppet resource package

  1. then copy the name of package , it should be like below for Microsoft Access MUI

package { 'Microsoft Access MUI (English) 2013': ensure => '15.0.4420.1017',

  1. Use above name in your package and replace with 'FireArm'
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2017-04-20 05:03:44 -0600

Seen: 264 times

Last updated: May 18 '17