740:请求的操作需要在java中提升

时间:2011-08-19 10:51:24

标签: java windows-7

我尝试了这个java代码,在这段代码中我将文件从一个目录移动到另一个目录, 然后执行该文件。我正在使用Windows 7操作系统。

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;


import org.apache.commons.io.FileUtils;
import org.omg.CORBA.Environment;

public class JFileChooserTest {
  public static void main(String[] args) {
        String filelocation="C:\\Users\\FSSD\\Desktop\\OutPut\\Target\\setup.exe";
        File trgDir = new File(filelocation);
        System.err
                .println("file location>>>>>>>>>>>>>>>>>>>"
                        + filelocation);
        File desDir = new File(
                "C:\\Users\\FSSD\\IndigoWorkSpace\\Swing\\test");

        try {
            FileUtils.copyFileToDirectory(trgDir, desDir);
            // FileUtils.copyDirectory(srcDir, trgDir);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }


        Runtime rt=Runtime.getRuntime();
        try {

            Process p=rt.exec("runas /user:FSSD test/setup.exe");   
            //Process p= rt.exec("test/setup.exe");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
  }
}

当我执行此操作时,我得到“740:请求的操作需要提升”错误,如果有任何可能的解决方法。

2 个答案:

答案 0 :(得分:1)

简短的回答是,您无法在进程中执行此操作。您需要启动在命令行提升的新进程。 (参见elevate命令)。

请参阅此问题并回答here - 它们可以解决您的问题。

答案 1 :(得分:0)

服务主机本地系统网络限制10

HKEY_LOCAL_MACHINE> “系统”> ControlSet001

右侧面板中名为Start的注册表值,然后双击它。

Link