Dans mon application C#, si je voulais pouvoir télécharger un "complément" de notre site Web et le stocker localement sur l'ordinateur de l'utilisateur, puis l'exécuter (supposer qu'il s'agit d'une DLL d'assemblage ou EXE, peu importe), Je suppose que je ne peux pas le stocker dans un sous-répertoire de mon dossier Program Files, et ce n'est pas vraiment le bon endroit pour cela puisque les compléments sont spécifiques à l'utilisateur. Où dois-je les stocker, et quels types de problèmes de confiance/sécurité pourrais-je rencontrer?Où puis-je stocker le code exécutable téléchargé à partir d'un site et l'exécuter?
Répondre
Utilisez la classe IsolatedStorage fournie dans .NET pour stocker des données spécifiques à l'utilisateur.
Plus d'informations: Working with Isolated Storage in .NET
Quelqu'un veut fournir une raison pour laquelle cette méthode est meilleure ou pire que celle de Brian? –
Scott, ce n'est pas très différent. Je pense que l'emplacement de stockage est légèrement différent de celui qui serait utilisé dans la réponse de Brian. Généralement, c'est recommandé selon les livres .NET que j'ai lus pour les données spécifiques aux utilisateurs/applications. En fonction du système déployé, vous bénéficiez d'une bien meilleure modification des autorisations permettant d'utiliser IsolatedStorage à l'aide de CAS si vous rencontrez des problèmes qui pourraient vous empêcher d'utiliser l'approche de Brian. – Ian
D'après ceci: http://stackoverflow.com/questions/882490/how-to-decide-where-to-store-per-user-state-registry-appdata-isolated-storage/882496#882496 isoléstorage est à l'intérieur du Dossier ApplicationData de toute façon, donc je pense que c'est la meilleure réponse. –
Le répertoire de données d'application de l'utilisateur actuel doit être un emplacement pour les stocker.
string basePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
basePath = System.IO.Path.Combine(basePath, "MyProgram");
if (!Directory.Exists(basePath))
Directory.CreateDirectory(basePath);
Essayer d'écrire quoi que ce soit à l'intérieur des fichiers du programme après l'installation se déroulera dans des problèmes dans Vista, Windows Server 2008, Windows 7 et versions ultérieures. À moins bien sûr que votre application nécessite une élévation. Vous avez également mentionné que vos fichiers sont spécifiques à chaque utilisateur.
- 1. Où dois-je stocker un programme exécutable sous Windows?
- 2. Le symbole empaqueté téléchargé du site MS
- 3. Où les navigateurs stockent-ils le Javascript téléchargé dynamiquement?
- 4. Expiration des liens et où les stocker
- 5. où stocker le fichier .properties à utiliser dans C++ dll
- 6. Où stocker des fichiers texte?
- 7. Comment stocker des données dans le fichier exécutable
- 8. Obtenir des informations sur le code exécutable à partir d'exe/pdb
- 9. Où commencer à lire le code source SQLite?
- 10. Stockage du contenu téléchargé sur un site Web
- 11. Définition d'une variable à partir d'un exécutable
- 12. Puis-je obtenir le ProductCode à partir d'un exécutable InstallShield?
- 13. où stocker l'état sur le serveur
- 14. J'ai téléchargé le SDK pour google-analytics mais où je peux configurer le compte?
- 15. Site WSS 3.0 - où stocker les images et les fichiers CSS?
- 16. Où stocker les fichiers téléchargés (son, images et vidéo)
- 17. Flacon/Python. Obtenir le type de fichier à partir du fichier téléchargé
- 18. Comment stocker et accéder aux données JSON d'un site?
- 19. Certificats IIS7 et X.509: connexion d'asp.net à un service Web - où stocker les certificats?
- 20. Ce qui est bon Pratice stocker un fichier téléchargé dans le DB ou le stocker dans Filesystem
- 21. Où java.util.logging.Logger stocker leur journal
- 22. .NET Evénements pour le processus Exécutable exécutable
- 23. Meilleur SGBD pour stocker le code HTML
- 24. Où rendre le code source publiquement disponible
- 25. où stocker des données temporaires dans le projet MVC 2.0
- 26. Exécution d'un exécutable à partir de la mémoire
- 27. Exécution de code nsis importé à partir d'un exécutable nsis compilé
- 28. Comment créer un fichier exécutable de travail (.exe) à partir d'un code C
- 29. Afficher le document téléchargé à partir de la base de données
- 30. Où et comment stocker les fonctions dans asp.net.vb
Assurez-vous tout code que vous téléchargez est signé numériquement par vous avant de l'exécuter, sinon vous exposez vos utilisateurs à de nombreux risques, y compris, par exemple, une personne de piratage sur votre site ou d'attaquer vos utilisateurs Serveur DNS pour que votre logiciel télécharge les fichiers du mauvais site (il y a beaucoup plus de risques). – Nir
@Nir: Assez facile si j'écris mes propres compléments, mais si je veux autoriser des compléments de tiers, je dois également signer toutes leurs clés? –