2009-08-13 7 views
6

Mon application a besoin d'un accès administratif et je veux qu'il fonctionne sans tracas dans Windows 7.Windows 7 - configurer une application Programmatically pour fonctionner en mode de compatibilité XP

je les options suivantes

1.Ask l'utilisateur qui utilise l'application pour désactiver l'UAC. C'est une option de dernier recours et je déteste faire cela.

2.Embed un manifeste dans l'application qui dit d'élévation à administrateur privilégié. Cela fonctionnera mais il semblerait que cela fera apparaître un dialogue demandant le consentement des utilisateurs chaque fois qu'un utilisateur exécute l'application.

3. Configurez l'application pour qu'elle s'exécute en mode de compatibilité Windows XP. Cela fonctionne, mais je devais le faire en utilisant explorer-> propriétés de l'application. si je peux le faire par programmation pendant l'installation, je préférerais vraiment cette option. Ma question est de savoir s'il existe un moyen d'y parvenir.

ce qui a trait

Ganesh

+0

Peut-être que ce serait instructif si vous deviez expliquer pourquoi votre application a besoin d'un accès administratif. Il pourrait y avoir de meilleurs moyens de résoudre le problème. –

+0

Si vraiment cela * nécessite * l'administration, je ne considère pas cela comme un problème. La seule raison pour laquelle quelqu'un devrait vouloir contourner l'UAC est qu'ils essaient de faire quelque chose de malfaisant. Hmmm .... –

+0

Peut-être que Ganesh a une certaine dépendance sur un composant tiers qui ne fonctionnera pas sur Windows 7 sans l'accès administrateur ou le mode de compatibilité Windows XP. J'ai vu des composants comme celui-là, où le fournisseur d'origine a disparu et migrer vers un autre composant est une grosse tâche. – MarkJ

Répondre

2

J'ai eu assez habitués à traiter avec la boîte de dialogue UAC, en cours d'exécution Vista pour les 2 dernières années. Si cela vous dérange, je me demande à quel point vous avez de l'expérience avec les systèmes d'exploitation post-XP.

En tant qu'utilisateur, je pense qu'il ya deux façons de voir: il

  1. Le programme nécessite en soi admin. Pour ceux-là, j'apprécie énormément le dialogue, car je sais que personne ne va sournoisement exécuter cette chose en arrière-plan et modifier mon système.
  2. Le programme fait par défaut et non nécessite admin. La plupart des programmes n'ont besoin que d'un administrateur pour se mettre à jour automatiquement (et ne devraient probablement pas en avoir besoin). Mon attitude est que ces programmes sont mal conçus. Un tel programme devrait seulement invoquer AUC s'il découvre qu'il a besoin de mettre à jour, pas chaque temps de frigging que je le lance. C'est aussi un problème de sécurité, car tout débordement de tampon trouvé par quelqu'un dans tout le programme me met en danger.

Localisez le besoin d'UAC autant que possible. Le mieux serait de mettre dans un exécutable séparé. (par exemple: un "updater")

3

Essayez making un application compatibility shim qui indique que votre application a besoin du mode de compatibilité XP et de le distribuer avec votre application. Un shim est un moyen pour les administrateurs de simplifier l'installation d'une application tierce qui nécessite des paramètres de compatibilité - cela leur évite d'avoir à modifier chaque PC individuellement. Vous pouvez probablement le rouler dans votre programme d'installation avec un petit ingenuity.

Questions connexes