Skip to content

Installer: Add support for ARM architecture on Windows OS #541

@ppawlowski

Description

@ppawlowski

Description

As a integrator I would like to have a possibility to run the Device Agent Installer on Windows OS running on a ARM architecture.
When build proper binary manually, following error appears during installation:

C:\Windows\System32>powershell c:\flowfuse-device-installer-windows-arm64.exe -o fuel-single-definition -u https://app.flowfuse.com/ -d c:\opt\flowfuse-device-1 -p 1881 --debug
[DEBUG] Debug logging enabled - detailed logs will be written to C:\Users\ROBMAR~1\AppData\Local\Temp\flowfuse-device-installer-20251204-204527.log
[DEBUG] Command line arguments: node=20.19.1, agent=latest, user=flowfuse, url=https://app.flowfuse.com/, debug=true, customInstallDir=c:\opt\flowfuse-device-1, port=1881
[DEBUG] Detected system: windows, detected architecture: arm64
****************************************************************
*            FlowFuse Device Agent Installer                   *
*                                                              *
* This installer will set up the FlowFuse Device Agent on your *
* system and configure it to run as a system service.          *
*                                                              *
****************************************************************
Debug mode enabled. Logs will be written to: C:\Users\ROBMAR~1\AppData\Local\Temp\flowfuse-device-installer-20251204-204527.log
[DEBUG] FlowFuse Device Agent Installer version: development
Installing FlowFuse Device Agent...
[DEBUG] ENTER: Install map[agentVersion:latest customWorkDir:c:\opt\flowfuse-device-1 nodeVersion:20.19.1 otc:fuel-single-definition port:1881 url:https://app.flowfuse.com/]
[DEBUG] Running pre-check...
[DEBUG] ENTER: checkFreeDiskSpace map[customWorkDir:c:\opt\flowfuse-device-1 requiredBytes:524288000]
[DEBUG] EXIT: checkFreeDiskSpace completed with result: success
[DEBUG] ENTER: checkUnusedPort map[port:1881]
[DEBUG] EXIT: checkUnusedPort completed with result: success
[DEBUG] ENTER: checkConfigFileExists map[customWorkDir:c:\opt\flowfuse-device-1]
[DEBUG] DeviceAgentConfigErr: CreateFile c:\opt\flowfuse-device-1\device.yml: The system cannot find the path specified.
[DEBUG] installerConfErr: CreateFile c:\opt\flowfuse-device-1\installer.conf: The system cannot find the path specified.
[DEBUG] devAgentExists: true
[DEBUG] installerConfExists: true
[DEBUG] EXIT: checkConfigFileExists completed with result: <nil>
[DEBUG] Creating working directory...
[DEBUG] On Windows, we do not create a service user.
[DEBUG] Granting Modify permission to LocalService on c:\opt\flowfuse-device-1...
[DEBUG] Working directory created at: c:\opt\flowfuse-device-1
Checking/Installing bundled Node.js runtime...
[DEBUG] ENTER: setNodeDirectories map[basedir:c:\opt\flowfuse-device-1]
[DEBUG] EXIT: setNodeDirectories completed with result: map[NPM path:c:\opt\flowfuse-device-1\node\npm.cmd Node.js path:c:\opt\flowfuse-device-1\node\node.exe node.js base dir:c:\opt\flowfuse-device-1\node]
[DEBUG] ENTER: isNodeInstalled map[versionStr:20.19.1]
[DEBUG] Loading configuration...
[DEBUG] Node.js version retrieved from config:
[DEBUG] EXIT: isNodeInstalled completed with result: not_installed
Installing Node.js 20.19.1...
[DEBUG] Using official Node.js builds
[DEBUG] Downloading Node.js from https://nodejs.org/dist/v20.19.1/node-v20.19.1-win-arm64.zip
[DEBUG] Extracting Node.js...
[DEBUG] Bundled Node.js check/installation successful
[DEBUG] ENTER: setNodeDirectories map[basedir:c:\opt\flowfuse-device-1]
[DEBUG] EXIT: setNodeDirectories completed with result: map[NPM path:c:\opt\flowfuse-device-1\node\npm.cmd Node.js path:c:\opt\flowfuse-device-1\node\node.exe node.js base dir:c:\opt\flowfuse-device-1\node]
[DEBUG] Checking if c:\opt\flowfuse-device-1\node is in C:\Program Files\Parallels\Parallels Tools\Applications;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\robmarcer\AppData\Local\Microsoft\WindowsApps
[DEBUG] c:\opt\flowfuse-device-1\node is not in PATH, adding...
[DEBUG] Checking if c:\opt\flowfuse-device-1\.node is in PATH=c:\opt\flowfuse-device-1\node;C:\Program Files\Parallels\Parallels Tools\Applications;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\robmarcer\AppData\Local\Microsoft\WindowsApps
[DEBUG] c:\opt\flowfuse-device-1\.node is not in PATH, adding...
Installing FlowFuse Device Agent latest version...
[DEBUG] Install/update
[DEBUG] Install/update command: C:\WINDOWS\system32\cmd.exe /C c:\opt\flowfuse-device-1\node\npm.cmd install -g --prefix c:\opt\flowfuse-device-1\.node --cache c:\opt\flowfuse-device-1\.npm-cache @flowfuse/device-agent
FlowFuse Device Agent installed successfully!
[DEBUG] Device Agent installation successful
Configuring FlowFuse Device Agent...
[DEBUG] ENTER: setNodeDirectories map[basedir:c:\opt\flowfuse-device-1]
[DEBUG] EXIT: setNodeDirectories completed with result: map[NPM path:c:\opt\flowfuse-device-1\node\npm.cmd Node.js path:c:\opt\flowfuse-device-1\node\node.exe node.js base dir:c:\opt\flowfuse-device-1\node]
[DEBUG] Checking if c:\opt\flowfuse-device-1\node is in PATH=c:\opt\flowfuse-device-1\.node;PATH=c:\opt\flowfuse-device-1\node;C:\Program Files\Parallels\Parallels Tools\Applications;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\robmarcer\AppData\Local\Microsoft\WindowsApps
[DEBUG] c:\opt\flowfuse-device-1\node is already in PATH
[DEBUG] Configure command: C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command & 'c:\opt\flowfuse-device-1\.node\flowfuse-device-agent.cmd' -o fuel-single-definition -u https://app.flowfuse.com/ --dir 'c:\opt\flowfuse-device-1' --port '1881' --otc-no-start --installer-mode -v
[DEBUG] Starting device agent configuration
'"node"' is not recognized as an internal or external command,
operable program or batch file.
[ERROR] Device agent configuration failed: failed to configure the device agent: exit status 1
[DEBUG] EXIT: Install returned error: failed to configure the device agent: exit status 1

Requested By

  • Customer name and/or link to HubSpot contact

Metadata

Metadata

Assignees

Labels

feature-requestNew feature or request that needs to be turned into Epic/Story detailsneeds-triageNeeds looking at to decide what to do

Type

No type

Projects

Status

Todo

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions