Не удается получить доступ к файлу базы данных приложения, хранящемуся в папке Local Appdata на сервере Windows 2012 - PullRequest
0 голосов
/ 03 января 2019

У меня есть небольшое приложение vb.net, которое хранит настройки в файле компактной базы данных SQL Server abc.sdf.Во время установки я сохраняю этот файл в папке Local Appdata, которая переводится как

"C: \ Users \\ AppData \ Local \\ abc.sdf"

В Windows Server 2012, когда я работаюмое приложение от пользователя без прав администратора выдает ошибку "файл базы данных не найден".Я не получил эту ошибку при запуске приложения с опцией «Запуск от имени администратора».

Эта проблема относится только к Windows Server, приложение работает без проблем в Windows 7,8 и 10.

Я попытался изменить владельца файла, предоставив разрешение на полный доступвсем, пользователям и т. д., но никто не работает.

Я не могу просмотреть файл в папке localappdata, если вошел в систему как пользователь без прав администратора.Но когда я вошел в систему как пользователь Admin, он показывает файл.

Я не знаю много о Windows Server 2012, любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 03 января 2019

Вам нужен файл в appdata или файл в файле, в котором находится программа? Если это так, вы можете получить к нему доступ следующим образом:

Dim Filename As String = $"{AppDomain.CurrentDomain.BaseDirectory}abc.sdf"

Если это требуетсячтобы оказаться в локальной папке appdata, вы можете попробовать:

Dim Filename as String = $"{GetFolderPath(SpecialFolder.ApplicationData)}Local\abc.sdf"

Вам также нужно вставить: Imports System.Environment вверху кода

...