PowerShell 7.5 still doesn't ship with the execute flag set

PowerShell 7.5 still doesn't ship with the execute flag set

avatar

I can confirm that I do not get the multi-pwsh error on the environments page anymore. I'm not sure if I mentioned it in this post or another, but PowerShell 7.5 still doesn't ship with the execute flag set. I can create a separate thread for that.

All Comments (3)

avatar

Hello,

I have moved it to a new thread.
Could you send us some logs or a way to reproduce this issue?

Best regards,

Patrick Ouimet

avatar

We run the Linux ZIP method on Rocky 9.8. Each time we upgrade, we have to run sudo chmod +x /opt/psuniversal/Hosts/7.5/PowershellUniversal.Host. Here is our upgrade script if you would like to take a look at it:

# These are used to derive the download URL
PSU_VERSION="2026.3.3.0" # Change this to the current version
PSU_ARCH="x64" # Change this to your desired architecture
PSU_FILE="Devolutions.PowerShellUniversal.linux-${PSU_ARCH}.${PSU_VERSION}.zip"
#PSU_URL="https://powershelluniversal.devolutions.net/download/psu/previous/${PSU_VERSION}/${PSU_FILE}"
PSU_URL="https://cdn.devolutions.net/download/${PSU_FILE}"

# These are used for installing PowerShell Universal
# If you'd like to use a different path, change this
PSU_PATH="/opt/psuniversal"
PSU_EXEC="${PSU_PATH}/Universal.Server"

# These are for installing it as a service
PSU_SERVICE="psuniversal"
PSU_USER="psuniversal"

BACKUP_DATE=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="backup-${BACKUP_DATE}.tar.gz"
BACKUP_FILE_PATH="/home/psuniversal/${BACKUP_FILE}"
BACKUP_SOURCE="/home/psuniversal/.PowerShellUniversal"

echo "Stopping PSU"
sudo systemctl stop $PSU_SERVICE

echo "Making backup"
sudo tar -czf $BACKUP_FILE_PATH -C $BACKUP_SOURCE .

echo "Deleting existing installation folder"
sudo rm -rf $PSU_PATH

echo "Creating $PSU_PATH and granting access to $USER"
sudo mkdir $PSU_PATH
sudo setfacl -m "u:${USER}:rwx" $PSU_PATH

echo "Creating user $PSU_USER and making it the owner of $PSU_PATH"
sudo chown $PSU_USER -R $PSU_PATH

echo "Downloading PowerShell Universal $PSU_VERSION ($PSU_ARCH)"
wget -q $PSU_URL -O $PSU_FILE

echo "Extracting $PSU_FILE to $PSU_PATH"
unzip -o -qq $PSU_FILE -d $PSU_PATH

echo "Make $PSU_EXEC executable"
sudo chmod +x $PSU_EXEC

echo "Changing port to 50000"
sudo sed -i 's/*:5000"/*:50000"/' /opt/psuniversal/appsettings.json
sudo sed -i 's/*:5000"/*:50000"/' /opt/psuniversal/appsettings.linux.json

echo "Starting PSU"
sudo systemctl start $PSU_SERVICE
sudo systemctl status $PSU_SERVICE --no-pager


If you need our service file (/etc/systemd/system/psuniversal.service), here it is:

[Unit]
Description=PowerShell Universal
[Service]
ExecStart=/opt/psuniversal/Universal.Server
SyslogIdentifier=psuniversal
User=psuniversal
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
avatar

I should also add that we have apps that utilize environments that utilize that instance of PowerShell, and they will fail to start unless we set the execution flag.