Hi Adam On Thu, Aug 16, 2012 at 3:19 PM, ad <adam.denn...@gmail.com> wrote: > Jeff, > > Just to give you more ideas, and as someone who tends to reinvint wheels, > what I do for this sort of thing on Windows is make custom types and use > Ruby to handle download, unzip, md5, etc. Here's how a couple custom types I > use look in a Puppet manifest: > > media_player_msi { 'ensure_msi_version': > ensure => present, > version => $version, > download_dir => $download_dir, > schedule => 'msi_upgrades', > require => Media_Player_Stage_Msi['ensure_msi_download'], > notify => Exec['reboot'], > } > > I have a standardlib type module with generic functions for things like > download, md5, etc. that are used in other custom types. Lacking a robust > shell, tools, and package management on Windows, I find this approach > cleaner than trying to ship binaries and use cmd.exe. >
It would be great to get this on the forge, would you be willing to publish it? > Also, check out Ruby's win32 stuff, or even just wmic. You may find working > with MSI's easier this way than using the 2.7x type in Puppet. Be careful with wmic and msi's. Simply enumerating the list of installed products will cause wmi to perform a consistency check across all installed products[1]. Probably not what you wanted! I've made some improvements to the MSI package provider on Windows in 2.7.19[2] (currently in rc and will be out "soon"). It would be great if you could give that a try. Also, we'll have support for executable packages in 3.x[3]. And, Rich has a package provider using chocolately (a la apt-get for windows)[4][5]. Josh [1] http://gregramsey.net/2012/02/20/win32_product-is-evil/ [2] http://projects.puppetlabs.com/issues/11868 [3] http://projects.puppetlabs.com/issues/11870 [4] https://github.com/rismoney/puppet-chocolatey [5] http://projects.puppetlabs.com/issues/15541 -- Josh Cooper Developer, Puppet Labs -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.