Chuyển tới nội dung chính

akaBot Commander (Command Line)

Commander.exe is the command-line tool that akaBot Studio uses behind Options > Extensions. IT administrators can run it directly to:

  • install, check and remove the akaBot Web Extension for Chrome, Edge and Firefox in User, Policy or Policy (Offline) mode, for example from a deployment script on many robot machines;
  • turn the Java Access Bridge on or off;
  • manage Windows child sessions and start a program.

For what each installation mode does and which policies it writes, see Browser Group Policies.

1. Before you start​

1.1 Location​

Commander.exe is in the akaBot Studio installation folder. With the default installation:

FileDefault location
CommanderC:\Program Files\FPT Software\akaBot Platform\Commander.exe
Extension packagesC:\Program Files\FPT Software\akaBot Platform\akaBot\MV3\
Native messaging host filesC:\Program Files\FPT Software\akaBot Platform\akaBot\NativeHost\

The extension packages are named akaBot-Chrome-<version>.crx, akaBot-Edge-<version>.crx and akaBot-Firefox-<version>.xpi. To see which versions are shipped with your installation, run:

dir /b "C:\Program Files\FPT Software\akaBot Platform\akaBot\MV3"

1.2 Administrator rights​

CommandRun as administrator
install-… / remove-… with --scope:userNo. Run it as the Windows user who uses the browser — it changes that user's settings only.
install-… / remove-… with --scope:policy or --scope:policyofflineYes. Open Command Prompt with Run as administrator.
status-…No
install-java / remove-javaYes, when Java is installed in C:\Program Files
child-session --enable / --disableYes

1.3 Syntax​

Commander.exe <command> --<option>:<value> --<option>:<value> ...
  • Options use a colon (:) between the name and the value. Option names are not case-sensitive.
  • Put values that contain spaces in quotes: --file:"C:\Program Files\...\akaBot-Chrome-3.0.3.crx".
  • Boolean options need an explicit value: --silent:true, not --silent.
  • Run Commander.exe --help to print the list of commands.
  • Messages are written to the console. The result is the exit code (see section 6). In Command Prompt, read it with echo %ERRORLEVEL%; in PowerShell, with $LASTEXITCODE.

Tip: Run the examples in this guide from the Commander folder, so that the relative paths akaBot\MV3\... and akaBot\NativeHost\... work:

cd /d "C:\Program Files\FPT Software\akaBot Platform"

2. Extension identifiers​

Every extension command needs the extension ID and the native messaging host of the browser.

Browser--id--nativeHostId--fileNativeHost
Chromepflniglmkbjhmlcpcgpnhnpicdfalkjbcom.akarpa.chromenativemsgakaBot\NativeHost\com.akarpa.chromenativemsg.json
Edgeidcmnficjddehpcjmkfcmomijikkgdghcom.akarpa.edgenativemsgakaBot\NativeHost\com.akarpa.edgenativemsg.json
Firefoxsupport@akabot.comcom.akarpa.firefoxnativemsgakaBot\NativeHost\com.akarpa.firefoxnativemsg.json

3. Install the extension​

Commander.exe install-chrome | install-edge | install-firefox
--scope:<user|policy|policyoffline>
--id:<extension id>
--version:<version>
--file:<path to .crx or .xpi>
--nativeHostId:<native host id>
--fileNativeHost:<path to native host .json>
[--silent:<true|false>]
[--noConfirm:<true|false>]
OptionRequiredDescription
--scopeYesInstallation mode: user, policy or policyoffline (Chrome and Edge). Firefox supports user and policy.
--idYesExtension ID (section 2).
--versionYesVersion of the package, for example 3.0.3. Must match the package file.
--fileYesExtension package: .crx for Chrome and Edge, .xpi for Firefox. For policyoffline, the package must be the akaBot extension with the same --id.
--nativeHostIdYesNative messaging host (section 2).
--fileNativeHostYesNative messaging host manifest (.json).
--silentNotrue: no dialog at all — running browser processes of the current user are closed without asking. Use it in deployment scripts. Default false: Commander asks to confirm the installation and asks before closing the browser.
--noConfirmNotrue: skip only the "install extension?" confirmation; closing the browser is still asked. Chrome and Edge only.

Note: The browser must be closed during installation. Save your work in the browser before you run an install command.

3.1 Example: User mode (current user, no administrator rights)​

cd /d "C:\Program Files\FPT Software\akaBot Platform"

Commander.exe install-chrome --scope:user --id:pflniglmkbjhmlcpcgpnhnpicdfalkjb --version:3.0.3 --file:"akaBot\MV3\akaBot-Chrome-3.0.3.crx" --nativeHostId:com.akarpa.chromenativemsg --fileNativeHost:"akaBot\NativeHost\com.akarpa.chromenativemsg.json"

After a User-mode install, open Chrome and click Enable extension in the notification (see How to install akaBot Web Extension).

3.2 Example: Policy mode (all users, from the store)​

In an elevated Command Prompt:

cd /d "C:\Program Files\FPT Software\akaBot Platform"

Commander.exe install-edge --scope:policy --id:idcmnficjddehpcjmkfcmomijikkgdgh --version:3.0.3 --file:"akaBot\MV3\akaBot-Edge-3.0.3.crx" --nativeHostId:com.akarpa.edgenativemsg --fileNativeHost:"akaBot\NativeHost\com.akarpa.edgenativemsg.json" --silent:true

Edge downloads the extension from Edge Add-ons the next time it starts, so the machine needs access to the store.

3.3 Example: Policy (Offline) mode (all users, no store access)​

