Too bad. I was wondering about that, but decided to start the new year optimistically and interpret your previous response in the most positive way
The SoundVolumeView project files are pretty readable text files. Looking at those [ProfileItem...] sections: is there maybe some other attribute (Name, for instance) that you could use to map between IDs? That is, could you maybe create a script that exports a new project file to get the current IDs, updates a previously created file (with the user's preferred volumes) with the new device IDs, and then loads that?
this is really difficult to achieve, because depending on how many devices / programs are present, the number of "ProfileItems" in the Soundprofile.spr changes. It would be possible to make an assignment based on the device name "Speechmike", but this would require that only Speechmikes are used. And this is unfortunately not the case, unfortunately I can't think of a clear assignment.
and if I keep thinking about the problem, it won't be a permanent solution. Because with every login the virtual machine changes, but the physical host / USB device may also change. Even if we could save the settings for the physical host A, but the user would log on to a different physical host, the settings would be saved to the Soundprofiles.spr by this new host, so the settings on the first host would no longer exist.
Well looks like no one needs to provide diffrent audio devices in VDI - the support can't help either.
If the different devices all present themselve with a unique name (Make/model perhaps), you could possibly create seperate export profiles that you differentiate using Conditions. Different hardware is then individually added.
Don't know if that would work in this situation, just thinking with you...