I hope someone out there can help with this.
I'm writing an app where a user selects a folder on the network for a job to deposit output into.
The person setting up the job will not necessarily be the same person who runs the job and that the job will not be ran on the same machine so I need to keep the path in UNC format.
I can get the user to "see" the network when the FolderBrowserDialog runs by pointing the route folder at the desktop folder.
The issue is that if the network share is local even though the user has selected the folder through the network folders it returns the local path!! Which of course means that when the job is run on the other machine it can not find the folder specified.
E.g. The user on machine1 selects the network share \\machine1\jobs\myjob but the dialog returns C:\work\2010Jobs\Client\jobs\myjob. machine2 then runs the job and looks for C:\work\2010Jobs\Client\jobs\myjob and can not find it then throws an error.
As you can see from the above example I can't just replace c:\ with the local machine name as the share may not be in the root of the drive.
I did think about parsing the text and changing it to \\machine1\c$\work\2010Jobs\Client\jobs\myjob but this would mean I'd have to allow all the users to have admin access to our servers which is a non starter.
Does anyone know if there is a way to switch off this behaviour in the dialog?
dim myDialog as new FolderBrowserDialog With myDialog .Description = "Browse to Job destination" .ShowNewFolderButton = True .RootFolder = Environment.SpecialFolder.Desktop .SelectedPath = "My Network Places\Entire Network\Microsoft Windows Network\" End With If myDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then sMyPath = myDialog.SelectedPath End If