Skip to main content

Hi everyone,

Has anyone successfully installed OpenEdge using Automox?

Given the payload limitations in Automox, it seems like this might be challenging—or possibly not feasible at all. However, I wanted to check if anyone has attempted this in their environment and managed to get it working.

More details about the silent installation process for Progress OpenEdge can be found here:
Progress Documentation – Silent Installation

 

Thanks in advance!

 

 

Hi Maulik,

What is the size of the app, and is that the primary concern? The documentation looks fairly straightforward for a powershell install. Automox is planning on increasing the available payload size in the near future but in the meantime we may be able to facilitate downloading it via the company’s download portal (pending api access) or from a shared drive on the network. There are some additional options.


While I have not done OpenEdge I have done some similar deployments is a round about way. I have found that you can have it run a PS script/BAT file that will then pass the correct arguments.  You can also drop the installer where you would like as well(I just used C:\temp). 

 

It is by NO means elegant lol!!!🤣 But as I was on a time crunch it got the job done for sure! I have plans to go back and try to make it a bit cleaner, but its continues to work as is so I’ve kept it back burner.


Hi Maulik,

What is the size of OpenEdge? The install looks like it should be fairly straightforward. Automox is working towards increasing the payload size in the near future, but perhaps we can download the installer from the vendor (if possible) or from a network share in the meantime.


Hey there,

Curious how you are installing it today?

You can utilize a Required Software Policy by attaching the installer and the configuration file, for example, something like this may work per OpenEdge’s documentation pulled directly from: 

» https://docs.progress.com/bundle/openedge-install/page/Run-the-silent-installation-on-Windows-platforms.html 

$InstallerPath = "setup.exe"
$Arguments = @(
"-psc_s"
"-psc_f1=response.ini"
"-psc_f2=C:\Windows\temp\oesetup.log"
"-hide_progress"
"-hide_splash"
)

Start-Process -FilePath $InstallerPath -ArgumentList $Arguments -PassThru

Perhaps, upload the log to a static location e.g., "C:\Windows\Temp\". 

Installer does not need to be referenced if uploaded as a payload has to match "setup.exe" if you go with that naming convention.
Additionally, upload the response.ini payload, that way it can be referenced and even uploaded to a device like we did with the log file. 

Let us know where you land!


@CallmePH the problem with OpenEdge is the payload. its just large and installation will be longer as well. Progress package is between 2 to 4 GB so using network drive or blob storage will might work. i just wanted to confirm across other users if someone has already been through 🙂.

 


@MarkH-Automox  payload size for openedge will be 2 to 4 GB depending on openedge version. Although i was wondering if we can divide package into 3 to 4 zip files and then upload it as payload in just worklet. do you think that it should work cause i heard somewhere that automox has that payload limitation due to automox console session where connection will time out before 1Gb file can fully uploaded. 🤔

Thanks


@ASkrodzki-Automox  we will still need installer files to run setup.exe to complete the installation. resopnse.ini file should also be referenced in that folder. 

Also we used to have PDQ before we switched to automox where we had no payload limitation but at the moment we do manual installation which sucks to be honest also installation take around 25 to 30 minutes, even for the update as well. 😒

Thanks


We have not seen internal conversations about this software as it sits behind a paywall - we don’t have access to software behind paywalls. Are you able to compress the files into a zip file which reduces the size? It may take time for it to unpack, yet that could be still be feasible. The ini could be deployed manually as needed in my code example.

A custom worklet referencing a network share location (cloud or site local) will likely be a better path, at least for onsite devices or when using a VPN with appropriate entitlements. 


Try compressing it, let us know if you hit the file limit, or once you've attempted the network share route by updating my code ‘bite’. Waiting to hear back.


Thanks ​@ASkrodzki-Automox. ill definitely spend sometime now to pull this off. 

 


