SpecialFolder.Temporary = nil ?!?

For many years, I have been using SpecialFolder.Temporary as a place for scratch files while doing things like un-zipping files, storing intermediate results while processing data, or updating file formats. Recently I’ve had users run into error messages that are raised because SpecialFolder.Temporary was nil or unwritable. This is on a wide variety of operating systems. My application is not sandboxed. The users that run into this problem are often connected to large computer networks.

Does anyone know under what circumstances this folder would not be available, and is there a better folder I should be using instead?


Perhaps these are users with a VDI or their base drive is a remote one vs a local one.

What’s a VDI?

Any thoughts on how I could detect if their base drive is a remote one, and in that case is there any folder I can rely on to exist? I know of at least one instance where users don’t have access to the local Desktop, which I always thought was practically guaranteed to be writable…

So I looked up VDI, it sounds like it could be very useful in large environments. So where do other programs do their dirty work in these cases?

For example… when I work from home (which I do 99% of the time)… I log into a VDI Farm owned by my company and for all intents and purposes I am running a Win7 computer (on my Mac)… but the “computer” is not a desktop in the traditional sense. It is a segment of a server located 600 miles away the “serves” Win7 enviroments out to all the work from home employees. But while in fact I have a “C” drive… it is a “virtual” drive residing in my remote environment.

Unfortunatly, I don’t have Xojo running (nor am I allowed to) so I cannot experiment to see the results.

It sounds pretty cool! I’ll check with my users and see if they’re running Windows. Not sure what to do if there isn’t any way to write to a scratch area, though.