From: Debayan Sutradhar Date: Wed, 23 Jun 2021 23:45:04 +0530 Subject: [Run Executable] - Add Run As Admin Option for Windows --- [Run Executable] - Add Run As Admin Option for Windows --- --- 'a/runexecutableaction/src/main/java/com/stream_pi/runexecutableaction/RunExecutableAction.java' +++ b/runexecutableaction/src/main/java/com/stream_pi/runexecutableaction/RunExecutableAction.java @@ -3,6 +3,7 @@ package com.stream_pi.runexecutableactio import com.stream_pi.action_api.actionproperty.property.*; import com.stream_pi.action_api.externalplugin.NormalAction; import com.stream_pi.util.exception.MinorException; +import com.stream_pi.util.platform.Platform; import com.stream_pi.util.version.Version; import java.io.File; @@ -33,6 +34,13 @@ public class RunExecutableAction extends ); addClientProperties(executablePathProperty); + + if(getServerConnection().getPlatform() == Platform.WINDOWS) + { + BooleanProperty runAsAdminProperty = new BooleanProperty("run_as_admin"); + runAsAdminProperty.setDisplayName("Run as Administrator"); + addClientProperties(runAsAdminProperty); + } } @Override @@ -57,7 +65,19 @@ public class RunExecutableAction extends { ProcessBuilder processBuilder = new ProcessBuilder(); processBuilder.directory(executableFile.getParentFile()); - processBuilder.command(executableLocation); + + String command = executableLocation; + + if(getServerConnection().getPlatform()==Platform.WINDOWS) + { + boolean runAsAdmin = getClientProperties().getSingleProperty("run_as_admin").getBoolValue(); + if(runAsAdmin) + { + command = "powershell -Command \"Start-Process '"+executableLocation+"' -Verb runAs\""; + } + } + + processBuilder.command(command); processBuilder.start(); } catch (IOException e)