Obviously, the reason for the crash was that you used an uninitialized variable(list1) in getVersion, since the exception has been caught by Try/Catch.
Try showing the exception:
1. Remove Try/Catch, show the exception.
2. Log(LastException) in Catch block.
You'd better add a test to see whether the list has been initialized before using it,Log(list1.IsInitialized)
That does not seem to be the case.
There is still something strange happening. On my computer, if I point the folder to a totally made up (non existent) resource, the program as originally written properly catches it and displays the error message, even without initializing the list.
On the other user's machine, the program crashes with no warning.
The same program runs on dozens of other machines without that issue.
Last minute update:
The issue was that the user did not have permissions to access the network drive.
The Wait For did fix the problem for that user (his computer reports that the folder can't be found), so that will become my method of choice from now on.
Strangely, pointing to a non-existent drive is correctly identified by the Try/Catch, but pointing to an actual drive but to which the user does not have permissions causes the crash. And that is fixed by using Wait For instead of Try/Catch. Weird...
The other users all had access to that drive before installing the program.
Note:
I did not try to simply initialize the list first.
Thank you!