 |
Coders' city Nasza pasja to programowanie!
|
| Zobacz poprzedni temat :: Zobacz następny temat |
| Autor |
Wiadomość |
samolot
Dołączył: 26 Sty 2006 Posty: 5404 Skąd: Toruń
|
Wysłany: Pon Lut 13, 2012 10:33 pm Temat postu: [.Net.Framework] - co oznaczają wpisy w rejestrze na temat Framework |
|
|
Mam prośbę o odpowiedź które z tych kluczy rejestru oznaczają , że na komputerze są:
1. Środowisko programistyczne biblioteki .NetFramework 2. Tylko pliki służące do uruchamiania programów napisanych z użyciem biblioteki .NetFramework
Sprawdzałem to u siebie. U mnie są wszystkie poniższe wpisy z obu cytatów. Je jestem użytkownikiem z grupy 1 jw.
W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework\AssemblyFolders W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework\AssemblyFolders\Microsoft.NET Framework 3.0 Reference Assemblies for Visual Studio W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework\AssemblyFolders\Microsoft .NET Framework 3.5 Reference Assemblies W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\v3.0 W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\v3.5
W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v1.0 W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v3.0 W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v3.0. SP1 W rejestrze istnieje klucz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework\v4.0.30319 Natomiast sprawdzałem na 2 komputerach osób, które nie mają nic wspolnego z programowaniem. i u nich w rejestrze nie ma tego klucza zaznaczonego na niebiesko. Czy wystarczy tylko te wpisy sprawdzać, czy czy jest jeszcze inny sposób, o ktorym ja nie wiem? Gdzieś czytałem w internecie , że trzeba sprawdzić isnienie pliku mscorlib, (o ile nie przekreciłem nazwy) ale nie moge teraz tej informacji znaleźć.
Znalazłem informację o wersjach .NETFramoworka-a. Jest tam takie zestawienie:
'. Wersja .NET Framework | Service Pack poziom | Wersja Framework | Wersja Visual Studio '------------------------|----------------------|------------------|-------------------|-------------------- '. NET Framework 1.0 | Oryginalne wydanie | 1.0.3705.0 | 7.0.9466.0 '. NET Framework 1.0 | Service Pack 1 | 1.0.3705.209 | '. NET Framework 1.0 | Service Pack 2 | 1.0.3705.288 | 7.0.9502.0 '. NET Framework 1.0 | Service Pack 3 | 1.0.3705.6018 | 7.0.9951.0 '. NET Framework 1.1 | Oryginalne wydanie | 1.1.4322.573 | 7.10.3052.4 '. NET Framework 1.1 | Service Pack 1 | 1.1.4322.2032 |(jeśli masz MSI oparte 1.1 z dodatkiem SP1) ' | |lub 1.1.4322.2300 |(jeśli masz OCM oparte 1.1 SP1 zainstalowany ' | | w systemie Windows Server 2003) i 7.10.6001.4 '. NET Framework 2.0 | Beta 1 | 2.0.40607.16 | 8.0.40607.16 '. NET Framework 2.0 | Beta 2 | 2.0.50215.44 | 8.0.50215.44 '. NET Framework 2.0 | Oryginalne wydanie | 2.0.50727.42 | 8.0.50727.42 '. NET Framework 2.0 | Service Pack 1 | 2.0.50727.1433 | 8.0.50727.1433 '. NET Framework 2.0 | Service Pack 2 | 2.0.50727.3053 | 8.0.50727.3053 '. NET Framework 3.0 | Oryginalne wydanie | 3.0.04506.26 |(Windows Vista) ' | | 3.0.04506.30 |(na niskiego poziomu systemach operacyjnych) '. NET Framework 3.0 | Service Pack 1 | 3.0.04506.648 | '. NET Framework 3.0 | Service Pack 2 | 3.0.04506.2152 | '. NET Framework 3.5 | Oryginalne wydanie | 3.5.21022.8 | 9.0.21022.8 '. NET Framework 3.5 | Service Pack 1 | 3.5.30729.1 | 9.0.30729.1 '. NET Framework 4 | Oryginalne wydanie | 4.0.30319.1 | 10.0.30319.1
Pytanie mam, co oznaczaja zwroty, zanaczone przeze mnie na czerwono? _________________ Vista SP2+VB 2008 EE + .NET 3.5 + IE 9.0.8112 /431 przykładowych programów do Warsztatu programisty (Helion) W życiu bowiem istnieją rzeczy , o które warto walczyć do samego końca. (P. Coelho)
Ostatnio zmieniony przez samolot dnia Wto Lut 14, 2012 9:53 pm, w całości zmieniany 1 raz |
|
| Powrót do góry |
|
 |
