[BCB6] Problem z zapisem do rejestru (Vista)

dział ogólny

[BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez elmo » niedziela, 3 sierpnia 2008, 11:20

Witam,
nie wiem, czy ten wątek nie powinien znaleźć się w dziale "Systemy operacyjne" :), ale do rzeczy.
Polecam uwadze poradę Cyfrowego Barona nt. Rejestrowanie rozszerzenia pliku. Kod ten działa poprawnie jedynie w środowiskach Windows do wersji XP włącznie. Wykonanie wspomnianego kodu w systemie operacyjnym Windows Vista kończy się dwojako: wyświetleniem informacji o błędzie (Failed to set data for '') lub... brakiem komunikatu, ale wpis i tak nie zostaje w rejestrze umieszczony.
Z moich obserwacji wynika, że operacje na rejestrze w gałęzi HKEY_CLASSES_ROOT są chronione przez system operacyjny i wymagają uprawnień administratora. Operacje na innych gałęziach, np. HKEY_CURRENT_USER przeprowadzane są bez problemów. Sęk w tym, że aby dodać własne rozszerzenie lub zmodyfikować istniejące, trzeba operować na HKEY_CLASSES_ROOT.
Udało mi się "zmusić" program do pracy z uprawnieniami administratora (należy kliknąć prawym przyciskiem myszy ikonę programu i z menu wybrać Uruchom jako administrator lub utworzyć odpowiedni plik manifestu, przykład na: http://www.professionalvisualstudio.com/blog/2007/10/05/enabling-your-application-for-uac-on-vista/), ale nie rozwiązało to problemu - wpis do rejestru i tak nie jest dodawany (ale przynajmniej nie wyskakują żadne błędy ;) ).
Poza tym chodzi o to, by wykonać całą operację w kodzie i "poza" użytkownikiem.
Istnieje jednak metoda obejścia tych zabezpieczeń. Np. "odpalany" pod Vistą IrfanView bez problemu integruje się z powłoką i omija to zabezpieczenie. Jak? To jest właśnie moje pytanie. W jaki sposób zarejestrować rozszerzenie pliku pod Vistą?

Liczę na komentarze i owocną dyskusję.
Pozdrawiam, melmo.
Avatar użytkownika
elmo
 
    NieznanyNieznana

Re: [BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez Cyfrowy Baron » niedziela, 3 sierpnia 2008, 13:16

No i tutaj nie mogę Tobie pomóc. System Vista to przeżytek, taki nieudany eksperyment. Nie używam tego systemu i nie będę używał, więc nie mogę nic w tej kwestii poradzić.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4731
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 445
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: [BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez wargo » niedziela, 3 sierpnia 2008, 13:54

Sprawdź w edytorze rejestru czy zapisujesz do obrej ściezki i gdzie jeszcze zapisuja inne programy.
Avatar użytkownika
wargo
Mądrosław
Mądrosław
 
Posty: 389
Dołączył(a): niedziela, 13 lipca 2008, 16:44
Podziękował : 12
Otrzymał podziękowań: 3
System operacyjny: Windows 7
Kompilator: C++ Builder 6 Personal
Gadu Gadu: 6259515
    NieznanyNieznana

Re: [BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez elmo » niedziela, 3 sierpnia 2008, 15:45

Cyfrowy Baron napisał(a):No i tutaj nie mogę Tobie pomóc. System Vista to przeżytek, taki nieudany eksperyment. Nie używam tego systemu i nie będę używał, więc nie mogę nic w tej kwestii poradzić.


Hmm... Ja również nie jestem fanem tego systemu i w zasadzie wciąż "siedzę" jeszcze (i mam nadzieję jeszcze długo będę) na WinXP. Ale mimo wszystko jest pewna grupa ludzi, którzy z Visty korzystają - a oferowana aplikacja powinna być kompatybilna z możliwie dużą liczbą wersji okienek.
Nic, będę szukał dalej...

wargo napisał(a):Sprawdź w edytorze rejestru czy zapisujesz do dobrej ściezki i gdzie jeszcze zapisuja inne programy.


Ano sprawdzam, sprawdzam... I wszystko jest tak jak w każdej innej wersji okienek... I na każdej innej wersji działa idealnie. Tylko pod Vistą się "krzaczy" :evil:

Pozdrawiam.
Avatar użytkownika
elmo
 
    NieznanyNieznana

Re: [BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez Michal-S2 » wtorek, 12 sierpnia 2008, 09:36

Miałem ten sam problem. Tak mnie to zdenerwowało że zainstalowałem Windows XP.
Najgorsze nieszczęścia w historii były spowodowane przez idealistów próbujących zmuszać ludzi do tego, "co dla nich dobre"
Bjarne Stroustrup - twórca c++
Avatar użytkownika
Michal-S2
Intelektryk
Intelektryk
 
Posty: 148
Dołączył(a): sobota, 19 lipca 2008, 13:03
Lokalizacja: Gdańsk
Podziękował : 1
Otrzymał podziękowań: 1
System operacyjny: Windows 7 Professional OEM 64bit
Kompilator: Turbo C++ Explorer
    NieznanyNieznana

Re: [BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez Cyfrowy Baron » wtorek, 12 sierpnia 2008, 09:59

Spróbuj utworzyć z poziomu programu plik *.REG z odpowiednimi wpisami i uruchomić, w ten sposób system powinien dodać wpisy. Nie jest to optymalne rozwiązanie, gdyż trzeba będzie potwierdzić konieczność dodania wpisów, ale jestem ciekaw, czy to zadziała.

Szukałem jakichś informację na ten temat, ale Vista chyba nie jest aż tak popularnym systemem, jak można by oczekiwać i nic..., trzeba chyba "ręcznie" nadać jakieś uprawnienia do edycji w trybie odczyt-zapis, a z poziomu kodu prawdopodobnie trzeba tworzyć jakieś Tokeny nadające odpowiednie uprawnienia.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4731
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 445
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: [BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez Koziol » wtorek, 12 sierpnia 2008, 18:03

Cyfrowy Baron napisał(a):, ale Vista chyba nie jest aż tak popularnym systemem, jak można by oczekiwać i nic...,


nie wiem gdzie chcesz kupić XP...
Laptopa w sprzedazy bez Visty to juz nie wiem ile czasu nie widziałem.
Poinformowano również, że oficjalne zakończenie sprzedaży komputerów z preinstalowanym systemem Windows XP nastąpi 30 czerwca br.
źr. http://www.microsoft.com/ (Opublikowano: 26 czerwca 2008 | Zaktualizowano: 26 czerwca 2008)
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
Podziękował : 8
Otrzymał podziękowań: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: [BCB6] Problem z zapisem do rejestru (Vista)

Nowy postprzez Cyfrowy Baron » wtorek, 12 sierpnia 2008, 18:43

Nie widzę problemu. System WinXp wciąż jest w sprzedaży. Komputerów nie trzeba kupować z półki, można zamówić w częściach i zamiast Visty wziąć WinXP.
Co do laptopów, to usuwałem już system Vista wielokrotnie i instalowałem WinXP, więc też nie widzę problemu. Nikt z moich znajomych nie ma Visty.
Na co dzień zajmuję się naprawą komputerów i dotychczas Vista trafiła mi się raz na komputerze stacjonarnym, co do laptopów to klienci przychodzą żeby im usunąć Vistę i zainstalować XP.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4731
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 445
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 1 gość

cron