taxmachine.pl

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).

  1. 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.
  2. 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)Fpeł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 icacls wyłącznie na katalogu z danymi programu (baza i kopie). Nie uruchamiaj go na całym dysku C:\ ani na katalogach systemowych Windows (C:\Windows, C:\Program Files w 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ż