|
|
izaw

Dołączył: 12 Wrz 2008 Posty: 2003 Skąd: Łódź
|
Wysłany: Pon Lut 13, 2012 11:01 pm Temat postu: |
|
|
Klucze opisują wersje obsługiwanych frameworków.
Co do pliku, to musi być mscoree.dll. Jest maszyna wirtualna do uruchomienia aplikacji net. Jego wersja określa najwyższy numer zainstalowanego frameworka. _________________ Program nie robi tego co chce programista, ale to co programista zaprogramował |
|
| Powrót do góry |
|
 |
samolot
Dołączył: 26 Sty 2006 Posty: 5404 Skąd: Toruń
|
Wysłany: Pon Lut 13, 2012 11:43 pm Temat postu: |
|
|
mscoree.dll - czyli mam rozumieć, że : 1. Jest to koneczna biblioteka potrzebna na komputerze, na ktorym ktoś , nie zwiazany z prpgramowaniem , chce tylko uruchomić program napisany z użyciem .NetFramework?
2. Czy też jest to biblioteka obsługujaca tylko programowanie , czy programowanie i uruchamianie , ale na docelowym systemie wystarczy do działania programu? _________________ Vista SP2+VB 2008 EE + .NET 3.5 + IE 9.0.8112 /431 przykładowych programów do Warsztatu programisty (Helion) W życiu bowiem istnieją rzeczy , o które warto walczyć do samego końca. (P. Coelho) |
|
| Powrót do góry |
|
 |
izaw

Dołączył: 12 Wrz 2008 Posty: 2003 Skąd: Łódź
|
Wysłany: Wto Lut 14, 2012 12:23 am Temat postu: |
|
|
W .net kod kompilowany jest do pseudokodu i uruchamiany w maszynie wirtualnej wspólnej dla wszystkich języków. mscoree.dll jest właśnie tą maszyną. Każda aplikacja uruchamia tą maszyna i to ona wykonuje kod.
Co więcej ten plik istnieje na wszystkich platformach.
Jak chcesz to sobie sprawdzić to otwórz jakąś aplikację .net w Dependency Walker. Tam zobaczysz, że jedyną bezpośrednio wywoływaną biblioteką jest mscoree.dll i dopiero on wywołuje konkretne funkcje poprzez załadowanie potrzebnych bibliotek.
Nie rozumiem o co chodzi z tym programowaniem. Programowanie to pisanie kodu i jego kompilacji, np. w Visual Studio. Uruchamianie to załadowanie programu do pamięci i rozpoczęcie wykonywania. _________________ Program nie robi tego co chce programista, ale to co programista zaprogramował |
|
| Powrót do góry |
|
 |
samolot
Dołączył: 26 Sty 2006 Posty: 5404 Skąd: Toruń
|
Wysłany: Wto Lut 14, 2012 8:13 pm Temat postu: |
|
|
| Cytat: | | Nie rozumiem o co chodzi z tym programowaniem (...) Uruchamianie to załadowanie programu do pamięci i rozpoczęcie wykonywania |
Chodzi o warunek konieczny do uruchomienia programu, korzystajacego z .NET, na systemie na przykład XP , takim, który nie miał nic wspólnego z .NET. Zainstalować tę bibliotekę mscoree.dll i to wystarczy? Czytałem opinię, że sprawdzanie samych kluczy w rejestrze nie wystarczy, bo ktoś mógł na przykład usunąć bibliotekę mscoree.dll ? _________________ Vista SP2+VB 2008 EE + .NET 3.5 + IE 9.0.8112 /431 przykładowych programów do Warsztatu programisty (Helion) W życiu bowiem istnieją rzeczy , o które warto walczyć do samego końca. (P. Coelho) |
|
| Powrót do góry |
|
 |
hejmus
Dołączył: 26 Maj 2005 Posty: 2135
|
Wysłany: Wto Lut 14, 2012 9:03 pm Temat postu: |
|
|
Warunek konieczny, żeby działał program napisany w .NET to zainstalowanie odpowiedniej wersji .NET. Jeśli ktoś się bawi w usuwanie plików systemowych, to już jego problem, jak cos nie będzie działało. _________________ kompilacja Gentoo na Pentium MMX 233MHz - niezapomniane przeżycia ;) |
|
| Powrót do góry |
|
 |
