7 Replies Latest reply on Sep 5, 2013 9:12 AM by TomButler

    MSIEXEC Command Line Variables


      I'm trying to package an MSI that needs a property to be set at runtime.  The problem is, the property points to a file, and no matter what I do, it wont be happy unless I give it the entire path to the file.  So I found I could run the command locally from LD Cache by using, USERFILESPEC="%CD%\SELicense.dat", but this bombs when I push the install with LANDesk.  I've tried ".\SELicense.Dat".  The file is in the same directory as the MSI file.  Below are some things I've tried.


      /i /norestart /qn MYTEMPLATE=4 USERFILESPEC="SELicense.Dat"

      /i /norestart /qn MYTEMPLATE=4 USERFILESPEC=SELicense.Dat

      /i /norestart /qn MYTEMPLATE=4 USERFILESPEC=".\SELicense.Dat"

      /i /norestart /qn MYTEMPLATE=4 USERFILESPEC="%CD%\SELicense.Dat"


      Nothing seems to work with LANDesk.  Any suggestions?

      (Running 9.0.2)

        • 1. Re: MSIEXEC Command Line Variables

          Have you try to package it using a bat file and have the dat file as additional file?



          msiexec /i package.msi /norestart /qn MYTEMPLATE=4 USERFILESPEC="SELicense.Dat"

          • 2. Re: MSIEXEC Command Line Variables



            Yes I have opened a support call for that.

            The support just tell me that is will be corrected into the coming MCP patch... mid-april (14th) normaly.


            Wait, test and hope ;-)


            @billyc: Why always using batch file? LANDesk is supposed to manage MSI, no?




            • 3. Re: MSIEXEC Command Line Variables

              It depends on the packages I guess.  Eventhough msi might be the preferred method, but sometime it might not work for a particular environment.

              • 4. Re: MSIEXEC Command Line Variables

                A lot of what I end up deploying are self-extracting executables.  I could EASILY make one that does what I am trying to do.  The trick is, I would like to keep as many things native MSIs as much as possible.  The automatic detection saves me a step, and a big package like this (1.5-2GB) takes a long time to extract on the end users computer.  I know it would transfer quicker as well, but it ends up about a wash. It's also a nuissance because if you do the SFX route, LD copies the file to the local cache and then runs it.  The SFX copies itself to the temp folder.  Then the temp folder copy extracted version is ran.  It then installs.  Which means that at the point of the install, the package will be taking up 6-8GB of storage space on the computer.  While the vast majority of our systems have 8GB of free storage space, I would prefer to limit that down.  I could use a BAT file, but that seems to be taking the worst of both worlds.

                • 5. Re: MSIEXEC Command Line Variables
                  ahe Expert



                  in the past (on LDMS 8.x) they say that MSI use the real MSI paramters, but they didn't!


                  So I used batches or/and AutoIT, it's more flexible and I can be sure that the parameters are correct and exist.


                  In the meantime (V9) they said, that they implement the real parameters, but I've no tests made to verify it. (I use AutoIT/EXE deployment)


                  A other possibility is to copy a script locally and let it start the installation from server share... (like start from source...)




                  • 6. Re: MSIEXEC Command Line Variables

                    I just figured there has to be a way to tell LANDesk to use the path for the packaged in the command line there.  Oh well.  I guess I'll have to make yet another SFX file.  It's nice to have a single file to run for manual software installs, it just adds another layer of complexity.

                    • 7. Re: MSIEXEC Command Line Variables
                      TomButler SupportEmployee

                      I believe this issue has been resolved in this article http://community.landesk.com/support/docs/DOC-8169