Contexte:
J'ai un projet où je dois fournir à l'utilisateur un package de téléchargement contenant des données sensibles. Les données doivent être cryptées. Après l'avoir téléchargé, ils doivent pouvoir le visualiser (aucune modification requise). Pour cette question, rapprochons les données sous la forme d'une série de fichiers html statiques. Parce que les données sont sensibles, elles doivent être chiffrées chaque fois qu'elles se trouvent sur le disque.
Nous pensons proposer à l'utilisateur une option de téléchargement qui lui donnerait un fichier zip contenant deux fichiers:
- Un fichier de données (nous utiliserions probablement un fichier zip crypté dans les coulisses) avec les données demandées
- Une application pour afficher les données qui inviteraient de manière appropriée une phrase secrète et gérerait le décryptage des données et leur affichage via un navigateur Web intégré.
Détails supplémentaires:
- Les utilisateurs ne sont pas sous notre contrôle. Ce sont des consommateurs.
- Nous ne sommes pas inquiets de multiplateforme dans cette question. Il s'agit juste de Windows. Nous aurons un téléchargement séparé pour les utilisateurs Mac.
Obtenez déjà à la question:
Pour cette application que nous devons créer, nous discutons en interne s'il est raisonnable que cette application soit une application WinNETs .NET. Nous voulons un seul .exe, et nous voulons que le téléchargement soit raisonnablement petit (par exemple 100k).
- Oserons-nous utiliser le framework .NET (nous n'avons pas besoin d'utiliser une version particulièrement récente de .NET - 2.0 serait bien)?
- Est-il raisonnable de supposer que la plupart des consommateurs ont désormais .NET sur leurs machines en raison de Windows Update?
- Est-il raisonnable de demander à ceux qui ne l'ont pas de l'installer?
Nous savons que pas 100% des utilisateurs auront installé .NET. La vraie question est de savoir s'il est raisonnable de leur demander de l'avoir de nos jours.
PS Quelqu'un connaît-il des statistiques fiables sur le pourcentage de personnes qui ont déjà installé .NET?
la source
Réponses:
Par défaut, Windows XP n'inclut aucune version du framework .NET. Vista et Server 2008 incluent .NET Framework 3.0, Windows 7 et Server 2008R2 incluent .NET 3.5 et Windows 2000 ne peut rien prendre en charge au-dessus de .NET 2.0.
Dans cet esprit, cela se résume à la propagation du système d'exploitation dans votre public cible. Je voudrais énumérer l'exigence bien en évidence sur la page de téléchargement et fournir un lien vers la section Microsoft Update / Downloads pour le téléchargement du cadre, en plus du téléchargement de votre application.
la source
Je ne sais pas s'il est raisonnable de leur demander de l'avoir ou non. Cependant, je sais que les clients sont souvent déraisonnables, donc je ne vois pas que cela importe. Si vous avez affaire à un nombre limité de clients, demandez-leur. Si vous traitez avec plus de clients que vous ne pouvez raisonnablement en parler, ou si vous allez chercher des clients au fil du temps, assurez-vous qu'ils voient l'exigence avant d'acheter.
la source
Sur quelle version de Windows sont vos utilisateurs?
Si c'est Windows Vista, ils auront .NET 3 installé par défaut et si c'est Windows 7, ils auront la version 3.5. Source .
Cela n'aide pas s'ils sont sous XP, mais comme Microsoft vient d'arrêter la prise en charge de SP2, ils devraient être sur SP3.
Si vous utilisez quelque chose comme "ClickOnce" (il existe d'autres programmes d'installation disponibles), vous pouvez faire de la version appropriée du framework .NET une condition préalable et il la téléchargera et l'installera pour vous - elle n'est pas incluse dans votre programme d'installation . Si vous êtes préoccupé par la taille du téléchargement, vous pouvez aller à .NET 3.5 ou 4 et créer le profil client qui est un téléchargement beaucoup plus petit, bien que la version .NET 4 soit plus flexible.
la source
Il y a quelque temps, j'ai lu quelques articles de Paint.NET sur le processus d'installation et comment l'améliorer. Jetez un œil à ces deux entrées de blog. Le premier décrit l'inconvénient d'installer séparément le .NET Framework; le second décrit comment l'auteur l'a intégré dans le cadre de l'installation.
L'expérience d'installation de Paint.NET - Partie 1, version 3.xx (l'ancienne mauvaise méthode)
L'expérience d'installation de Paint.NET - Partie 2, version 4.0 (la nouvelle bonne méthode)
Donc, même si vous allez avoir besoin du .NET Framework et que vous ne savez pas si les utilisateurs l'auront, vous pouvez au moins intégrer son installation à votre application d'une manière raisonnablement indolore.
la source
De nombreux utilisateurs d'entreprise ne sont pas sur la dernière version de Windows (toujours sous XP), mais je pense que davantage d'utilisateurs à domicile ont mis à niveau en raison du nouveau matériel. Le téléchargement et l'installation sont un peu pénibles. Ce fichier est-il généralement une seule fois par client ou continuera-t-il d'obtenir des fichiers à l'avenir?
Quelles sont vos autres options? Les fichiers Acrobat protégés par mot de passe sont-ils suffisants? Il serait beaucoup plus facile de bloquer: enregistrer, imprimer, copier et coller.
On dirait que vous réinventez la roue, mais je n'ai pas tous les détails.
la source
J'ai fait quelques recherches sur le sujet en suivant les données de plus de 10000 installations à travers le monde pour une application de bureau ciblant le .Net Framework 3.5 sp1. Seul un groupe (environ 10) n'avait pas le cadre approprié installé. J'ai supprimé le fichier d'installation du framework .net lourd du programme d'installation et je n'ai pas encore remarqué de problème.
Je vous suggère fortement de mener la même étude sur votre marché et de décider en fonction des résultats plutôt que des réponses que vous pourriez obtenir sur des communautés comme celle-ci.
la source
Cela dépend de vos données démographiques ...
Si je voulais que quelqu'un [1] puisse l'utiliser, je créerais une application 32 bits qui fonctionnerait sur Win98 et W7.
Cela signifie probablement des choses C ++ / MFC.
[1] Toute personne possédant une machine de moins de 12 ans disposant d'une connexion Internet exécutant Windows 98+.
la source
.NET 4 fait désormais partie de la mise à jour de Windows (la base de connaissances a été publiée en juillet 2010). Tant que la machine est à jour sur leurs mises à jour Windows, vous avez à peu près la garantie qu'ils ont .NET 4.
la source
Si vous savez que 100% de vos clients ne l'ont pas, pourquoi avez-vous codé l'application avec .net?
Vous auriez pu utiliser Java et créer une application de démarrage Web.
Mais en fait, vous pouvez regrouper le framework .net avec le programme d'installation. Si le Client vous fait confiance pour installer votre Application, il installera également .net.
la source
Assurez-vous simplement que le package que vous expédiez contient une dépendance à la version requise du framework. Ensuite, le gestionnaire de packages dont dispose l'utilisateur tirera la version de framework nécessaire et l'installera avant votre package.
Oh, le système d'exploitation que vous ciblez a un système de gestion de paquets très paralysé, qui ne peut pas faire cela? Ce devrait être un mauvais système d'exploitation. Eh bien, vous n'avez qu'une seule option: exiger que ce cadre soit installé et fournir le lien pour que l'utilisateur le fasse. Je ne vois pas comment les utilisateurs en bénéficient, si une partie notable de ce que font les développeurs est consacrée à une compatibilité inutile avec les outils de système d'exploitation "standard" (ce temps pourrait être consacré à la correction de bogues et à l'ajout de fonctionnalités à la place).
la source