Début d'Exécution Java Processus avec des droits d'Administrateur sur Vista
je veux exécuter une setup.exe installateur qui installes un logiciel sur vista avec la version 1.6 de java.
L'utilisateur n'est pas administrateur. Lorsque je tente de démarrer le processus, j'ai le message d'erreur:
CreateProcess error=740
qui indique que l'utilisateur n'a pas les droits suffisants pour commencer le processus.
Puis-je soumettre un drapeau ou une option pour indiquer, le processus doit s'exécuter avec les droits d'administrateur? Vista lui-même n'ont cette fonctionnalité à l'intérieur de la barre de menu. Puis-je utiliser cette fonction en Java.
J'appelle le code suivant
Runtime rt = Runtime.getRuntime();
Process process;
try {
String fileToExecute = new File(mFolder, mSetupFiles[0]).getCanonicalPath();
if (logger.isDebugEnabled()) {
logger.debug("Execute runtime process");
}
process = rt.exec(fileToExecute, null, mFolder);
process.getErrorStream().close();
process.getInputStream().close();
process.getOutputStream().close();
if (logger.isDebugEnabled()) {
logger.debug("Wait until process is finished");
}
process.waitFor();
} catch (IOException e) {
throw new StartException(e);
} catch (InterruptedException e) {
throw new StartException(e);
}
Corrigez-moi si je me trompe à ce sujet, mais il semble que vous avez demandé un moyen de permettre un " setup.exe d'installation pour remplacer l'OS et SE DONNER des PRIVILÈGES d'ADMINISTRATION! Bien sûr, j'ai peut-être mal compris, mais cela semble risqué.
Ce que je veux dire, c'est que Vista est de demander de l'admin nom d'utilisateur/mot de passe quand il est requis avant le/lors de l'ouverture d'un fichier avec les permissions.
Oui, je vois, ce serait mieux. Vista vous demande le nom d'utilisateur & mot de passe et l'exécution se poursuit alors.
Ce que je veux dire, c'est que Vista est de demander de l'admin nom d'utilisateur/mot de passe quand il est requis avant le/lors de l'ouverture d'un fichier avec les permissions.
Oui, je vois, ce serait mieux. Vista vous demande le nom d'utilisateur & mot de passe et l'exécution se poursuit alors.
OriginalL'auteur Markus Lausberg | 2009-09-14
Vous devez vous connecter pour publier un commentaire.
(Je n'ai pas essayé), mais il semble que vous pouvez le faire à l'aide de la "élever" programme de ici
également lire cette pour le contrôle de compte d'utilisateur vue d'ensemble
OriginalL'auteur kaboom
Après 2 jours d'essais, j'ai trouvé la solution suivante.
L'erreur arrive lorsque l'UAC de Vista fonctionnalité est activée. Contrôle de compte d'utilisateur affiche une boîte de dialogue des questions à chaque fois, quand un processus a besoin de droits d'administrateur.
Montrant cette boîte de dialogue à l'origine du problème.
Au lieu de l'aide de l'ancien
commande, j'utilise maintenant le nouveau 1.5 ProcessBuilder commande
EDIT:
Pour éviter le problème, vous devez ouvrir une fenêtre de commande qui demande la permission. Et que vous appelez le processus externes.
Également décrit ici Exécuter un Programme externe
OriginalL'auteur Markus Lausberg