Hi, we are trying to perform a silent install for fme flow 2024.2.3. Because the installer installs on-the-fly some additional software like CLR Types for SQL Server and the Visual Studio Redistibutables, we cannot use our old method of copying a pre-extracted set of cabinet files, as suggested in the installation manual. We have to execute the self-extracting archive and supply the installation properties as a quoted string. We tried a couple ways of coding the properties (single quotes, double quotes, 8-fold quotes) however the script simply seems to install the additional software and then presents in a non-silent mode the fme-flow installer dialog box (see attachment). Anyone have any ideas? Our simple install script is attached to this question too.
I’ve never had to do this myself, but this whole thing with 8 or 16 quotes isn’t very reassuring… Could you perhaps to try installing Flow and all the compontents into folders without spaces in the names, so that you can remove all the quotes?
Interestingly, the example givben at the bottom of the page looks much simpler since they’re not using this weird quoting technique:
msiexec /i fme-flow.msi /l*v "install.log" /qb /norestart INSTALLDIR="C:\Program Files\FMEFlow\" FMEFLOWUSER=MYCOMPANY\user1 FMEFLOWUSERPASSWORD=password COREHOSTNAME="machine1" ADDLOCAL=FMEEngine FMEFLOWSHAREDDATA="\\machine1\FMEFlowSystemShare\" DATABASETYPE="PostGreSQL" DATABASEHOST="FMEFlowCore" DATABASEPORT="7082" SERVLETPORT="80"
Actually, that was the way we did it before . Thanks for your heads up on the folder name without spaces. However, that would be the second 'rebranding' of our package, we try to avoid it. But we could try for the time being.
I did a presentation on scripted installs for FME a few years ago in Bonn. A simplified version of that installation script can be found here: https://github.com/thewabbit/fmeserverinstall/blob/main/FME%20Server%20Install.ps1
One of the uses for this was IaaS with Azure, so installing silently/automatically on a fresh version of Windows on a new VM.
Granted it was written for 2022, so some of the flags may have changed since then.
function install
{
# Create application folder
Log "Creating path: $installLocation"
New-Item -ItemType Directory -Force -Path $installLocation
# Create shared resource dir
Log "Creating path: $sharedResources"
New-Item -ItemType Directory -Force -Path $sharedResources
$setup = Join-Path $extractedFolder "fme-server.msi"
$installArgs = @(
# "FIRSTLOGINCHANGEPASSWORD=$firstLoginChange"
"ADDLOCAL=FMEServerCore,FMEEngine,Services"
"/norestart"
"/l*v installFMEServerLog.txt"
"/qb"
"INSTALLDIR=$installLocation"
"FMESERVERUSER=$SVCUsername"
"FMESERVERUSERPASSWORD=$SVCPassword"
"FMESERVERSHAREDDATA=$sharedResources"
"SERVLETPORT=$servletPort"
"DATABASETYPE=MSSQL"
"DATABASECONNECTIONSTRING=$jdbcString"
"DATABASEUSER=$dbUser"
"DATABASEPASSWORD=$dbPassword"
)
Log "Installing FME Server to $installLocation"
Log "$installArgs"
Start-Process -FilePath $setup -ArgumentList $installArgs -wait
Start-Sleep -Seconds 30
Stop-Service -Name FME*
Log "FME Server Install completed."
}
Hi
Hi
In the post install part of the script I deal with msoledbsql.msi and SQLSysClrTypes.msi.
Looking at the script a few years later I actually seem to install them twice!
##########Install SQL components##########
$sqlInstalls = "msoledbsql.msi", "SQLSysClrTypes.msi"
foreach ($s in $sqlInstalls)
{
$setup = Join-Path $extractedFolder $s
Log "Installing $s"
Start-Process -FilePath $setup -ArgumentList "/qb" -wait
Start-Sleep -Seconds 5
Log "Installed $s"
}
Start-Process -FilePath $sqlODBC -ArgumentList "/qb" -wait
Start-Process -FilePath $sqlCMD -ArgumentList "/qb" -wait