samolot
Dołączył: 26 Sty 2006 Posty: 5404 Skąd: Toruń
|
Wysłany: Wto Lut 14, 2012 9:16 pm Temat postu: |
|
|
O usuniecie biblioteki, to było pytanie dodatkowe, wiadomo, że nikt specjalnie nie usuwa. Chodzi dokładnie o to, jakim sposobem sprawdzać, czy program sie uruchomi, by elegancko mój program mógł powiadomić użytkownika o przyczynie odmowy uruchomienia. Nie , żeby otrzymał komunikat systemu, który przewaznie zwykłemu użytkownikowi nic nie mówi.
Uprzedzę pytanie: moduł sprawdzający ma być napisany w wersji oprogramowania wcześniejszej niz .NET.
Czy wystarczy sprawdzanie istnienia kluczy w rejestrze? Ja pytałem w pierwszym poście , które klucze trzeba sprawdzać na komputerze docelowym, bo u mnie są i te dotyczące programowania i te dotyczące tylko uruchamania.
| hejmus napisał: | | Warunek konieczny, żeby działał program napisany w .NET to zainstalowanie odpowiedniej wersji .NET. |
Chodzi o to, które informacje na komputerze decelowym sprawdzać , żeby się upewnić, że warunek konieczny jest spełniony? _________________ Vista SP2+VB 2008 EE + .NET 3.5 + IE 9.0.8112 /431 przykładowych programów do Warsztatu programisty (Helion) W życiu bowiem istnieją rzeczy , o które warto walczyć do samego końca. (P. Coelho) |
|
| Powrót do góry |
|
 |
izaw

Dołączył: 12 Wrz 2008 Posty: 2003 Skąd: Łódź
|
Wysłany: Wto Lut 14, 2012 9:33 pm Temat postu: |
|
|
Za bardzo chcesz się bawić w sprawdzanie systemu. Jeżeli istnieje klucz .NetFramework lub.NetCompactFramework lub biblioteka mscoree.dll to znaczy, że .net jest zainstalowane. A czy jest uszkodzone to nie Twój problem a użytkownika danego systemu. Inaczej musiałbyś sprawdzać integralność całego systemu i rejestru.
Jeżeli ważna jest wersja frameworka to badasz podklucze lub wersję biblioteki. Pomijając bardzo już starą wersję 1.1 każda nowsza jest nadzbiorem poprzedniej. Zatem nie musisz szukać konkretnej, a sprawdzać minimalną. _________________ Program nie robi tego co chce programista, ale to co programista zaprogramował |
|
| Powrót do góry |
|
 |
samolot
Dołączył: 26 Sty 2006 Posty: 5404 Skąd: Toruń
|
Wysłany: Wto Lut 14, 2012 9:50 pm Temat postu: |
|
|
| Cytat: | | bawić w sprawdzanie systemu |
Chcę przede wszystkim wiedzieć. Nie mam zamiaru robić nic poza tym co jest konieczne. Natomiast żeby zrobic cos dobrze, to trzeba wiedzieć, z czym ma sie do czynienia i "czym to sie je". _________________ Vista SP2+VB 2008 EE + .NET 3.5 + IE 9.0.8112 /431 przykładowych programów do Warsztatu programisty (Helion) W życiu bowiem istnieją rzeczy , o które warto walczyć do samego końca. (P. Coelho) |
|
| Powrót do góry |
|
 |
izaw

Dołączył: 12 Wrz 2008 Posty: 2003 Skąd: Łódź
|
Wysłany: Sro Lut 15, 2012 12:39 am Temat postu: |
|
|
Zostaję przy swoim. Jest wpis/biblioteka (do wyboru) uruchamiam. Nie chodzi to problem użytkownika.
Nie ma to stara wersja. NET jest na tyle skomplikowana biblioteką, że nie rozbierzesz ją tak prosto. Ma wiele powiązań, itd. Twoim zadaniem jest aplikacja, a nie szukanie dziury w czyimś systemie. _________________ Program nie robi tego co chce programista, ale to co programista zaprogramował |
|
| Powrót do góry |
|
 |
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Możesz dodawać załączniki na tym forum Możesz pobierać pliki z tego forum
|
 Debug: strone wygenerowano w 0.58660 sekund, zapytan = 7
|