Hey Guys, so i was able to pull it off OE installation. 

 

 Future users who might come across this kind of deployment can refer to below details. 

  1. Had to split out package into 3 zip files. (since i don't wanted to use any network location or blob storage, kept split packages under 1gig so, it uploads successfully before Automox times out. ) 
  2. Uploaded payload one by one. 
    Split packages with other required files. 
  3. Since 7zip and 7z.exe requires to extract file successfully on endpoint, deployed 7zip to endpoint with separate worklet before hand. Also we using 7Zip as our baseline app so it was already fulfilled requirements. 
    7-zip
  4. Created clean respons.ini file to mimic manual installation when Automox runs batch file to trigger silent installation. (Can refer to this link for more info. https://docs.progress.com/bundle/openedge-install/page/Create-a-Silent-Installation.html)
  5. Created batch file which get triggers the installation to run.(OE installation takes 30 to 60 minutes to complete, so putting silent installation in the same worklet might not help and worklet might get timed out) Here’s the used batch file. 
    @echo off
    setlocal

    REM Set paths
    set BASE_DIR=C:\OE12.8installation\Progress 12.8.1 64bit
    set SETUP_EXE=%BASE_DIR%\Progress 12.8.1 64bit\setup.exe
    set RESPONSE_FILE=%BASE_DIR%\response.ini

    REM Set final log location
    set LOG_DIR=C:\OEinstallationLogs
    set LOG_FILE=%LOG_DIR%\progress_install.log
    set DONE_FLAG=%LOG_DIR%\progress_done.flag

    REM Create log folder if not exists
    if not exist "%LOG_DIR%" (
    mkdir "%LOG_DIR%"
    )

    REM Start log
    echo r%DATE% %TIME%] Starting Progress 12.8 silent installation >> "%LOG_FILE%"

    REM Run the silent installer
    "%SETUP_EXE%" -psc_s -psc_f1="%RESPONSE_FILE%" -psc_f2="%LOG_FILE%" -hide_progress -hide_splash

    REM Check installation result
    if %ERRORLEVEL%==0 (
    echo %DATE% %TIME%] Installation completed successfully. >> "%LOG_FILE%"
    echo INSTALLATION_SUCCESS > "%DONE_FLAG%"

    REM Delete entire OE12.8installation folder to clean up disk space
    echo c%DATE% %TIME%] Deleting OE12.8installation folder: C:\OE12.8installation >> "%LOG_FILE%"
    rmdir /s /q "C:\OE12.8installation"
    ) else (
    echo %DATE% %TIME%] Installation failed with exit code %ERRORLEVEL%. >> "%LOG_FILE%"
    echo INSTALLATION_FAILED > "%DONE_FLAG%"
    )

    endlocal
    exit /b
  6. Now for the Automox Evaluation and remediation code.  
    ##Evaluation Code:

    Exit 1





    ##Remediation Code

    # Define paths
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    $destinationFolder = "C:\OE12.8installation"
    $extractFolder = Join-Path $destinationFolder "Progress 12.8.1 64bit"
    $logPath = "C:\ProgramData\AutomoxOEInstall.log"

    # Log function
    function Log {
    param ($message)
    $line = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $message"
    Write-Output $line
    Add-Content -Path $logPath -Value $line
    }

    Log "Starting Progress 12.8 deployment"

    # Remove old folder if it exists
    if (Test-Path $destinationFolder) {
    Log "Removing existing folder: $destinationFolder"
    Remove-Item -Path $destinationFolder -Recurse -Force
    }

    # Create temp directory
    New-Item -Path $destinationFolder -ItemType Directory -Force | Out-Null
    Log "Created folder: $destinationFolder"

    # Copy files
    $filesToCopy = @(
    "7z.exe",
    "Progress_128_64bit.7z.001",
    "Progress_128_64bit.7z.002",
    "Progress_128_64bit.7z.003",
    "response.ini",
    "OE12.8_install1.bat"
    )

    foreach ($file in $filesToCopy) {
    $source = ".\$file"
    $destination = Join-Path $destinationFolder $file
    if (Test-Path $source) {
    Copy-Item -Path $source -Destination $destination -Force
    Log "Copied $file"
    } else {
    Log "ERROR: $file not found in payload"
    }
    }

    # Extract .7z archive
    $sevenZip = Join-Path $destinationFolder "7z.exe"
    $archiveFile = Join-Path $destinationFolder "Progress_128_64bit.7z.001"
    $arguments = "x `"$archiveFile`" -o`"$extractFolder`" -y"

    Log "Starting extraction of split archive"
    Start-Process -FilePath $sevenZip -ArgumentList $arguments -Wait -NoNewWindow
    Log "Extraction complete"

    # Copy response.ini and batch file into extracted folder
    Copy-Item -Path "$destinationFolder\response.ini" -Destination "$destinationFolder\Progress 12.8.1 64bit\" -Force
    Copy-Item -Path "$destinationFolder\OE12.8_install1.bat" -Destination "$destinationFolder\Progress 12.8.1 64bit\" -Force
    Log "Copied response.ini and batch file to extracted folder"

    # Run the installer batch file
    $batchFile = Join-Path $extractFolder "OE12.8_install1.bat"
    if (Test-Path $batchFile) {
    Log "Starting silent install batch file"
    Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$batchFile`"" -WindowStyle Hidden -Wait
    Log "Batch file executed successfully"
    } else {
    Log "ERROR: Batch file not found at $batchFile"
    }

    Log "All setup steps completed. Installation may take 30–60 minutes. Check C:\OEinstallationLogs for progress."
  7. Haven't spend so much time to clean the script as it was working and giving me what i wanted. 
  8. Thanks

@maulik
Happy to help - additionally please review the following product updates.
 

The payload size within policies has increased to 10GBs, you do not have to split up packages anymore. You can now upload the entire file without having to break it apart. 

<<https://technicalreleasefeed.automox.com/release/RoWV2-increased-attachment-size-limit-for-policies>>

I’ve linked an update to our technical release feed describing this change!

Best ~ Angelo


@ASkrodzki-Automox  that's awesome news. Thanks for the update. 🫡