Wspieramy aplikację VB.Net, która jest dystrybuowana do różnych szkół korzystających z wielu różnych wersji systemu Windows, więc instalator aplikacji musi obsługiwać system Windows XP, Vista i Windows 7. Ostatnio napotkaliśmy problem z naszą aplikacją na Windows XP, który został rozwiązany przez zainstalowanie NetFx20SP2_x86.exe, który pobraliśmy stąd: http ://www.microsoft.com/download/en/details.aspx?id=1639. Pobrałem również pakiety programu rozruchowego .NET Frameworks 2.0 SP2 i 3.0 SP2 z tego miejsca http://go.microsoft .com/fwlink/?LinkID=127832. Ta instalacja dodaje dodatek Framework 2 SP 2 jako opcję na liście wymagań wstępnych projektu instalacji platformy .Net.

Następnie utworzyłem projekt instalacyjny, w którym jako wymagania wstępne wybrano Framework 2 i Framework 2 SP2. Powoduje to utworzenie pliku instalacyjnego, który działa dobrze w XP, ale problem polega na tym, że gdy ten sam plik instalacyjny jest uruchamiany w systemie Windows Vista lub Windows 7, podczas próby zainstalowania NetFx20SP2 pojawia się następujący komunikat o błędzie: „Ta czynność jest prawidłowa tylko dla produktów, które są aktualnie zainstalowane".

Jak mogę utworzyć jeden plik instalacyjny, który zapewni, że Famework 2 i SP2 dla frameworka 2 zostaną poprawnie zainstalowane na wszystkich trzech obsługiwanych przez nas platformach Windows?

0
BruceHill 7 sierpień 2011, 17:48

2 odpowiedzi

Najlepsza odpowiedź

Rozwiązałem ten problem, dodając .Net Framework 3.5 SP1 jako zależność od mojego pliku instalacyjnego. Wygląda na to, że Framework 3.5 SP1 zawiera .Net Framework 2 z SP2, więc z tą zależnością instalacja działa poprawnie na Windows XP, Windows Vista i Windows 7.

Nie jest to idealne rozwiązanie, ponieważ efektywnie instaluję więcej niż aplikacja faktycznie potrzebuje, ponieważ 3.5 w ogóle nie jest wymagana przez aplikację. Ale był to jedyny sposób, jaki udało mi się znaleźć, aby zainstalować NetFx20SP2_x86 tam, gdzie jest to potrzebne (a mianowicie na XP), ale bez instalacji powodującej błędy podczas uruchamiania na platformie, na której nie jest to potrzebne (Vista i Windows 7). Jeśli ktoś zna lepszy sposób na zrobienie tego, chętnie bym to usłyszał, ale na razie to rozwiązanie załatwia sprawę.

0
BruceHill 25 sierpień 2011, 10:59

Po sprawdzeniu powyższego łącza okazało się, że ta wersja .Net Framework jest obsługiwana w systemach Windows XP i Windows Server 2003, a nie w systemach Windows 7 lub Windows Vista. Po prostu google i zobacz, muszą istnieć oddzielne pakiety .Net Framework dla Vista i Windows 7.

0
Deepansh Gupta 7 sierpień 2011, 17:57
Cześć Deepansh. Dziękuję za odpowiedź. Szukałem w Google NetFx20SP2_x86 dla Windows i nie znalazłem równoważnej wersji dla Windows Vista i Windows 7. Podejrzewam, że sytuacja jest taka, że ​​jest to zawarte w 3.5 lub 3.5 SP1. Czy ktoś może potwierdzić/zaprzeczyć, że tak jest? Chciałbym, żeby Microsoft wyjaśnił prostym językiem, dlaczego ta instalacja jest oferowana tylko dla Windows Server 2003 i XP i co należy zainstalować, aby zapewnić taką samą funkcjonalność na innych platformach.
 – 
BruceHill
8 sierpień 2011, 11:41
O ile pamiętasz, Windows Vista i Windows 7 mają preinstalowany .Net Framework, ale po prostu potwierdź to sam. Dlatego myślę, że nie musisz instalować .Net Framework dla Windows Vista i Windows 7.
 – 
Deepansh Gupta
8 sierpień 2011, 19:15