Programmatically creating packages

Comments

9 comments

  • Brad McClave

    I can't offer any suggestions but would love to know how you scripted the automatic download of applications from vendors websites. My problem has always been that the links for the application always had the version number baked in to the URL making it difficult to detect new versions.

    0
    Comment actions Permalink
  • Martin

    Well, I've mostly dealt with it case-by-case. The mechanical part is handled in Powershell.

    For one application I'm just crawling through the vendor's website and look for specific download links. From that same page, I can usually find the version number as well and compare it to the one I already have downloaded. If it's newer, then I'll just download the new one.

    If the app is published on Github, then there are special URL's that always have the latest build.

    0
    Comment actions Permalink
  • Colby Bouma

    No, Deploy does not have any commands that can do this. The closest I think you can get is to export a current package to XML, have your script modify that XML to point to the new version, then manually import the updated XML. You can directly poke the database, but that can lead to several different issues and I recommend against doing that.

    What are the applications you are looking for? I can add them to our list of programs to investigate for possible inclusion in the Package Library.

    0
    Comment actions Permalink
  • Martin

    Thanks! Import/export of packages to/from XML would be a great way to solve this issue. Modifying an existing file (or even creating a new one) isn't really a difficult thing to do with Powershell. Now, if only there would be a way to import those XMLs through CLI... (cough.. feature request.. cough..) 😉

    Well, one of the apps is rather specific to our country (supporting app for our National ID-card) so I'm afraid, that there would be only a handful of admins who are able to benefit from it.

    One of the more popular apps would be Microsoft's PowerBI Desktop.

    0
    Comment actions Permalink
  • Colby Bouma

    I too would love to be able to import and export packages through the CLI. Hopefully someday 😃

    I made sure PowerBI is on our list.

    0
    Comment actions Permalink
  • Martin

    Cool! Thanks!

    While you're at it, maybe you'd consider adding the AdoptOpenJDK (https://adoptopenjdk.net/) as well? Now that Oracle doesn't really allow to use their JRE in the business environment (without paying), there's a need for an alternative.

    0
    Comment actions Permalink
  • Colby Bouma

    As far as I'm aware, you can still use the JRE. We still publish the latest version in the Package Library. However, I will still make sure AdoptOpenJDK is on the list.

    0
    Comment actions Permalink
  • GrantG

    I used Ketarin to keep one of my downloads up to date, looking for newer version and downloading it. With rules customized for that app.

    http://ketarin.canneverbe.com/

    But then my vendor did a website redesign, requiring 2 factor authentication, to download newer versions. So that didn't work for me anymore, has to be done manually.

    Then I just updated variables in PDQ (In both inventory and deploy) with the new version number, that updated the collections (Current/Old) and used the same package with variable defined path/filename of the new version of software.

    That part still works.

    0
    Comment actions Permalink
  • Marcel Lipovsky

    I do my packages as selfextracting RAR files with a #setup.cmd batch.

    This way I can just select package file and from context menu select "create update". The resulting file will then be uploaded to different repositories and from there deployed.

    What i suggested several times is the ability for a package (in pdq deploy) to be able to get the file with wildcards.

    Like: $(Repository)\MyPackage_v$(getFileVersion_[x.x.x]).exe

    This would locate the files matching the pattern, grab the latest version, put the info in the package version field.

    This could be done either via action button, on aplication start or via triger (when the content in $(Repository) chnages.

     

    0
    Comment actions Permalink

Please sign in to leave a comment.