2011-07-26 2 views
3

Je travaille sur un logiciel écrit en C# et pour .NET Framework 3.5. Le programme d'installation du logiciel est créé par un "Projet d'installation et de déploiement> Configuration" à partir de Visual Studio 2008. À l'origine, le logiciel a été écrit pour Windows XP. Maintenant, j'ai besoin de le modifier afin qu'il fonctionne également sous Windows 7.Fournir le contrôle total du répertoire pour les utilisateurs non-administrateurs sous Windows 7

Sous Windows 7, le privilège d'administrateur est requis pour l'installation d'un logiciel. Ainsi, l'administrateur devient le propriétaire du répertoire d'installation créé lors de l'installation. Le logiciel sera utilisé par les utilisateurs non-administrateurs, qui ont seulement accès en lecture et en exécution du répertoire d'installation par défaut. Mais le logiciel est conçu de manière à pouvoir écrire dans le répertoire d'installation. Il y a un fichier de configuration startup.ini dans le répertoire d'installation que les non-administrateurs devraient pouvoir modifier pour modifier le comportement du logiciel.

Si le logiciel est exécuté à partir d'un compte non administrateur, il ne peut pas écrire dans le répertoire d'installation. De même, les non-administrateurs ne peuvent pas modifier le fichier startup.ini. Pour contourner ce problème, actuellement l'administrateur l'installe modifie l'autorisation du répertoire d'installation afin que les non-administrateurs puissent l'écrire et le modifier.

Je veux que ce soit fait automatiquement après l'installation. D'une manière ou d'une autre, l'installateur devrait s'occuper de la permission. Comment puis je faire ça? Notez que je ne peux pas modifier le comportement du logiciel afin qu'il n'écrit plus dans le répertoire d'installation. Les non-administrateurs doivent avoir le privilège nécessaire pour pouvoir modifier et écrire. J'utilise Windows XP SP3 pour le développement. Tous les systèmes d'exploitation impliqués (XP et 7) sont de 32 bits.

Merci d'avance.

Répondre

5

vous devez modifier l'application afin qu'il stocke son fichier INI à un endroit où les utilisateurs normaux peuvent écrire - voir http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/77aaf6e1-8de5-4529-9b26-fa89b55fcc49

EDIT:
IF qui est absolument impossible alors: créer une « action personnalisée » dans le projet d'installation et de modifier les autorisations ... un bon point de départ est

http://www.redmondpie.com/applying-permissions-on-any-windows-folder-using-c/
et
http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesystemsecurity.addaccessrule.aspx

+0

Je comprends parfaitement. mais je ne peux pas modifier le programme à cette fin. – Donotalo

+0

voir ma modification ci-dessus – Yahia

4

Pour l'enregistrement, votre programme est également cassé sur Windows XP. XP nécessite également des droits d'administrateur pour installer de cette façon ou écrire dans les dossiers Program Files. La différence est que tant de gens ont un admin par défaut dans XP.

Si vous ne pouvez pas modifier le programme, vous devrez écrire une action d'installation personnalisée pour accorder l'accès en écriture au fichier ini en question. Il n'est pas nécessaire d'accorder cet accès au dossier entier.

Questions connexes