On request of our business department, I want to pre-distribute the sourcefiles of a software distribution task prior to sending the task itself.
Is it as simple as copy/paste the prefetch+move command from the original fixlet to a new fixlet and save the file to a permanent directory?
Then in the install fixlet, change the basefolder parameter to the permanent directory and execute the rest of the fixlet without the prefetch command.
Set the BES Client Download Cache to be larger than the downloads. If you do a lot of software distribution with BigFix, then I’d recommend setting it to at least 5GB.
Then you can put the prefetch statement in a task/fixlet all by itself. You could actually put many prefetch statements from many tasks that you want to cache. As long as the total size is less than the BigFix Client Download Cache setting, then they will all be cached on the client.
You don’t need to move them to a permanent location and I would recommend against this approach.
Then when you deploy the actual task, it will skip the download portion and run quickly.
I think in most cases pre-caching downloads is not needed unless there are some major issues with WAN links or very short windows in which the items can be deployed.
In most cases I deploy software and updates while users are logged in and using the system without a problem.
I am curious, Why is pre-caching the downloads needed in this case?
I work for a European railway company and our team manages the point-of-sale devices on trains and the windows tablets that are used by the train operators to view security procedures.
These devices have a variable connectivity; connected by wifi in the stations, on the train by 3G/4G or no connection at all.
We need to distribute a new line of business application to these devices. The distribution of sourcefiles to +5000 devices can take up to a month to reach 80% of our devices.
When using the BES download cache, the sourcefiles get deleted after a reboot. This is why I’m using a custom sourcefile directory.
Couldn’t you have it just download and then run the installation?
Why does it need to be pre-downloaded?
Do they all need to be updated at the exact same time?
Also, the download cache SHOULD NOT be deleted after reboot. The files from the site’s __Download directory will get deleted, but they will still be in the download cache.
The download cache is located here on 64 bit windows systems:
Thank you for that information.
To answer your questions:
We deploy a baseline as an offer that uninstalls all old versions of the LOB application and checks the prerequisites before execution the installation. It is possible that the network drops during the execution of the baseline because our user is on a train. If this happens after the uninstall but before the sourcefiles of the install component are downloaded, the user does not have the LOB application anymore.
For other LOB applications it could be possible that this has to happen at the exact same time.
To solve the issue you describe, you can check a box when deploying the baseline to download before constraints are satisfied and then set the baseline’s start date to be in the future. This will cause the downloads the baseline performs to be done ahead of time before prompting the user to do the install, as long as it is done far enough ahead of time.
But not all components in a baseline need to be executed. We uninstall all previous versions of the software before performing an install and to limit bandwidth usage on the 4G connection, we only want to download the relevant version.
Does this download all sourcefiles within a baseline or only the relevant ones?
I just ran a test and the content will download onto clients before the offer is accepted if “Download before action constraints are satisfied” is checked.
If it does only download the files for the components that are relevant, then you may need to adjust the relevance on the installer task, or have another task in the baseline that only caches the file that is always relevant, while the task that actually installs the item would only be relevant AFTER the uninstall completes successfully.
This may be a non-issue for you, but if you have a lot of good relevance in your install task, then it shouldn’t be relevant until the previous version is uninstalled if that is what is required.