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?
2 odpowiedzi
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ę.
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.
Podobne pytania
Nowe pytania
.net
NIE używaj w przypadku pytań dotyczących .NET Core - zamiast tego użyj [.net-core]. Platforma .NET to struktura oprogramowania zaprojektowana głównie dla systemu operacyjnego Microsoft Windows. Obejmuje implementację biblioteki klas podstawowych, środowiska uruchomieniowego języka wspólnego (powszechnie określanego jako CLR), systemu typu wspólnego (powszechnie określanego jako CTS) i środowiska wykonawczego języka dynamicznego. Obsługuje wiele języków programowania, w tym C #, VB.NET, F # i C ++ / CLI.