CostOS Application Server Unattended Installation
Overview
This guide describes how to install, configure, and update CostOS Enterprise Server in unattended (silent) mode using command-line operations.
The unattended installation is a three-step process:
Extract - Run the installer to extract application files
Configure - Edit the configuration.properties file with your settings
Apply - Run the configure command to apply the settings
Prerequisites
CostOS Enterprise Server installer executable (e.g., CostOS_Server_x64_8.5.200.exe)
Administrator privileges on the target machine
Target installation directory must be accessible
Step 1: Extract the Installation
Run the installer in unattended mode to extract all application files:
If a configuration.properties file is already present in the target installation directory before extraction, it will be used. If it is not present, an empty configuration.properties will be generated during extraction.
CostOS_Server_x64_8.5.200.exe -q -Vsys.installationDir="C:\apps\CostOS_Server" -Dinstall4j.alternativeLogfile="C:\apps\CostOS_Server\installation.log" -Dinstall4j.noPermanentLogFile=trueCommand Parameters:
Parameter | Description |
|---|---|
-q | Unattended (silent) mode |
-console | Enables console output for progress |
-Vsys.installationDir="..." | Target installation directory |
-Dinstall4j.alternativeLogfile | Redirects log to a custom file |
-Dinstall4j.noPermanentLogFile | Prevents writing to default log location |
After extraction, the installation directory will contain all application files including an empty configuration.properties file.
Step 2: Edit configuration.properties
The configuration.properties file is located in the installation directory (e.g., C:\apps\CostOS_Server\configuration.properties).
Edit it with your environment-specific settings before running the configure step.
Database Settings
Property | Required | Description |
|---|---|---|
| Yes | Database server type (MSSQLSERVER) |
| Yes | Database server hostname or IP |
| (1) | Database server port (default: 1433) |
| (1) | Database instance name |
| Yes | Master database name |
| Yes | Project database name |
| Yes | Database username |
| Yes | Database password |
| No | Create database if not exists (true/false) |
| Yes | Trust DB server certificate (true/false) |
| Yes | Force TLS 1.2 for DB connections (true/false) |
(1) Either database.port or database.instance is required.
Server Settings
Property | Required | Description |
|---|---|---|
| (2) | HTTP port (default: 8080) |
| (2) | JMS messaging port (default: 61616) |
| Yes | JMS bind address (default: 0.0.0.0) |
| No | Enable full server UI (true/false) |
| No | Enable concurrent licensing (true/false) |
| No | Path to concurrent license file |
| No | Encrypt DB password (true/false) |
| No | Session IP validation policy (DISABLED, NO_X_FORWARD, X_FORWARD, X_FORWARD_CHAIN) |
(2) Required unless SSL ports are configured. If either is set, both are required.
SSL/TLS Settings
Property | Required | Description |
|---|---|---|
| No | Enable SSL/TLS (true/false) |
| (3) | HTTPS port (default: 443) |
| (3) | JMS SSL port (default: 61613) |
| (3) | Path to the Java keystore file |
| No | Keystore password |
| No | Private key password |
| No | Certificate alias in the keystore |
| No | Disable non-SSL connections (true/false) |
(3) Required if any SSL port is configured.
SSO / LDAP Settings
Property | Required | Description |
|---|---|---|
| No | LDAP base DN |
| No | LDAP search filter |
| No | LDAP bind username |
| No | LDAP bind password |
Windows Service Settings
Property | Required | Description |
|---|---|---|
| (4) | Windows service name |
| (4) | Windows service display name |
| No | Create Windows service (true/false) |
| No | Service start type (auto/manual/disabled) |
| (4) | JVM minimum heap size (e.g., 512) |
| (4) | JVM maximum heap size (e.g., 2048) |
| (4) | JVM stack size (e.g., 512) |
| No | Create service dependency (true/false) |
| No | Name of the dependent service |
(4) Required if any service property is set.
Installation Paths
Property | Required | Description |
|---|---|---|
| No | Application display name |
| Yes | CES application path |
| No | Bundled JRE path |
| No | Temporary files path |
| No | Default currency (EMPTY, USD, EUR, etc.) |
Encryption Settings
Property | Required | Description |
|---|---|---|
| No | Use custom encryption (true/false) |
| (5) | Encryption algorithm (STATIC_3DES) |
| (5) | Custom encryption key |
(5) Required if installation.use.custom.encryption.algorithm is true.
Example configuration.properties
database.createifnotexist=true
database.host=127.0.0.1
database.instance=
database.master.name=unatended
database.password=encV2\:14-1D0366-5E61-244B
database.port=1433
database.project.name=unatendedProjectDatabase
database.trust.server.certificate=true
database.type=MSSQLSERVER
database.use.tls.1.2=false
database.username=admin
compiler.applicationFullName=CostOS Enterprise Server
installation.ces.path=C\:\\costos_servers\\Unatended\\ces
installation.defaultCurrency=EMPTY
installation.encryption.algorithm=STATIC_3DES
installation.encryption.key=
installation.jre.path=C\:\\costos_servers\\Unatended\\Rjre
installation.tmpfolder.path=C\:\\costos_servers\\Unatended\\temp files
installation.use.custom.encryption.algorithm=false
server.EncryptDatabasepassword=true
server.concurrentLicenseFile=
server.isConcurrent=false
server.jmsip=0.0.0.0
server.jmsport=61616
server.port=8080
server.security.invalidate-on-ip-change.value=DISABLED
server.ssl.enable=false
server.ssl.port=443
server.jms.ssl.port=61613
server.ssl.keystore.file=
server.ssl.keystore.password=
server.ssl.key.password=
server.ssl.key.alias=
server.ssl.disablenonssl=false
service.name=
service.displayName=
service.create=true
service.startType=auto
service.jvmMs=512
service.jvmMx=2048
service.jvmSs=512
service.createDependency=false
service.dependencyName=
server.sso.basedn=
server.sso.bind.password=
server.sso.bind.username=
server.sso.filter=
server.ui.full=truePaths in .properties files require escaped backslashes (\\), and colons must be escaped with a backslash (\:).
Step 3: Run the Configure Command
After editing configuration.properties, run the configure command from the installation directory to apply the settings:
configure.exe -q -Dinstall4j.alternativeLogfile="C:\apps\CostOS_Server\configure.log" -Dinstall4j.noPermanentLogFile=trueThis will:
Create and configure the database(s)
Apply server settings
Set up the Windows service (if applicable)
Apply SSL/TLS configuration
Reconfiguration
To change any settings after the initial installation:
Edit configuration.properties in the installation directory
Run the configure command again:
configure.exe -q -Dinstall4j.alternativeLogfile="C:\apps\CostOS_Server\configure.log" -Dinstall4j.noPermanentLogFile=trueUpdating an Existing Installation
To update an existing installation to a new version:
CostOS_Server_x64_8.5.200.exe -q -Vsys.installationDir="C:\apps\CostOS_Server" -VinstallerState=update -Dinstall4j.alternativeLogfile="C:\apps\CostOS_Server\update.log" -Dinstall4j.noPermanentLogFile=trueAdditional Update Parameters:
Parameter | Description |
|---|---|
-VinstallerState=update | Sets installer to update mode |
After the update, you may want to run the configure command again to apply any new configuration options introduced in the new version.
Troubleshooting
Log Files
Step | Log File |
|---|---|
Extract | C:\apps\CostOS_Server\installation.log |
Configure | C:\apps\CostOS_Server\configure.log |
Update | C:\apps\CostOS_Server\update.log |
Common Issues
Issue | Solution |
|---|---|
Installer hangs at "Finishing installation..." | Ensure you are using -q flag. Do not use -console without -q. |
Database connection fails during configure | Verify database.host, database.port, and credentials in configuration.properties. |
Permission denied errors | Run commands with Administrator privileges. |
Configuration changes not applied | After editing configuration.properties, re-run the configure command. |
Quick Reference
Fresh installation - Extract files
CostOS_Server_x64_8.5.200.exe -q -Vsys.installationDir="C:\apps\CostOS_Server" -Dinstall4j.alternativeLogfile="C:\apps\CostOS_Server\installation.log" -Dinstall4j.noPermanentLogFile=trueEdit configuration.properties with your settings (located in the installation directory)
Apply configuration
configure.exe -q -Dinstall4j.alternativeLogfile="C:\apps\CostOS_Server\configure.log" -Dinstall4j.noPermanentLogFile=trueUpdate existing installation (when new version is available)
CostOS_Server_x64_8.5.200.exe -q -Vsys.installationDir="C:\apps\CostOS_Server" -VinstallerState=update -Dinstall4j.alternativeLogfile="C:\apps\CostOS_Server\update.log" -Dinstall4j.noPermanentLogFile=true