The application itself is only about 28MB of installed files in the BES Client directory and BESLib subdir. Everything else is generated by the application running, but lives in the same directory structure under __BESData and KeyStorage directories, or in the registry. It doesn’t really make sense to try and manage a “persistent” device without enabling this data to be persistent, as well.
I understand the challenge here in a VDI/XenDesktop environment, but you may need to look at the value of trying to manage each endpoint vs the source image. If you’re just trying to get visibility of each instance that spins up, you can try to preserve the registry and KeyStorage directories to maintain the identity; but all the history would be lost each reboot, causing the client to re-run things that it has already done (actions, downloads, uploads, etc).
If this image is used by only a single virtual computer instance, then it would work. If it is used to create any number of virtual computer instances, then the ComputerID will still get invalidated because we don’t want multiple computers to be able to report as a single entity constantly overwriting each others results.