In an elevated Command Prompt, on a machine joined to a domain or enrolled in MDM:

cd /d "C:\Program Files\FPT Software\akaBot Platform"

Commander.exe install-chrome --scope:policyoffline --id:pflniglmkbjhmlcpcgpnhnpicdfalkjb --version:3.0.3 --file:"akaBot\MV3\akaBot-Chrome-3.0.3.crx" --nativeHostId:com.akarpa.chromenativemsg --fileNativeHost:"akaBot\NativeHost\com.akarpa.chromenativemsg.json" --silent:true

Commander copies the package to C:\ProgramData\akaBot\Extensions\chrome and force-installs it from there. If the command ends with exit code 14, the machine is not managed — use --scope:policy instead. Exit code 15 means the package could not be copied: delete C:\ProgramData\akaBot\Extensions and run the command again.

3.4 Example: Firefox in Policy mode​

In an elevated Command Prompt:

cd /d "C:\Program Files\FPT Software\akaBot Platform"

Commander.exe install-firefox --scope:policy --id:support@akabot.com --version:2.0.1 --file:"akaBot\MV3\akaBot-Firefox-2.0.1.xpi" --nativeHostId:com.akarpa.firefoxnativemsg --fileNativeHost:"akaBot\NativeHost\com.akarpa.firefoxnativemsg.json" --silent:true

Note: Replace the versions in the examples with a version from your akaBot\MV3 folder (section 1.1).

4. Check the status​

Commander.exe status-chrome | status-edge | status-firefox --id:<extension id> --nativeHostId:<native host id>

Example:

Commander.exe status-chrome --id:pflniglmkbjhmlcpcgpnhnpicdfalkjb --nativeHostId:com.akarpa.chromenativemsg
echo %ERRORLEVEL%
OutputExit codeMeaning
Installed. Scope: User0Installed for the current user.
Installed. Scope: Policy0Force-installed from the store, and all required policies are present.
Installed. Scope: PolicyOffline0Force-installed from C:\ProgramData\akaBot\Extensions, and all required policies and files are present.
Not installed6The extension is not installed.
Not installed. Scope: Policy (incomplete: ...)6The extension is force-installed (for example by your organization's GPO), but something it needs is missing, so Indicate does not work. The text after incomplete: lists what is missing. Run install-… with the same scope as administrator to fix it.

For Chrome and Edge, the status is what Indicate sees: when the extension is force-installed by policy, the policy installation is reported even if a User-mode installation also exists.

5. Remove the extension​

Commander.exe remove-chrome | remove-edge | remove-firefox --scope:<user|policy|policyoffline> --id:<extension id> --nativeHostId:<native host id>

Use the same scope as the installation (see status-…). Policy scopes require an elevated Command Prompt.

Commander.exe remove-chrome --scope:policyoffline --id:pflniglmkbjhmlcpcgpnhnpicdfalkjb --nativeHostId:com.akarpa.chromenativemsg
  • Policy scopes remove only the akaBot entries from the policy lists; entries of other products are kept. policyoffline also deletes the files in C:\ProgramData\akaBot\Extensions\<browser>.
  • The browser removes a force-installed extension the next time it starts.
  • remove-firefox asks to close Firefox if it is running.

6. Exit codes​

CodeNameMeaning
0SuccessThe command succeeded. For status-…: the extension is installed.
1CancelledByUserYou clicked No or Cancel in a confirmation dialog. Nothing was changed.
2UnexpectedErrorThe command failed; the reason is printed. Common causes: a policy scope run without administrator rights, a missing option, or a package file that does not exist.
6ExtensionNotInstalledstatus-…: the extension is not installed, or its policy setup is incomplete.
10OperationNotSupportedUnknown command.
14MachineNotManaged--scope:policyoffline on a machine that is not joined to a domain or enrolled in MDM. Nothing was changed. Use --scope:policy.
15StagingFailed--scope:policyoffline: the package could not be copied to C:\ProgramData\akaBot\Extensions, or the package is not the akaBot extension for this --id, or --version is missing.

child-session commands use their own codes (section 7.2).

7. Other commands​

7.1 Java Access Bridge​

Turns the Java Access Bridge on or off for every Java installation found (JAVA_HOME and the folders under C:\Program Files\Java and C:\Program Files (x86)\Java). akaBot needs it to automate Java applications.

Commander.exe install-java
Commander.exe remove-java

Restart the Java application after running the command.

7.2 Child sessions​

Manages Windows child sessions, used to run automations in a separate session on the same machine.

CommandDescriptionExit code on failure
Commander.exe child-session --is-enablePrints True or False.10
Commander.exe child-session --get-idPrints the child session ID of the current user.11
Commander.exe child-session --enableTurns child sessions on (administrator).12
Commander.exe child-session --disableTurns child sessions off (administrator).13
Commander.exe child-session --logoff:<id>Signs out the given child session of the current user.14

7.3 Start a program​

Commander.exe run-program --path:<path\to\app.exe> [--arguments:<Base64>] [--working-dir:<folder>]

Starts a program without waiting for it. --arguments is the command line of the program, encoded in Base64 (UTF-8). The working folder defaults to the folder of the program.

Example — open C:\Temp\report.txt in Notepad. First encode the arguments in PowerShell:

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('"C:\Temp\report.txt"'))
# IkM6XFRlbXBccmVwb3J0LnR4dCI=

Then run:

Commander.exe run-program --path:"C:\Windows\System32\notepad.exe" --arguments:IkM6XFRlbXBccmVwb3J0LnR4dCI=