LGB Systemy Komputerowe - Informacje o instalowaniu    

W Systemie XP i niższym program musi być instalowany przez administratora systemu


W Systemie Vista
-> Jeżeli włączono kontrolę konta użytkownika (UAC) program musi być instalowany przez kliknięcie prawym przyciskiem i opcję "Uruchom jako administrator".Informacje Microsoftu:
Jak instalować program
Więcej informacji o kontroli konta użytkownika w systemie Windows Vista
-> Jeżeli włączono UAC i z programu ma korzystać inny uzytkownik niż administrator należy:
Wersja 1
Zainstalować program do folderu bezpośrednio na dysku C np. "C:\depozyt", "C:\Pracownia"
Wszyscy uzytkownicy tego komputera będą mieli dostęp do plików programu np. mogą te dane przypadkowo usunąć.
Wersja 2
Zainstalować program zgodnie z ustawieniami programu instalacyjnego w folderze "Program Files\Nazwa aplikacji", a następnie nadać wybranym użytkownikom komputera pełne uprawnienia do tego folderu, aby mogli zapisywać dane w umieszczonej tam bazie danych.
Opis:
Rolą mechanizmu UAC (User Account Control - Kontrola Konta Użytkownika) zastosowanego w systemie Vista jest ograniczenie dostępu użytkownikom, którzy nie są administratorami systemu do zasobów systemu, np. folderu system32, Program Files, itp). Jedną z jego cech jest to, że standardowi użytkownicy (nieadministratorzy) nie mają domyślnie pełnego dostępu do folderu "Program Files/Nazwa aplikacji".
Kiedyś Microsoft kazał wszystko co współdzielone w programach instalowac do Program Files, żeby nie było bałaganu na dysku C i nasze instalatory zostały tak napisane. Z tego powodu współdzielone dane (np. plik bazy danych depozyt.mdb) są domyślnie umieszczone w folderze "Program Files/Nazwa aplikacji" na głównym stanowisku. Instalator nie jest więc w pełni zgodny z systemem Vista/W7.
W momencie uruchomienia programu "jako administrator" otwarta zostaje baza z lokalizacji "Program files/Nazwa aplikacji" i do niej zapisują się dane.
W momencie uruchomienia programu przez nie-administratora i próbie modyfikacji danych UAC nie zezwoli na zapis do "Program files", ponieważ użytkownik nie ma uprawnień do zapisu w tym folderze. Ale Vista ma mechanizm "rozwiązania" takiej sytuacji - robi kopię wszystkich zmienianych plików do folderu C:/Users/userName/AppData/Local/VirtualStore i tu dokonuje modyfikacji.
Problem polega na tym, że Vista zrobi kopię bazy danych, w której dokona modyfikacji danych, czyli wszelkie zmiany dokonane przez użytkownika będą się odbywały wyłącznie na KOPII bazy danych tego użytkownika. Ta kopia w żaden sposób nie będzie mogła być później scalona z bazą w Program Files, której używają użytkownicy-administratorzy. Oczywiście może się okazać, że to baza nie-administratora będzie jedyną używaną i będą w niej wszelkie dane, ale może się pojawić problem w czasie zmiany komputera itp.