Readme
Readme
Readme
42
Copyright (c) 2015 - 2021 Nir Sofer
Web site: https://www.nirsoft.net
Description
===========
AdvancedRun is a simple tool for Windows that allows you to run a program
with different settings that you choose, including - low or high
priority, start directory, main window state (Minimized/Maximized), run
the program with different user or permissions, Operating system
compatibility settings, and environment variables. You can also save the
desired settings into a configuration file and then run the program
automatically from command-line with the desired settings.
System Requirements
===================
* Version 1.42
o When the 'Use search path to find the program location if the
full path is not specified' option is turned on, and the .exe file is
specified wihout a path, AdvancedRun now also searches the .exe file
inside the
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
Paths' Registry key (Similar to the 'Run' of Windows Explorer).
o This feature allows you to run common programs (e.g: chrome.exe ,
firefox.exe , outlook.exe) without specifying the path.
* Version 1.41
o Updated the high DPI compatibility option for Windows 10. You can
now choose one of the following options: No Override, Application,
System (Windows 10), System Enhanced (Windows 10).
o Added 'Disable full screen optimizations' compatibility option
(For Windows 10).
* Version 1.40
o Added option to run a program on a remote machine by using a
temporary Windows service.
o You need a full admin access to the remote computer (Including
admin share, like \\192.168.0.100\admin$ ) in order to use this
feature.
o Fixed the run as Network Service/Local Service feature to get the
correct account name on non-English systems.
* Version 1.30
o Added option to run as NetworkService account.
o Added option to run as LocalService account.
* Version 1.24
o Fixed the /Run command-line option to load the .cfg file from the
current directory if full path is not specified.
o Fixed the /Run command-line option to handle environment
variables.
* Version 1.23
o Added /WaitProcess command-line option. If the WaitProcess option
is enabled, the AdvancedRun process will wait in the background until
the process executed by AdvancedRun is terminated, for example:
AdvancedRun.exe /WaitProcess 1 /Run
* Version 1.22
o Added option to run a program as another logged-in user on your
system, without specifying the password of the user. Elevation is
needed to use this option.
* Version 1.21
o Fixed the /cfg command-line option to load the .cfg file from the
current directory if full path is not specified.
* Version 1.20
o Added 'Run As TrustedInstaller' option. You can use this option
by choosing 'TrustedInstaller' in the 'Run As' Combo-Box.
o You can also run a program as TrustedInstaller from command line,
for example:
AdvancedRun.exe /EXEFilename "c:\windows\regedit.exe" /RunAs 8 /Run
* Version 1.15
o Added 'Add Explorer Menu' option. When Explorer context menu is
added, you can right-click on .exe file inside Explorer window,
choose 'Advanced Run' and then AdvancedRun program will be opened
with the selected .exe file.
o You can now add AutoRun=1 line to .cfg file in order to run a
program according to the .cfg file without using the /run command.
* Version 1.11
o The default height of the main window is now below 600 pixels, in
order to make it work properly on 800 X 600 screen.
* Version 1.10
o Added option to run as specified user name/password.
o Be aware that the password is not saved inside the .cfg file. If
you want to run as the specified user from command-line, you should
specify the password using the /RunAsPassword command-line option.
* Version 1.07
o Added /cfg command-line option to start AdvancedRun with the
specified config file.
* Version 1.06
o The last size/position of the main window is now saved in the
.cfg file.
* Version 1.05
o Added option to run a process as a child of the specified process.
o You can now drag a file from Explorer into the window of
AdvancedRun in order to easily fill the 'Program To Run' field.
* Version 1.03
o Fixed the Environment Variables text-box to handle Ctrl+A (Select
All).
* Version 1.02
o Fixed to store the process name of the 'User of the selected
process' option inside the .cfg file.
* Version 1.01
o Fixed bug: AdvancedRun crashed while working with environment
variables.
AdvancedRun Options
===================
* Program to Run: The .exe filename that you want to run. You can also
specify environment variables here, for example:
%windir%\system32\regedit.exe
* Command-Line Arguments: The command-line string to pass to the
program.
* Start Directory: Specifies the start directory of the program. If you
don't specify it, the directory of the .exe file will be used. You can
also specify environment variables here, for example:
%appdata%\Microsoft
* Run on remote computer with temporary Windows service: If you choose
this option, the AdvancedRun tool will run the specified program on a
remote machine by using a temporary Windows service. If you don't
specify a computer name, AdvancedRun will run the specified program
from temporary Windows service installed on your local computer.
Be aware that you need a full admin access to the remote computer
(Including admin share, like \\192.168.0.100\admin$ ) in order to use
this feature.
Also, if the remote computer has 32-bit operating system, you should
use the 32-bit version of the AdvancedRun tool, because the AdvancedRun
.exe file you use is sent to the remote computer to run as service.
* Use search path to find the program location if the full path is not
specified: If you specify only a filename (without a directory) in the
'Program To Run' field and this option is turned on, AdvancedRun will
try to locate the .exe file in all directories specified in your PATH
environment variable.
* Parse the environment variables inside the command-line string before
passing it to the program: If this option is turned on, any environment
variable inside the command-line string will be parsed before passing
it to the program. If it's turned off, AdvancedRun will not parse the
environment variables inside the command-line string, allowing the
running program to do the parsing.
For example if you specify '%windir%\system32' in command-line string,
the program will receive it as C:\Windows\System32 if this option is
turned on. If it's turned off, the program will receive it as
%windir%\system32
* Set the process affinity mask (space-delimited list): Allows you to
specify the CPUs that the program can use , first CPU is 0, second CPU
is 1, and so on... For example:
0 1 2 3
* Priority Class: Specifies the priority to run the program: Normal,
Idle, High, RealTime, Below Normal, Above Normal.
* Main Window State: Runs the program with the specified window state -
Normal, Minimized, Maximized or Hidden. Be aware that this option only
affects programs that support it.
* Window Position (X,Y): Runs the program with the main window in the
specified position. only affects programs that support it.
* Window Size (W,H): Runs the program with the main window in the
specified size. only affects programs that support it.
* Run As: (For Windows Vista or later)
Allows you to run the program with different users and/or permissions.
You can choose one of the following options:
o Current User - Allow UAC Elevation: Runs the program normally. If
the program requires elevation ('Run As Administrator'), the UAC
window will appear to confirm the elevation.
o Current User - Without UAC Elevation: Runs the program without
UAC elevation ('Run As Administrator'), even if the program requires
it. For example... You can use this option to run RegEdit of Windows
without admin permissions.
o Administrator (Force UAC Elevation): Forces the program to run as
administrator, even if it doesn't require it.
o SYSTEM User: Runs a program as a SYSTEM user. SYSTEM user has the
ability to access some data that normal admin user cannot access. For
example, If you run RegEdit of Windows as SYSTEM user, you'll be able
to access the HKEY_LOCAL_MACHINE\SECURITY key.
o User of the selected process: Runs a program as a user of another
process that you choose. For example, if you're logged on as user1,
and there is a program running as user2, you can choose to run
another program as user2. You can type the name of the process
filename (e.g: myprogram.exe) or the process ID (e.g: 2543)
o Child of selected process (Using code injection): Runs a program
as a child of another process that you choose. The new process is
created with the same user and privileges of the parent process. You
can type the name of the process filename (e.g: myprogram.exe) or the
process ID (e.g: 2543)
Be aware that on 64-bit systems, you must use the 64-bit version of
AdvancedRun if the parent process you choose is 64-bit process and
you must use the 32-bit version of AdvancedRun if the parent process
you choose is 32-bit process.
o Specified user name and password: Runs a program with the
specified user name and password.
o TrustedInstaller: Runs the specified program as TrustedInstaller.
o Network Service: Runs the specified program as Network Service.
o Local Service: Runs the specified program as Local Service.
o Another logged-in user: Runs the specified program with another
logged-in user, without specifying the password, you only have to
type the name of the user. This option works only when there is at
least one process owned by the specified user.
Be aware that elevation is needed to use this option.
The 'System' and 'System Enhanced' options are only available starting
from Windows 10.
* Environment Variables:
o Use current system environment variables without any change: This
is the default option. The program will simply run with the current
environment variables.
o Merge the following environment variables with the system
variables: In this option, the environment variables you specify in
the text-box below will be merged with the current system variables.
You should specify the environment variables in variable=value
format, every variable in a separate line. Be aware that AdvancedRun
will not make any change in the current system variables, it'll only
set the merged environment variables to the specific instance of
program that you run.
o Use only the following environment variables (Ignore the system
variables): In this option, only the environment variables you
specify in the text-box below will be provided to the program you
run, while the current system variables will be ignored. You should
specify the environment variables in variable=value format, every
variable in a separate line.
Command-Line Options
====================
Alternatively, you can add the following line to the .cfg file in order
the run the program without specifying the /Run command:
AutoRun=1
/EXEFilename <value>
/CommandLine <value>
/StartDirectory <value>
/PriorityClass <value>
/RunAs <value>
/OSCompatMode <value>
.
.
.
You can use any variable stored in the config file as command-line
parameter. For example, in order to run RegEdit as system user:
AdvancedRun.exe /EXEFilename "%windir%\regedit.exe" /CommandLine ""
/StartDirectory "" /RunAs 4 /Run
In the above example, the '4' value of the /RunAs parameter sets the Run
As mode to SYSTEM user. If you don't know what is the right value to use
from command-line, simply choose the desired option from the user
interface, save it to config file, and then check the values stored in
the config file.
If you want to specify a value contains double quotes ("" ), you should
enclose the value with single quotes , for example:
AdvancedRun.exe /EXEFilename "c:\temp\myprog.exe" /CommandLine '
"c:\temp\my files\1234.txt" "hello" '
If you want to run as the specified user name and password (/RunAs 7 ),
you should specify the password with /RunAsPassword, for example:
AdvancedRun.exe /RunAsUserName "User01" /RunAsPassword "Password1234"
/RunAs 7 /Run
Disclaimer
==========
The software is provided "AS IS" without any warranty, either expressed
or implied, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. The author will not
be liable for any special, incidental, consequential or indirect damages
due to loss of data or any other reason.
Feedback
========