Невозможно получить доступ к файлу .mdf после установки приложения с помощью проекта установки Visual Studio. - PullRequest
0 голосов
/ 27 мая 2018

Я создал приложение WPF.Я использую проект установки Visual Studio для создания настройки приложения.

В моем приложении у меня есть локальная база данных, которая находится в папке проекта (папка приложения).Когда я устанавливаю приложение на любой другой диск, кроме диска C: (диск операционной системы), тогда он работает нормально.Но когда я устанавливаю приложение на диск C:, мое приложение не может получить доступ к файлу базы данных.Кроме того, когда я присоединяю базу данных к SQL Server Management Studio, она подключается только для чтения:

enter image description here

Кроме того, я просмотрела Eventviewer и обнаружила, чтоошибка:

enter image description here

Я попытался добавить файл .mdf в папку Programdata, но проблема все еще не решена.Я знаю, что это проблема, связанная с разрешением.Но есть ли способ решить эту проблему с помощью проекта установки Visual Studio?

1 Ответ

0 голосов
/ 27 мая 2018

Используйте класс Installer и напишите приведенный ниже код в методе Commit.Вы должны дать разрешение на чтение / запись в файл mdf.Вы можете дать это ниже строки кода;убедитесь, что у вашего установочного каталога также есть разрешение на запись.

string directoryName = @"C:\rnd\ConsoleApplication16\ConsoleApplication16\";
        string SharedCachePath = @"C:\rnd\ConsoleApplication16\ConsoleApplication16\xyz.mdf";
        var fs = File.GetAccessControl(directoryName);
            fs.SetAccessRuleProtection(false, true);
            File.SetAccessControl(SharedCachePath, fs);

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

...