Problemy wynikające z braku uprawnień
Opublikowano aktualizacja
Program TaxMachine musi mieć prawo zapisu w katalogu, w którym trzyma swoje dane — bazę danych, kopie zapasowe i ustawienia. Jeśli konto Windows nie ma tam uprawnień, pojawiają się różne objawy: zapis dokumentu lub ustawień „nie łapie", kopie zapasowe się nie tworzą, aktualizacja bazy kończy się błędem (np. CANTOPEN (14)), a czasem program w ogóle nie chce się uruchomić.
Szybki test — uruchom jako administrator
Zamknij program, kliknij jego ikonę prawym przyciskiem myszy i wybierz Uruchom jako administrator. Jeżeli po tym problem znika, to potwierdza, że jego przyczyną był brak uprawnień do katalogu z danymi.
Traktuj to wyłącznie jako test diagnostyczny. Uruchamianie programu na stałe „jako administrator" nie jest właściwym rozwiązaniem — lepiej trwale usunąć przyczynę jednym ze sposobów niżej.
Rozwiązanie 1 — trzymaj dane w katalogu z prawem zapisu
Najprościej trzymać bazę i kopie w miejscu, do którego masz normalny dostęp — w domyślnym katalogu roboczym programu C:\Users\Public\Documents\TaxMachine albo we własnym folderze na innym dysku (np. D:\TaxMachine). Unikaj katalogów chronionych przez Windows: głównego katalogu dysku C:\, C:\Program Files, C:\Program Files (x86) oraz katalogu instalacyjnego programu — tam zwykły użytkownik nie ma prawa zapisu bez uprawnień administratora.
Lokalizację kopii baz danych zmienisz na wstążce Konfiguracja → przycisk Opcje → zakładka Kopie baz danych. Lokalizację samej bazy — w opcjach bazy danych.
Rozwiązanie 2 — nadaj uprawnienia do katalogu z linii poleceń
Jeśli chcesz zostawić dane w dotychczasowym katalogu i po prostu nadać sobie do niego prawo zapisu, użyj systemowego polecenia icacls (nadaje uprawnienia od razu na katalog wraz z podkatalogami i plikami).
- Otwórz Wiersz polecenia jako administrator: menu Start → wpisz
cmd→ kliknij pozycję Wiersz polecenia prawym przyciskiem myszy → Uruchom jako administrator. Bez uprawnień administratora zmiana uprawnień do katalogu chronionego sama się nie powiedzie. - Wpisz polecenie, podstawiając w cudzysłowie pełną ścieżkę do katalogu z danymi:
icacls "C:\ścieżka\do\katalogu" /grant "%USERNAME%:(OI)(CI)F" /T /C
Znaczenie poszczególnych części:
"%USERNAME%"— Twoje bieżące konto Windows. Jeśli program uruchamiany jest na innym koncie niż to, na którym teraz pracujesz, wpisz w to miejsce jego nazwę, np."Jan:(OI)(CI)F".(OI)(CI)F— pełna kontrola (F), dziedziczona przez pliki (OI) i podkatalogi (CI)./T— zastosuj do wszystkich istniejących podkatalogów i plików w środku./C— pomiń pojedyncze pliki chwilowo zablokowane (np. gdy program jest jeszcze uruchomiony) zamiast przerywać całą operację.
Przykład dla domyślnego katalogu roboczego programu:
icacls "C:\Users\Public\Documents\TaxMachine" /grant "%USERNAME%:(OI)(CI)F" /T /C
Uwaga: stosuj
icaclswyłącznie na katalogu z danymi programu (baza i kopie). Nie uruchamiaj go na całym dyskuC:\ani na katalogach systemowych Windows (C:\Windows,C:\Program Filesw całości) — hurtowe nadawanie uprawnień na folderach systemowych osłabia bezpieczeństwo systemu.
Rozwiązanie 3 — ponowna instalacja jako administrator
Jeśli uprawnienia do plików programu zostały naruszone przy instalacji lub aktualizacji, pomaga ponowna instalacja programu — instalator uruchom „jako administrator".
Zobacz też
- Błąd „SQLite error: CANTOPEN (14)" po aktualizacji programu — najczęstszy konkretny objaw braku uprawnień do katalogu kopii.
- Problemy powodowane przez antywirusy — bywają mylone z brakiem uprawnień (antywirus blokuje plik mimo poprawnych praw).