I have a question that hopefully someone can enlighten me on. I have a MSI based app that has multiple folders and files that must be referenced for an installation to complete. If I use the software distribution wizard, all of the folders and files upload to the BES server and the fixlet runs without any errors.
If I create a fixlet that uses the download command multiple times, say for example three files such as the MSI, cab and mst fle and then use the run commnad to run the msi, it fails.
Apart from using the software distribution wizard, what do you all recommend doing to run an install requiring several files/folders? Do you use you winzip to create a self extracting exe then use the download and run commands?
The software deployment wizard will not be available for all of our Bigfix site admins so I need to consider alternatives.
you can run the download 3 times, but each time you should move the file away from the __Download directory.
I often
wait cmd.exe /c mkdir “{pathname of client folder of regapp “besclient.exe”}\somename”
download 1…
move…
download 2…
move
downlod 3…
move
run msi from {pathname of client folder of regapp “besclient.exe”}\somename"
cleanup
I would strongly suggest using the wizard though, it’s quite handly. Plenty of other options exist though. If you know that some zip program is available on the enpoints (you can include the test in relevance) you can just use that to decompress, or even create a self extracting exe. One word of caution is that external zip and sfx/self extracting zips can be VERY difficult to run hidden.
I’ve previous run some fixlets where my first action is to obtain an install 7-zip, and then deliver my files as any archive that 7zip can process - it can be made silent.
you can put as many download commands in an action as you would like. Your action is likely failing for some other reason. Can you post the action script?
Incidentally, the download command has been deprecated. What BigFix version are your clients?
If you are at 7.2, you should use a prefetch block. If you are between 6.0 and 7.1, use a prefetch statement. See the Windows Action Guide for examples and more information:
To expand on gjeremia’s comment, you can download as many items as you want. There are a few caveats. If there are items with the same name in multiple downloads, such as setup.exe, that will cause problems. Following gjeremia’s advice to move them out of the __download folder before initiating the subsequent download is important in that circumstance. If all of the download items are unique, then moving is not necessary. The same holds true for TMP files. If there happen to be multiple TMP files with the same name, that can also choke up the client.
Most of the external site content uses download, from what I’ve seen. Is that for compatibility with your older version customers?
Also, is prefetch preferred just because it’s better/easier? I mean, the Action Guide does say download is deprecated, but download as and download now as are not indicated as deprecated. I imagine that newer versions will still have to support download as long as your content still uses it.
You are correct that we need to continue to support older clients. Soon we will be able to move away from the download command which is problematic for a number of reasons.
We moved to prefetch because it explicitly requires the url, size, and sha1 as arguments rather than the old method of expecting a ‘continue if’ statement to check those parameters on the subsequent line.
We added prefetch blocks in order to explicitly show what parts of the action execute prior to the client entering action execution context. There was lot of confusion caused by our previous behavior where any download commands in the action script were executed prior to running the action, regardless where in the script the commands existed.
There were a few other justifications and enhancements, but those are the main reasons we felt it would be good to move to new download syntax.