Passwork update
Manual updates

Windows Server

12min
please note this instruction assumes the following the physical location of passwork is — c \inetpub\wwwroot\passwork the name of the passwork website is — passwork web site before updating, if passwork is installed in a cloud/virtual environment, create a snapshot of the virtual os state to restore functionality in case of an incorrect update obtaining the latest version of the passwork create a temporary directory to receive the passwork powershell mkdir "$env\ systemdrive\inetpub\new version" if the passwork server is located in a closed loop you need to go to the passwork customer portal , copy the certificate number and get passwork version 7 through the address bar of your browser — https //portal passwork pro/api/download?apikey=api key go to the passwork customer portal and copy the api key to get the current version create an api key variable powershell $api key = "your api key" get version 7 of passwork using the prompt powershell try { (new object system net webclient) downloadfile( "https //portal passwork pro/api/download?apikey=$api key", "$env\ systemdrive\inetpub\new version\passwork zip" ) write output "the passwork archive was successfully retrieved" } catch { write output "error receiving passwork $ " } clear the api key variable powershell remove variable api key update to the latest version get the current version of passwork into a variable powershell $version = get content "$env\ systemdrive\inetpub\wwwroot\passwork\version" copy the passwork configuration files to a temporary directory powershell copy item path "$env\ systemdrive\inetpub\wwwroot\passwork\init\config env" destination "$env\ systemdrive\inetpub\new version\\" recurse force copy item path "$env\ systemdrive\inetpub\wwwroot\passwork\init\encryption key" destination "$env\ systemdrive\inetpub\new version\\" recurse force create an archive of the current version of passwork to be able to roll back to a previous version powershell compress archive path "$env\ systemdrive\inetpub\wwwroot\passwork\\ " destinationpath "$env\ systemdrive\inetpub\wwwroot\passwork $version zip" force delete all contents from the passwork directory powershell remove item path "$env\ systemdrive\inetpub\wwwroot\passwork\\ " recurse force unzip passwork version 7 to a physical location powershell expand archive path "$env\ systemdrive\inetpub\new version\passwork zip" destinationpath "$env\ systemdrive\inetpub\wwwroot\passwork\\" move the copied passwork configuration files to the new version powershell copy item path "$env\ systemdrive\inetpub\new version\config env" destination "$env\ systemdrive\inetpub\wwwroot\passwork\init\\" recurse force copy item path "$env\ systemdrive\inetpub\new version\encryption key" destination "$env\ systemdrive\inetpub\wwwroot\passwork\init\\" recurse force delete the new version temporary directory powershell remove item path "$env\ systemdrive\inetpub\new version" recurse force set permissions for the physical location of the passwork powershell invoke expression "icacls '$env\ systemdrive\inetpub\wwwroot' /grant 'iis iusrs (oi)(ci)`m'" invoke expression "icacls '$env\ systemdrive\inetpub\wwwroot' /grant 'users (oi)(ci)`m'" invoke expression "icacls '$env\ systemdrive\inetpub\wwwroot' /grant 'iusr (oi)(ci)`m'" download the web config rewrite rules and place them in the new passwork version — c \inetpub\wwwroot\passwork\public\web config https //archbee doc uploads s3 amazonaws com/w jxazppyuprqlll6w3gi xdhtwilsezqh1ikx9glpz 20250309 203623 config php registration and extension activation import iis modules and register the php version powershell import module iisadministration add pssnapin phpmanagersnapin new phpversion scriptprocessor "$env\ programfiles\php8 3\php cgi exe" sitename "passwork web site" virtualpath "/" activate php extensions for the passwork website powershell $extensions = @( "php curl dll", "php gd dll", "php gettext dll", "php intl dll", "php ldap dll", "php mbstring dll", "php mongodb dll", "php mysqli dll", "php opcache dll", "php openssl dll", "php pdo pgsql dll", "php pdo sqlite dll", "php pgsql dll", "php soap dll", "php zip dll", "php fileinfo dll" ) foreach ($extension in $extensions) { write host "php extension activated $extension" set phpextension name $extension status enabled sitename "passwork web site" virtualpath "/" } activate additional php methods for the passwork website powershell $phpversion=(get phpconfiguration sitename "passwork web site" virtualpath "/") version set webconfigurationproperty pspath "iis \sites\passwork web site" filter "system webserver/handlers/add\[@name='php $phpversion']" name "verb" value "get,head,post,put,delete,patch" go to the passwork root location and update the passwork version in the database powershell cd "$env\ systemdrive\inetpub\wwwroot\passwork" php d "memory limit= 1" \bin\console cache\ warmup php d "memory limit= 1" \bin\console app\ update