Запуск приложения .Net от имени администратора делает OpenFileDialog неспособным обнаружить сетевую общую папку - PullRequest
0 голосов
/ 27 февраля 2019

Я обнаружил, что вызов OpenFileDialog из приложения running as administrator сделает диалог неспособным обнаружить общие сетевые папки.

Вот мой файл app.manifest, цель состоит в том, чтобы заставитьприложение всегда запускается от имени администратора .

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Вот код XAML:

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="built-in" Margin="0,0,308,152" Click="Button_Click"></Button>
    </Grid>
</Window>

Вот код CS:

namespace WpfApp1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "txt (*.txt)|*.txt|All files (*.*)|*.*";
            openFileDialog.ShowDialog();
        }

    }
}

Теперь, если есть несколько других машин, совместно использующих папки сНа компьютере, на котором выполняется этот код, OpenFileDialog не может обнаружить общие папки.

  1. Если я не заставлю приложение запускаться от имени администратора, тогда OpenFileDialog сможет увидеть теобщие папки
  2. я могу просмотреть общие папки в проводнике.

Почему это так?Можно ли исправить?

...