2011-09-07 3 views
1

J'ai vs2010 cliquez une fois le programme winform qui effectue la configuration pour un autre programme. Ce programme d'installation s'assure que le serveur sql est installé, crée la base de données/logins/tables, active le mode mixte, redémarre le serveur sql (2008 express) puis ajoute les procédures stockées en utilisant le login et précharge certaines tables pour commencer. Fonctionne bien pour winXP. Quand je fais l'installation sur un Windows 7, il échoue quand il essaye de redémarrer le serveur.redémarrer le serveur sql par programme est win7

Je suppose que c'est une fonctionnalité de UAC win 7 qui l'empêche, quand je redémarre manuellement le serveur, je reçois une alerte UAC. J'utilise actuellement les fonctions 'stopService' et 'startService' de http://www.csharp-examples.net/restart-windows-service/

Existe-t-il une autre façon de faire cela dans le code sans avoir à installer le SSMS pour redémarrer manuellement dans Windows 7?

merci!
Dave K.

+0

La façon dont vous avez Liées est la bonne façon de le faire. Pouvez-vous fournir plus de détails sur la façon précise dont il échoue? Dollars aux beignets, il s'exécute dans le mauvais contexte de sécurité. –

+0

Pour éviter l'installation de SSMS, utilisez le composant logiciel enfichable Services MMC: Démarrer-> Exécuter-> Services.msc Recherchez les services SQL Server et cliquez avec le bouton droit de la souris, puis sélectionnez Redémarrer. – Jeremy

+0

Je crois que cela vous dirigera dans la bonne direction. http://stackoverflow.com/questions/133379/elevating-process-privilege-programatically – ScottTx

Répondre

1

Avez-vous essayé l'exécution d'un fichier .bat préparé qui redémarre l'instance SQL via: net stop mssqlserver net start mssqlserver

+0

Redémarrer le service semble être le meilleur moyen. Remarque: Vous pouvez également utiliser WIM pour redémarrer un service localement et à distance. – Jeremy

+1

^WMI est ce que je devrais avoir tapé. Windows Management Instrumentation. – Jeremy

Questions connexes