Tło:
Mam projekt, w którym muszę dostarczyć użytkownikowi pakiet do pobrania zawierający pewne wrażliwe dane. Dane muszą być zaszyfrowane. Po pobraniu muszą być w stanie je wyświetlić (nie wymaga edycji). W przypadku tego pytania przybliżmy dane jako ciąg statycznych plików HTML. Ponieważ dane są wrażliwe, należy je zaszyfrować za każdym razem, gdy znajdują się na dysku.
Myślimy o udostępnieniu użytkownikowi opcji pobierania, która dałaby mu plik zip zawierający dwa pliki:
- Plik danych (prawdopodobnie użylibyśmy zaszyfrowanego pliku zip za kulisami) z danymi, o które prosili
- Aplikacja do przeglądania danych, które odpowiednio monitowałyby o hasło i obsługiwały deszyfrowanie danych i wyświetlanie ich za pomocą wbudowanej przeglądarki internetowej.
Dodatkowe Szczegóły:
- Użytkownicy nie są pod naszą kontrolą. Oni są konsumentami.
- W tym pytaniu nie martwimy się o wiele platform. Dotyczy to tylko systemu Windows. Będziemy mieli osobny plik do pobrania dla użytkowników komputerów Mac.
Przejdź do pytania już:
W przypadku tej aplikacji, którą musimy utworzyć, wewnętrznie debatujemy, czy uzasadnione jest, aby ta aplikacja była .NET winforms. Chcemy pojedynczego pliku .exe i chcemy, aby pobieranie było względnie małe (np. 100 KB).
- Czy odważymy się korzystać z .NET Framework (nie musimy używać szczególnie najnowszej wersji .NET - 2.0 byłoby dobrze)?
- Czy można założyć, że większość klientów ma teraz .NET na swoich komputerach z powodu Windows Update?
- Czy rozsądnie jest poprosić tych, którzy go nie mają, aby go zainstalować?
Wiemy, że nie 100% użytkowników będzie miało zainstalowany .NET. Prawdziwe pytanie brzmi, czy rozsądnie jest poprosić ich o to w dzisiejszych czasach.
PS Czy ktoś wie o jakichkolwiek wiarygodnych statystykach, jaki procent osób faktycznie ma już zainstalowany .NET?
źródło
Odpowiedzi:
Domyślnie system Windows XP nie zawiera żadnej wersji środowiska .NET. Vista i Server 2008 obejmują .NET Framework 3.0, Windows 7 i Server 2008R2 obejmują .NET 3.5, a Windows 2000 nie obsługuje niczego powyżej .NET 2.0.
Mając to na uwadze, sprowadza się to do rozpowszechnienia systemu operacyjnego wśród docelowych odbiorców. Wymieniłbym to wymaganie w widocznym miejscu na stronie pobierania i podałem link do sekcji Microsoft Update / Pobieranie do pobrania frameworka, oprócz pobrania aplikacji.
źródło
Nie wiem, czy rozsądnie jest poprosić ich o to, czy nie. Wiem jednak, że klienci są często nierozsądni, więc nie widzę, żeby to miało znaczenie. Jeśli masz do czynienia z ograniczoną liczbą klientów, zapytaj ich. Jeśli masz do czynienia z większą liczbą klientów, niż możesz rozsądnie rozmawiać, lub zamierzasz pozyskać klientów w miarę upływu czasu, upewnij się, że widzą wymaganie przed zakupem.
źródło
W jakiej wersji systemu Windows są Twoi użytkownicy?
Jeśli jest to Windows Vista, będą domyślnie mieć zainstalowany .NET 3, a jeśli jest to Windows 7, będą mieć wersję 3.5. Źródło .
To nie pomaga, jeśli są na XP, ale ponieważ Microsoft właśnie przestał obsługiwać dodatek SP2, powinien być na dodatku SP3.
Jeśli używasz czegoś takiego jak „ClickOnce” (dostępne są inne instalatory), możesz uczynić odpowiednią wersję .NET Framework wymaganą, a ona ją pobierze i zainstaluje za Ciebie - nie jest zawarta w twoim instalatorze . Jeśli martwisz się wielkością pliku do pobrania, możesz przejść do .NET 3.5 lub 4 i ustawić profil klienta, który jest znacznie mniejszy do pobrania, chociaż wersja .NET 4 jest bardziej elastyczna.
źródło
Jakiś czas temu przeczytałem kilka postów z Paint.NET na temat procesu instalacji i jak to poprawić. Spójrz na te dwa wpisy na blogu. Pierwszy opisuje niewygodne instalowanie .NET Framework osobno; drugi opisuje, w jaki sposób autor zintegrował go w ramach instalacji.
Doświadczenie instalacji Paint.NET - Część 1, wersja 3.xx (stary zły sposób)
Doświadczenie instalacji Paint.NET - Część 2, wersja 4.0 (nowy dobry sposób)
Więc nawet jeśli będziesz potrzebować .NET Framework i nie masz pewności, czy użytkownicy go będą mieli, możesz przynajmniej zintegrować jego instalację z aplikacją w dość bezbolesny sposób.
źródło
Wielu użytkowników korporacyjnych nie korzysta z najnowszej wersji systemu Windows (wciąż na XP), ale myślę, że więcej użytkowników domowych dokonało aktualizacji z powodu nowego sprzętu. Pobieranie i instalacja jest trochę uciążliwe. Czy ten plik jest zwykle jednorazowy dla każdego klienta, czy będzie nadal pobierał pliki w przyszłości?
Jakie masz inne opcje? Czy pliki Acrobat są chronione hasłem? O wiele łatwiej byłoby zablokować: zapisywanie, drukowanie, kopiowanie i wklejanie.
Wygląda na to, że wymyślasz koło na nowo, ale nie znam wszystkich szczegółów.
źródło
Przeprowadziłem badania na ten temat, śledząc dane dotyczące ponad 10000 instalacji na całym świecie dla aplikacji komputerowej ukierunkowanej na .Net Framework 3.5 sp1. Tylko kilka (około 10) nie ma zainstalowanego odpowiedniego frameworka. Usunąłem ciężki plik instalacyjny środowiska .net z instalatora i nie zauważyłem jeszcze żadnego problemu.
Gorąco sugeruję, abyś przeprowadził to samo badanie na swoim rynku i zdecydował na podstawie wyników, a nie odpowiedzi, jakie możesz uzyskać w społecznościach takich jak ta.
źródło
Zależy od twoich danych demograficznych ...
Gdybym chciał, żeby ktokolwiek [1] mógł z niego korzystać, sfinalizowałbym 32-bitową aplikację, która działałaby na Win98 i W7.
To prawdopodobnie oznacza C ++ / MFC.
[1] Każdy, kto ma maszynę młodszą niż 12 lat i ma połączenie internetowe z systemem Windows 98+.
źródło
.NET 4 jest teraz częścią aktualizacji systemu Windows (KB został wydany w lipcu 2010 r.). Tak długo, jak maszyna jest na bieżąco z aktualizacjami systemu Windows, masz całkowitą gwarancję, że mają .NET 4.
źródło
Jeśli wiesz, że 100% Twoich klientów go nie ma, dlaczego napisałeś aplikację w .net?
Możesz użyć Java i utworzyć aplikację Web-Start.
Ale w rzeczywistości można połączyć platformę .net z instalatorem. Jeśli klient ufa, że zainstalowałeś aplikację, on również zainstaluje .net.
źródło
Upewnij się tylko, że wysyłany pakiet zawiera zależność od wymaganej wersji frameworka. Następnie menedżer pakietów, który użytkownik ma, pobierze niezbędną wersję frameworka i zainstaluje ją przed pakietem.
Och, docelowy system operacyjny ma bardzo sparaliżowany system zarządzania pakietami, który nie może tego zrobić? Powinien to być zły system operacyjny. Cóż, wtedy masz tylko jedną opcję: wymagaj zainstalowania tego frameworka i podaj link, aby to zrobić. Nie widzę korzyści dla użytkowników, jeśli zauważalna część tego, co robią programiści, poświęcona jest bezużytecznej zgodności z „standardowymi” narzędziami systemu operacyjnego (ten czas można poświęcić na naprawę błędów i dodanie funkcji).
źródło