1. Backup directory
A detailed information about the applications listed below is provided in the separate guide Backup.
1.1. BackupServerService.exe
Service installed on the client station, intended for regular download of backups performed on the server by the “BackupServer.exe” program.
1.2. BackupServer.exe
Program run on the server manually or by a scheduled task, intended for backup:
- IIS server settings,
- setting up scheduled tasks,
- Firebird and MSSQL databases and
- directories.
A full backup (a file with the “-x.zip” suffix) is always created after the set interval in days has elapsed, or once a month if the interval is not filled in; if the last full backup is larger than 10 GB, it is created only at the weekend. Differential backups are created between full backups. Backups older than 8 days are deleted when a full backup is created; differential backups older than the last full backup are deleted also between full backups. Before backing up each database, the program deletes usage statistics records older than one month.
1.3. FileBackup.exe
Program run on the server manually or by a scheduled task, intended for backup:
- IIS server settings,
- NET Genium and
- file attachments.
With the “/restore” switch, it also restores the backed up files and creates a “log” file in the current working directory with a list of files that have been restored and those that have not. The restore never overwrites a file that already exists on the disk.
- Use: “FileBackup.exe backupdir [/noiis] [/no0zip]”, “FileBackup.exe backupdir /restore”, “FileBackup.exe /iisonly”
- The “backupdir” backup directory is mandatory; without it, the program displays help and exits with return code 1.
1.4. SqlBackup.exe
Program for backing up and restoring Firebird and MSSQL databases and for performing a number of service operations using switches.
- Service operations are always performed in the current database defined in the “ConnectionString.txt” file.
- Database backup and restore is described in the separate guide Database backup and restore.
- Most service operations write their progress into a text file with the “.log” extension; the location of the file is given for the individual switches. Some files are extended with each run, others (for example “Run.log”, “UnusedFiles.log” and “UnusedQueries.log”) are overwritten.
- If the program is running and the required parameters are not specified for the relevant switch, the user will be asked for these parameters.
- The case of letters in switch names does not matter. Parameter values (for example the searched string of the “/find” switch) are compared case-sensitively.
- Any answer to a program question ending with “(Y/N)” is considered consent, except for an answer starting with the letter “N” – including just pressing the “enter” key.
- Switches can also be specified when running the “SqlBackup.exe” program without a parameter. When the following screen appears, it is necessary to enter the text of the switch, and confirm by pressing the “enter” key.

- Information about processed logs is stored in “log” files.
- Example of information in the “log” file:
TABLE susers RECORD ID 1
* loginname: Administrator
Indicates that a record has been processed in the “susers” table that has ID 1 in this table. The processed value is “Administrator” in the “loginname” column.
1.4.1. /bandwidth
The “SqlBackup.exe” program, run with the “/bandwidth” parameter, reads all “log” files created by IIS logging and measures how NET Genium loads the internal computer network in which the NET Genium server is located.
- The result of the command is a calculation of the amount of data that flows through the given NET Genium instance over a certain period of time.
- To run the “SqlBackup.exe /bandwidth” command, the “SqlBackup.exe” file must be copied to the directory containing the log files created by IIS.
- In addition to the “Bandwidth.txt” file created when the command is run, a summary of the results is displayed on the command line.
- The summary can be used to find out, for example, the total number of bytes, the number of days and hours, or the number of bytes per 24 hours.
- For each date, the output also shows the time when the most bytes were transferred, how many bytes were transferred during the peak time, and what the bandwidth was during that peak time.
- Use: “SqlBackup.exe /bandwidth”
Creates a “Bandwidth.txt” file located in the current working directory

To create “log” files in IIS, it is necessary to enable and set “Logging”.
To turn on logging in IIS
- Open the “Logging” function
- “Logging” can be set for both IIS and individual applications running in IIS. In both cases, the “Logging” function opens in the middle part of the “Internet Information Services Manager” window in the “IIS” section under the “Logging” button.

- Click the “Allow” button
- Pressing the “Enable” button ensures that the log file is written according to the settings.

Logging settings

- 1 – set the logging validity for “Web” as for the selected application from IIS
- 2 – set the log file format. It is necessary to select “W3C” for the “SqlBackup.exe /bandwidth” command. Other options:
- “IIS”
- “NCSA”
- “Own”
- 3 – press the “Select field” button. Only selecting the “W3C” option makes it possible to select a field in the log file. For the functionality of the command “SqlBackup.exe /bandwidth” it is necessary to select the fields “Date”, “Time”, “Sent bytes (sc-bytes)”, “Received bytes (cs-bytes)”.

- 4 – set the log file storage path. The default path is “% SystemDrive%\inetpub\logs\LogFiles”
- 5 – set the log file encoding. Options:
- UTF – 8
- ANSI
- 6 – set the destination for logging events
- In addition to the defined log file, it is also possible to write “Logging” to the “Event tracing for Windows” event. However, for the analysis run by the “SqlBackup.exe /bandwidth” command, it is necessary to select the “Log file only” option.
- 7 – set the method of IIS writing to the log file. Select the “Schedule” option, which can be selected from the following options:
- “Hourly”
- “Daily”
- “Weekly”
- “Monthly”
1.4.2. /br
The “SqlBackup.exe” program run with the “/br” parameter backs up and restores the database defined in the “ConnectionString.txt” file. The reason for this operation is to reorganize the database file, free up unused space (shrink) and recreate all indexes. The operation is intended for Firebird databases only; for MSSQL databases, the program ends with a message.
- For the duration of the operation, NET Genium is deactivated by the “UnderConstruction.txt” file in the “Config” directory, and all connected clients are disconnected from the database before the restore.
- If the operation ends with an error, the “UnderConstruction.txt” file remains in the “Config” directory and NET Genium remains deactivated until the administrator deletes the file (for example with the “Activate.exe” program).
- The backup file (“.fbk”) remains in the current working directory.
1.4.3. /datagridsettings
The “SqlBackup.exe” program run with the “/datagridsettings” parameter overrides the datagrid settings of all portal users according to the datagrid settings of the selected user. After starting the application with the command “/datagridsettings”, the user must fill in the login name of the user, according to whose datagrid settings the datagrid settings will be overwritten by other users.

In addition, the user can choose from two types of profiles that specify the datagrids for which the settings will be overwritten:
- “All datagrids” – the settings of all datagrids in the portal will be overwritten
- “Type datagrid ID” – the settings of only the selected datagrid will be overwritten

After that, the user is already shown a message whether the datagrid settings were overwritten. When overwriting the settings of individual datagrids for individual users, the default settings of the given datagrid are always overwritten. The individual settings of the affected datagrids of all users, including filters and sorting, are deleted. After completion, the program restarts the NET Genium web application.

- Use: “SqlBackup.exe /datagridsettings [loginname] [dgid]”
1.4.4. /deletedata
The “SqlBackup.exe” program run with the “/deletedata” parameter deletes the contents of all edit form tables in the database, including the change history tables, except the contents of the “susers”, “susergroups”, “srightsgroups”, “slayout” and “sholiday” tables. Attachment files on the disk remain.
- Use: “SqlBackup.exe /deletedata”
1.4.5. /deletelogs
The “SqlBackup.exe” program, run with the “/deletelogs” parameter, deletes the contents of the “stables_stats”, “sviewpages_stats”, “squerybuilder_stats”, “sngef_stats” and “sngscript_stats” log tables, and deletes the log files on the disk – files in the “Logs” directory named by date (for example “2026-10-06.log”) and the contents of the date subdirectories “Logs\...\yyyy-mm-dd”.
- Without the “createdbeforeindays” parameter, the program deletes the entire contents of the log tables using the “TRUNCATE TABLE” command, and deletes the log files older than 7 days from the disk.
- With the “createdbeforeindays” parameter, the program deletes records older than the specified number of days from the log tables, and deletes the log files older than the specified number of days from the disk. The value 0 behaves the same as an omitted parameter.
- Regular log cleanup is set up as a scheduled Windows task run once a day, for example “SqlBackup.exe /deletelogs 42”. A detailed description of scheduled tasks is provided in the separate guide Scheduled tasks.
- A one-off cleanup of a database in which logs have been accumulating for many months is best performed without the parameter first – unlike deleting by days, “TRUNCATE TABLE” does not load the transaction log of the database. Only then does it make sense to set up a regular task with the parameter, which then deletes small daily increments.
- The program writes the progress of the deletion into the “Backup\DeleteLogs.log” file.
- Use: “SqlBackup.exe /deletelogs [createdbeforeindays]”
1.4.6. /dirstats
The “SqlBackup.exe” program, run with the “/dirstats” parameter, determines the total size and number of files that have been created to date in that directory. If the command is run without a parameter, the size and number of files are calculated for the current directory. If a parameter is entered (path to the required directory), the size and number of files are calculated for the specified directory. The report itself displays the calculated data first for the entire directory and then for the files created in the last month.
- Use: “SqlBackup.exe /dirstats [directory]”

1.4.7. /exportchanges
The “SqlBackup.exe” program run with the “/exportchanges” parameter exports a list of all data differences between the current database defined by the “ConnectionString.txt” file in the “Config” directory and the other database whose “connection string” is entered after starting the program “SqlBackup.exe” with the “/exportchanges” parameter.
1.4.8. /exporttable
The “SqlBackup.exe” program run with the “/exporttable” parameter exports the database structure of the selected table and all data stored in the selected table. The exported table can be defined in the following ways:
By selecting from the list of tables that the program “SqlBackup.exe” finds in the NET Genium database (the list also includes system tables)

By inserting the database identifier of the table

By inserting an SQL query

By selecting “All tables” – all tables are exported.
For the second and third options, the correct table identifiers must be specified, otherwise an error will be returned when exporting the table. For the first, second and fourth options, all columns and data are exported. In the third option, it is possible to limit the number of exported columns from the database structure of the table as well as the number of exported data (SQL query condition).
- Use: “SqlBackup.exe /exporttable [name]”
Creates an XML file in the “Backup” directory of the NET Genium installation, in the name of which the table export date and the table name are specified (eg “2016-10-31-ng_action”)
1.4.9. /find
The “SqlBackup.exe” program run with the “/find” parameter searches the string specified by the parameter in all text columns of all user tables. The exact match of the value in the given column with the specified parameter is searched for, not a substring.
- Use: “SqlBackup.exe /find value”
Creates a “Find.log” file located in the same directory as the “SqlBackup.exe” program
1.4.10. /findattachment
The “SqlBackup.exe” program run with the “/findattachment” parameter searches for the use of the file attachment specified by the parameter – its ID. The command returns all occurrences (tables) in which the searched file attachment is located. The search is performed in the following places:
- “image” column in the “sappgroups” table
- “def” column in the “sviewfields” table for “RichText” controls
- “val” column in the “scolumns” table for “RichText” controls
- “value” column in the “schat” table
- In all user tables in columns of type “File” or “Image”, or in columns of type “RichTextBox” if the user confirms that he should search in these columns
- Use: “SqlBackup.exe /findattachment value”
Creates a “FindAttachment.log” file located in the same directory as the “SqlBackup.exe” program
1.4.11. /findselects
The “SqlBackup.exe” program run with the “/findselects” parameter searches for SQL queries starting with the “SELECT” clause in “log” files (NET Genium logging to disk) and in older “csv” files in the directory specified by the “directory” parameter and in all its subdirectories. Without the parameter, it searches the log directory of the NET Genium installation, including its redirection.
- Use: “SqlBackup.exe /findselects [directory]”
Creates a “FindSelects.sql” file located in the same directory as the “SqlBackup.exe” program
1.4.12. /findunsafetags
The “SqlBackup.exe” program, run with the “/findunsafetags” parameter, searches the database for any dangerous tags that may have been created by the database, such as SQL Injection. NET Genium itself is secure against SQL Injection, but the weak point may be web applications connected to the NET Genium database.
- Use: “SqlBackup.exe /findunsafetags”
Creates the “FindUnsafeTags.log” file located in the same directory as the “SqlBackup.exe” program and the “FindUnsafeTags_Trash.txt” file in the current working directory, where all dangerous tags are listed
1.4.13. /importtable
The “SqlBackup.exe” program run with the “/importtable” parameter imports the contents of the database table into NET Genium. The imported table is selected from the list of XML files that the “SqlBackup.exe” program finds in the “Backup” directory.

The “SqlBackup.exe” application also displays a menu to the user, from which the user chooses whether to import the selected table directly or to perform an import test of the selected table first. The result of the test is a file with the extension “.sql” and with the same name as the name of the imported file, which contains a list of all SQL queries necessary for importing the contents of the database table.

After selecting the import profile, the “SqlBackup.exe” program will ask the user:
- if all records found in the database in the table corresponding to the identifier of the imported table are to be deleted first, and if not, then
- if the import will include at least 1 “INSERT” query,
- if the import will include at least 1 “UPDATE” query,
- and if the import includes at least 1 “INSERT” query, whether records with the same ID as the records contained in the import XML file (“DELETE”) should be deleted,
- and whether to disable all indexes located in the imported table before starting the import.


- Use: “SqlBackup.exe /importtable”
Creates a “ImportTable.log” file located in the same directory as the “SqlBackup.exe” program
1.4.14. /movegroups
The “SqlBackup.exe” program run with the “/movegroups” parameter renumbers all user groups except the “Administrators” (ID 1) and “Users” (ID 2) user groups. The command adds the number specified in the parameter to the user group ID. It is also possible to insert negative values into the parameter – renumbering downwards. If the user group has a newly calculated ID less than or equal to 2, the command returns an interrupt and the renumbering is not performed. The command also scans all rights tables, the list of allowed IP addresses, the list of public external functions, javascripts (“jsUserInGroup” function) and scripts (“USERSINGROUP”, “TEFUIG” and “TESUIG” functions) and sets new user group IDs in them. The whole renumbering runs in a single transaction – if it ends with an error, no change is made.
- Use: “SqlBackup.exe /movegroups number”
Creates a “MoveGroups.log” file located in the same directory as the “SqlBackup.exe” program
1.4.15. /moveyear
The “SqlBackup.exe” program run with the “/moveyear” parameter moves the year in all date columns of all user tables and in all text columns of all user tables where the date occurrence is found. The change is also made in the change history tables. The change will not be made for the “sholiday”, “sinvalidlogins”, “sstatistics” and “ssynchro” tables. The command adds the number of years specified as a parameter to each date. It is also possible to insert negative values into the parameter – renumbering downwards.
- Use: “SqlBackup.exe /moveyear numberofyears”
Creates a “MoveYear.log” file located in the same directory as the “SqlBackup.exe” program
1.4.16. /readdbffiles
The “SqlBackup.exe” program run with the “/readdbffiles” parameter analyzes all “dbf” files in the directory in which the program is run and creates a detailed report for each “dbf” file with the contents of the “dbf” file.
- Use: “SqlBackup.exe /readdbffiles [directory]”
1.4.17. /reademlfiles
The “SqlBackup.exe” program run with the “/reademlfiles” parameter analyzes all “eml” files in the directory in which the program is run and creates a detailed report for each “eml” file with the contents of the “eml” file.
- Use: “SqlBackup.exe /reademlfiles [directory]”
1.4.18. /rebuildindexes
The “SqlBackup.exe” program run with the “/rebuildindexes” parameter defragments all indexes whose percentage fragmentation is greater than or equal to the value of the “fragmentationthreshold” parameter. Index rebuilding is recommended in cases where index fragmentation is greater than 30%. For a Firebird database, the “fragmentationthreshold” parameter does not apply – the program deactivates and reactivates all indexes except foreign key indexes, and the “/rebuildindexes” and “/reorganizeindexes” switches therefore behave the same.
- Use: “SqlBackup.exe /rebuildindexes fragmentationthreshold”
Creates a “RebuildIndexes.log” file in the “Backup” directory of the NET Genium installation
1.4.19. /remove
The “SqlBackup.exe” program run with the “/remove” parameter looks for the string specified by the parameter in all text columns of all user tables, and replaces it with an empty string. To find a string, it is not necessary to exactly match the value in the given column with the specified parameter, it can also be a substring. The change is also made in the change history tables, including the column with the login name of the author of the change. The program makes the change without further confirmation.
- Use: “SqlBackup.exe /remove value”
Creates a “Remove.log” file located in the same directory as the “SqlBackup.exe” program
1.4.20. /removeunsafetags
The “SqlBackup.exe” program run with the “/removeunsafetags” parameter removes from the database all dangerous tags that could have been created by infecting the database, for example using SQL Injection. NET Genium itself is secure against SQL Injection, but the weak point may be web applications connected to the NET Genium database.
- Use: “SqlBackup.exe /removeunsafetags”
Creates a “RemoveUnsafeTags.log” file located in the same directory as the “SqlBackup.exe” program
1.4.21. /reorganizeindexes
The “SqlBackup.exe” program run with the “/reorganizeindexes” parameter defragments all indexes whose percentage fragmentation is greater than or equal to the value of the “fragmentationthreshold” parameter. Index reorganization is recommended in cases where index fragmentation is less than 30%. The behavior for a Firebird database is described for the “/rebuildindexes” switch.
- Use: “SqlBackup.exe /reorganizeindexes fragmentationthreshold”
Creates a “ReorganizeIndexes.log” file in the “Backup” directory of the NET Genium installation
1.4.22. /replace
The “SqlBackup.exe” program run with the “/replace” parameter searches for the string specified by the first parameter in all text columns of all user tables, and replaces it with the string specified by the second parameter. The exact match of the value in the given column with the specified parameter is searched for. The change is also made in the change history tables, including the column with the login name of the author of the change. The program makes the change without further confirmation.
- Use: “SqlBackup.exe /replace oldvalue newvalue”
Creates a “Replace.log” file located in the same directory as the “SqlBackup.exe” program
1.4.23. /resetdatepickers
The “SqlBackup.exe” program run with the “/resetdatepickers” parameter deletes, for all users, the remembered “From” value of the time period filter in all datagrids, charts and other controls, so the default value is used the next time they are displayed.
- Use: “SqlBackup.exe /resetdatepickers”
1.4.24. /rightsgroups
The “SqlBackup.exe” program running with the “/rightsgroups” parameter attempts to assign an existing rights group entry to each user on the system based on its defined user groups. If the application cannot find a matching rights group record, the application creates a new rights group record. This newly created rights group will have the same name and user groups as the user.
- Use: “SqlBackup.exe /rightsgroups”
1.4.25. /run
The “SqlBackup.exe” program run with the “/run” parameter executes all the commands listed in the file that is specified as the “file” parameter. It is typically used in conjunction with “/unusedfiles” and “/unusedqueries” – the file name is given as a parameter.
- Each line of the file is a separate command; the commands are executed one after another without a transaction, so commands executed before a possible error remain in effect.
- Empty lines, lines starting with “//” and the “GO” and “COMMIT;” lines are skipped.
- A line in the form “DELETE FILE path” deletes a file on the disk.
- If an SQL command ends with an error, the program asks whether to repeat the command.
- Use: “SqlBackup.exe /run file”
Creates a “Run.log” file located in the same directory as the “SqlBackup.exe” program; the file is overwritten with each run
The “file” parameter can also be a log file that contains “SELECT” statements. All these commands will be run again, and the output file “Run.log” will record both the line from the original file and the result of the local execution of the query – the time of evaluation of the SQL query and the number of records returned.
- The “file” parameter can be specified as:
- File name itself (located in the same directory as the “SqlBackup.exe” program)
- Relative path to a file on disk (relative to the directory of the “SqlBackup.exe” program, not to the current working directory)
- Absolute path to the file on disk
1.4.26. /sysfind
The “SqlBackup.exe” program run with the “/sysfind” parameter looks for the string specified by the parameter in all text columns of all system and user tables. To find a string, it is not necessary to exactly match the value in the given column with the specified parameter, it can also be a substring.
- Use: “SqlBackup.exe /sysfind value”
Creates a “SysFind.log” file located in the same directory as the “SqlBackup.exe” program
1.4.27. /sysreplace
The “SqlBackup.exe” program, run with the “/sysreplace” parameter, finds the string specified by the first parameter in all text columns of all system and user tables, and replaces it with the string specified by the second parameter. To find a string, it is not necessary to exactly match the value in the given column with the specified parameter, it can also be a substring.
- Use: “SqlBackup.exe /sysreplace oldvalue newvalue”
Creates a “SysReplace.log” file located in the same directory as the “SqlBackup.exe” program
1.4.28. /unusedfiles
The “SqlBackup.exe” program, run with the “/unusedfiles” parameter, looks for:
- Orphaned files in the “Files” folder that are not referenced in the “sfiles” database table – STANDALONE UNUSED FILES section.
- Database records in the “sfiles” table and the corresponding files in the “Files” folder, which are not referenced from any of the checked places – UNUSED FILES section. The checked places are controls of the “File”, “Image” and “RichTextBox” type, images inserted into “RichText” controls, background images of application groups, internal messages and unfinished file uploads. The program does not know references from other places (for example from external functions or from print templates).
- Invalid references in user tables that reference non-existent database records in the “sfiles” table – MISSING ENTRIES IN 'SFILES' TABLE section.
- Database records in the “sfiles” table whose files do not physically exist on the disk – section MISSING FILES IN 'NETGENIUM/FILES' DIRECTORY.
The “UnusedFiles.log” output file is a proposal for review, not a ready-made script to be run blindly. Lines starting with “//” are commented out – the “SqlBackup.exe /run UnusedFiles.log” command skips them and executes only the uncommented lines. The administrator therefore reviews the output and uncomments only what they really want to perform. There are two reasons for commenting out:
- Protection of the last approximately 1000 attachments (UNUSED FILES section) – “sfiles” database records with the highest ID (the last ~1000 according to the “MAX(ID)” value shown in the section header) are output commented out. An attachment may have just been created by a service or an external function: the file has already been uploaded and the “sfiles” record exists, but the parent record referencing the attachment has not yet been saved to the database. If the analysis were run at that very moment, it would evaluate such an attachment as unused, and deleting it would “cut off” the attachment from the unfinished process. The newest attachments are therefore never deleted automatically – they are only offered for manual review.
- Invalid references in live tables (MISSING ENTRIES IN 'SFILES' TABLE and MISSING FILES IN 'NETGENIUM/FILES' DIRECTORY sections) – the “UPDATE” command that clears an invalid reference to a non-existent attachment is commented out for ordinary (live) tables, because it modifies production data and must be reviewed manually. It is active (uncommented) only for history tables with the “_history” suffix.
In addition to the log file, the “SqlBackup.exe” program (run with the “/unusedfiles” parameter) can also create a “UnusedFiles” directory in the “Backup” directory, where copies of found files from the STANDALONE UNUSED FILES and UNUSED FILES sections will be stored. The optional “copyfiles” parameter must be specified to run this function (“SqlBackup.exe /unusedfiles /copyfiles”).
- Use: “SqlBackup.exe /unusedfiles” followed by “SqlBackup.exe /run UnusedFiles.log”
Creates a “UnusedFiles.log” file in the “Backup” directory of the NET Genium installation; the file is overwritten with each run - The protection of the newest attachments applies only to the UNUSED FILES section. The “DELETE FILE” commands in the STANDALONE UNUSED FILES section are always active.
- Example content:
// STANDALONE UNUSED FILES
DELETE FILE 0.zip
// UNUSED FILES
// mail-ico-facebook.gif
DELETE FROM sfiles WHERE id = 19596
DELETE FILE 19596.gif
// MISSING ENTRIES IN 'SFILES' TABLE
// SELECT ng_comment FROM ng_task WHERE id = 2831
// MISSING FILES IN 'NETGENIUM/FILES' DIRECTORY
// SELECT ng_attachment1 FROM ng_crmdokument_history WHERE id = 499 // 22-7 Offre
1.4.29. /unusedqueries
The “SqlBackup.exe” program run with the “/unusedqueries” parameter searches for all unused SQL queries stored in the “squerybuilder” table and for each of them generates commands that delete the query together with its conditions, joins, columns, headers and colors. To delete unused SQL queries, it is necessary to call the command “SqlBackup.exe /run file”, where the created log file “UnusedQueries.log” will be inserted as a parameter.
- A query is considered used if it is bound to a control of an edit form or a view page, to a picker or to a script step, as well as a nested query of an “IN” condition at any depth, a query of a control condition and a query saved as a query template.
- The output file is a proposal for review – it is advisable to go through it before running it with the “/run” command.
- Use: “SqlBackup.exe /unusedqueries” followed by “SqlBackup.exe /run UnusedQueries.log”
Creates the “UnusedQueries.log” file in the “Backup” directory of the NET Genium installation; the file is overwritten with each run
1.4.30. /unusedscripts
The “SqlBackup.exe” program, run with the “/unusedscripts” parameter, deletes from the “sngscript” table all script steps that do not belong to any edit form or button. The deletion takes place immediately, without further confirmation and without a log file.
- Use: “SqlBackup.exe /unusedscripts”
1.4.31. /export
The “SqlBackup.exe” program run with the “/export” parameter (abbreviated “/e”) exports the current database to a ZIP archive in the “Backup” directory. System tables and the tables of all edit forms, including the change history tables, are exported. After starting, the program offers an export profile:
- “1) Database” – data of all tables.
- “2) Database and file attachments” – data of all tables and the entire “Files” directory with file attachments.
- “1b)” and “2b)” – the same as profiles 1 and 2, but tables with more than 10,000 records are saved into separate XML files next to the archive instead of into the archive.
- “3) Database structure (merge)” – the structure of applications intended for merging with another NET Genium installation using the “/import” parameter. System tables (portal model, user settings) are exported including data, edit form tables only as an empty structure. Of the file attachments, only files inserted into “RichText” controls are included. Tables with instance settings and operational data (NET Genium settings, allowed IP addresses, MCP tokens, logged-in users, user group membership, usage statistics and synchronization settings) are not exported.
- Before the export, profile 3 permanently deletes redundant records from the “scolumns_history”, “sviewfields_history” and “sngscript_history” tables – of consecutive changes of the same control or script made by one user on one day, only the last one remains.
- If the database version differs from the NET Genium version for profile 3, the program asks whether to continue.
- The “Templates” directory is always part of the archive. An archive with the same name is overwritten.
- Files larger than 1 GB are not inserted into the archive – attachments over 1 GB are skipped, and a data file of this size remains in the “Backup” directory next to the archive.
- Use: “SqlBackup.exe /export [profile]”
Creates the “yyyy-mm-dd-database_name.zip” file in the “Backup” directory. If the profile (1, 2 or 3) is specified as a parameter, the menu is not displayed, the file name does not contain the date and the program does not wait for the “enter” key to be pressed after completion
1.4.32. /import
The “SqlBackup.exe” program run with the “/import” parameter (abbreviated “/i”) imports an archive created with the “/export” parameter into the current database. The archive is selected from the list of ZIP files in the “Backup” directory; XML files of large tables saved next to the archive are loaded automatically. The program offers an import profile:
- “Database” – deletes all NET Genium tables in the current database and recreates them with the data from the archive. File attachments are not transferred.
- “Database and file attachments” – additionally deletes all files in the “Files” directory and replaces them with the attachments from the archive.
- “Database structure (merge)” – takes over the structure of applications (portal model) from the archive and keeps the data of the current database. Edit form tables that exist in both versions remain including their data and only their structure is adjusted; tables that the archive does not contain are deleted (their data is saved to the “Temp” directory beforehand). NET Genium settings, allowed IP addresses, MCP tokens, user group membership and usage statistics remain unchanged; synchronization settings are kept from the current database.
- “Database structure (merge test)” – a trial merge: commands changing the database are not executed, but are written into the “Backup\SqlBackup.sql” file; differences in the structure of tables are written into the “Backup\SqlBackup.htm” file.
During the merge, the program further asks what to do with user settings (portlets, favorite items, view table settings, filters):
- “User settings from old version” – the settings from the current database are kept; the prerequisite is that all controls exist in the archive with the same ID.
- “User settings from new version” – the settings from the archive are taken over; the prerequisite is that all users exist in the current database with the same ID.
- “Delete user settings” – the settings are deleted. Only the portlets, favorite items and home page settings of the users with ID 1 and 2 and the filter templates of the Administrator user (ID 1) are kept, in the version from the archive.
Further behavior:
- If the “Templates” directory contains print templates, the program asks whether to keep the templates of the current installation (“Templates from old version”), or to take over the templates from the archive (“Templates from new version”).
- If the NET Genium version in the archive differs from the one in the current database during the merge, the program asks whether to continue.
- If the “ngef.dll” file is located in the “Backup” directory during the merge, the “NETGenium.MergeDatabase” external function is run before the merge.
- For the duration of the import, NET Genium is deactivated by the “UnderConstruction.txt” file in the “Config” directory; after successful completion, the program asks whether to delete it. At the end of the import, the web application is restarted.
- Use: “SqlBackup.exe /import”
Creates the “SqlBackup.log” file in the “Backup” directory
1.4.33. /import2
The “SqlBackup.exe” program run with the “/import2” parameter (abbreviated “/i2”) merges the structure of applications from an archive in the “Backup” directory into a remote NET Genium installation, to which it connects via web services at the “url” address under the “loginname” account with the “password” password.
- It offers only the “Database structure (merge)” and “Database structure (merge test)” profiles and the same user settings options as the “/import” parameter.
- The structure of the system tables of the remote installation must correspond to the version of the “SqlBackup.exe” program; otherwise the import ends with the error “Different version of NET Genium on the remote server!” and NET Genium on the remote server must be updated first.
- Unlike the “/import” parameter, print templates are not transferred, the “NETGenium.MergeDatabase” external function is not run and the remote NET Genium is neither deactivated nor restarted. After completion, the cache of the remote installation is cleared.
- The connection via web services consumes a license and requires a user with administrator rights.
- Without the “url” and “loginname” parameters, the program exits without a message; it therefore cannot be used from the command menu.
- Use: “SqlBackup.exe /import2 url loginname password”
Creates the “SqlBackup.log” file in the “Backup” directory
1.4.34. /importtasks
The “SqlBackup.exe” program run with the “/importtasks” parameter imports NET Genium scheduled tasks into the Windows Task Scheduler from an XML file that is created during the server backup.
- Only tasks in the “NETGenium” or “NET Genium” folder of the Task Scheduler (including its subfolders) are imported; other tasks are skipped.
- Each task is set to run under the “SYSTEM” account with the highest privileges, regardless of the account specified in the file.
- An existing task with the same name is overwritten.
- At the end, the program displays the number of imported, skipped and failed tasks.
- Use: “SqlBackup.exe /importtasks [scheduledtasks.xml]”
If the file is not specified, the “scheduledtasks.xml” file in the current working directory is used
1.4.35. /importxml
The “SqlBackup.exe” program run with the “/importxml” parameter imports records from the XML file specified by the “file” parameter, which must be located in the “Backup” directory, into an existing table of the current database. It is typically run by the “/import” parameter for large tables.
- The table identifier is derived from the file name; if the name contains hyphens (e.g. “2026-10-06-database-ng_table.xml”), the part after the last hyphen is used.
- Records are only inserted into the table; existing records are not deleted.
- The progress is saved into a file with the “.ini” extension next to the XML file; an interrupted import continues after the last imported record when run again.
- After a successful import, the XML file is deleted, but only if its name does not contain a hyphen.
- The command is not in the command menu and can only be run with a parameter.
- Use: “SqlBackup.exe /importxml file”
1.4.36. /loginstats
The “SqlBackup.exe” program run with the “/loginstats” parameter goes through the files in the directory specified by the “directory” parameter (typically the “Logs” directory) and lists the lines about user logins from them. The program offers two profiles:
- “Valid logins with username and password” – successful logins with a username and password.
- “Invalid logins” – failed login attempts.
- If the directory is not specified, the current working directory is searched. If it is the “Backup” directory and a “Logs” directory exists next to it, the program offers a choice between them.
- All files in the directory are searched regardless of their extension, without subdirectories.
- Use: “SqlBackup.exe /loginstats [directory]”
Creates the “loginstats.log” file in the current working directory; the file is overwritten with each run
1.4.37. /updatearchive
The “SqlBackup.exe” program run with the “/updatearchive” parameter archives selected records and file attachments into the “Archive” directory of the NET Genium installation (another location can be specified by a path saved in the “Archive\Archive” file). Which records are archived is determined by the “Config\UpdateArchive.txt” file:
- A line in the form “SELECT * FROM table [WHERE ...]” determines the archived records of one table. A query with a “WHERE” condition moves the records (MOVE), a query without it copies them (COPY); the mode can also be determined by the “COPY:” or “MOVE:” prefix. Other lines define foreign keys, lines starting with “//” are comments.
- The program finds related tables (parent, referencing and tree links) by itself and repeatedly excludes from the selection the records whose link leads to a record outside the selection.
The program offers these profiles:
- “Analyze tables” and “Analyze tables and file attachments” – analysis only: the numbers of records, or the size of attachments, are written into the log.
- “Copy tables to ...” – saves the data of the tables including the change history into XML files in the “Archive” directory, including the list of attachments; neither the database nor the attachment files are changed.
- “Move tables and file attachments to ...” – saves the tables as the previous profile does and copies the attachments into the “Archive\Files” directory. It then deletes the records in the MOVE mode from the tables, from their history and from the “sfiles” table, and deletes their attachments from the attachment directory. The “DELETE” commands can be executed immediately, or written into the “Backup\UpdateArchive.sql” file and run later with the “/run” parameter.
- “Import tables from ...” – imports all XML files from the “Archive” directory into the current database and deletes the successfully imported files. The “susers”, “susers_rights”, “susergroups”, “srightsgroups” and “srightsgroups_rights” tables are completely emptied before the import; in the other tables, records with the same ID are overwritten.
- “Move file attachments from ... to ...” – moves the attachments from the “Archive\Files” directory back to the attachment directory. A file that already exists in the target is not overwritten.
- “Track record” – analysis with tracking of one record of a specified table; it writes into the log why the record was included in the selection or excluded from it.
- The copy and move profiles require that the “Archive” directory contains no files.
- Use: “SqlBackup.exe /updatearchive”
Creates the “UpdateArchive.log” file in the “Backup” directory
2. “bin” directory
2.1. ApplicationManager.exe
A program designed for importing and exporting applications and application groups to and from NET Genium. The export is performed into an encrypted “nga” file (applications) or “ngg” file (application groups), which can be large (even several GB) depending on the size of the application and the amount of user data. “ApplicationManager.exe” is used to export or import these large applications – if the export or import was performed from the NET Genium web interface, it could happen that the IIS web server cannot accept (upload) such a file, or subsequently process or application. import. For this reason, it is much more efficient to use the “ApplicationManager.exe” application.
- The program offers the same options as import and export in NET Genium – data, attachments, data ownership, record history, rights and bindings to other applications. A detailed description is provided in the separate guide Import and export of applications.
- The program connects to the database directly, without logging in, and works with the permissions of the Administrator user (ID 1). It may therefore be run only by the server administrator.
2.2. FileUpload.exe
The program is located in the “Config\Tools” directory, and the “FinishUpdate.exe” program copies it to the Windows system directory with each update.
A program designed for regular uploading of individual files or entire directories to a remote server on which NET Genium with the “FileUpload” application is installed. This application consists of a file transfer interface (this interface is a standard part of every NET Genium), as well as the “FileUpload Document” edit form and the “FileUpload Documents” view page. Neither the edit form nor the view page is a standard part of NET Genium, so they need to be imported first. For this purpose, the file “FileUpload.nga” is prepared in the “Install” directory, which can be imported into any application group as a normal application.
Each individual file or the entire directory uploaded to the server must have a separate profile created in NET Genium – an entry in the “FileUpload Document” table. This profile includes the name of the transferred file and the password for its transfer. We transfer entire directories to the server by first packing them in a “zip” archive, and then transfer it to the server – of course if it has the appropriate profile created, and it is chosen for this profile that the file should be unzipped after transfer to the server.
If we run the program “FileUpload.exe” in any directory on the disk, the contents of the current directory will be compared with all profiles defined in the table “Document FileUpload”, and then we will be prompted to confirm the transfer of those files that have a profile created by their name in NET Genium.
“FileUpload.exe” requires a remote NET Genium URL and a file transfer password each time it is run.
These two parameters can be passed to the program in three ways:
- by calling the program “FileUpload.exe” with two parameters “URL” and “Password”, which are separated by a space (even the password itself can contain spaces), eg “FileUpload.exe https://www.netgenium.com/netgenium password transfer”,
- by creating the text file “FileUpload.ini” in the root directory of one of the disks “C:” to “Z:”, which on the first line contains the URL of the remote NET Genium, and on the second line the password for the transfer (the first file found in the alphabetical order of the disks is used),
- by manually entering the URL and password for the transfer directly in the running program “FileUpload.exe” (which is very impractical when running the program frequently).
The “FileUpload.exe” program can package the entire directory into a “zip” archive using the “-Z” parameter, followed by the archive name without a space after “-Z” and also without the “.zip” extension at the end. “FileUpload.exe” packages one of the following directories based on the current working directory:
- the entire parent directory if we are in the “bin” or
- only the directory in which we are located, unless it is a “bin” directory.
The “FileUpload.exe” program can also automatically delete all files that have been successfully uploaded to the server.
To enable this function, the “/D” parameter must be selected. In combination with the “-Z” parameter, the program deletes all source files that were packed into the archive.
- Examples:
FileUpload.exe https://www.netgenium.com/netgenium password for transmission
FileUpload.exe/Zarchivename https://www.netgenium.com/netgenium password for transmission
FileUpload.exe/Zarchivename
2.3. LogService.exe
Program designed for logging successfully executed programs/services to the database table “ng_windowsservice”. The program is mainly used for scheduled batch file execution using scheduled Windows tasks. The service name is defined by the “ServiceName” parameter – under this name the service is logged into the database. The default interval after which the service should start again is set by the “IntervalInMinutes” parameter. It is possible to pass the text string “%errorlevel%” to the optional parameter “ErrorLevel”, which is a variable available in any “bat” file and which returns the current error code. If “LogService.exe” detects that this code is anything other than 0, it does not log the service.
- Use:
LogService.exe ServiceName IntervalInMinutes [ErrorLevel]
- Example “bat” file:
xcopy /D /H /E “D:\inetpub\wwwroot\netgenium“ \\NAS-NETGenium\Files
LogService.exe BackupFiles 1440 %errorlevel%
2.4. OnlineUsers.exe
A program designed to evaluate the number of logged-in users in all NET Genium databases on the given server (in all Firebird databases and in all MSSQL instances). For each database, it lists the number of logins that consume a license and the time of the last activity.
- Creates the “OnlineUsers.log” file in the “Logs” directory if the program is run from the “bin” directory, otherwise in the current working directory, and opens this file at the same time
2.5. PrintPdf.exe
A program designed to print a record to a PDF print template. The program accepts the parameters “Button ID” (ID of the button located in the edit form) and “Record ID” (ID of the record in the database).
- The program processes only print templates in the “pdf” format; it fills in the template with the “NETGenium.OnAfterPrint” external function.
- It creates the resulting “PrintPdf.pdf” file in the current working directory and opens it immediately.
- The program does not evaluate the rights to the record.
2.6. ResendEmlFiles.exe
A program designed to search for all “eml” files in the “SMTP” directory, and then send them using an SMTP server. E-mails are saved in this directory automatically if there is any problem with sending them from the NET Genium environment, eg due to high SMTP server load or poor connectivity.
- After a successful e-mail, the corresponding “eml” file is deleted from the “SMTP” directory.
- If the e-mail(s) cannot be sent again by “ResendEmlFiles.exe”, they will remain unchanged in the “SMTP” directory, and an e-mail will be sent to the portal administrator with a list of the files that failed in that run. The e-mail is sent on every run of the program, and only when a valid administrator e-mail address is filled in the NET Genium settings; messages without a sender or without recipients and messages the program has already given up on are not listed in it.
- The program sends a message with its content unchanged, only removing the envelope headers “X-Sender” and “X-Receiver”; it takes the recipients from the “X-Receiver” header, because only that header also carries the blind carbon copy addresses.
- Each message is sent first through SMTP server 1 and, if it fails, through SMTP server 2. If no SMTP server is set up, the program does not send the messages.
- Sending one message is attempted at most 48 times regardless of the error the individual attempts end with; for permanent errors (for example an invalid recipient) only once. The attempts are recorded in the “ResendEmlFiles.errors” file in the “SMTP” directory.
- The program packs unsent messages from past years into ZIP archives in the “SMTP” directory (separately messages with an error, without a sender, without recipients and too big ones) and deletes the original files. It packs only messages it has given up on and messages without a sender or recipients, and only for a year that ended more than a month ago; if the archive for that year already exists, the files stay.
It is common to run “ResendEmlFiles.exe” as a scheduled Windows task. The scheduled task can be created either manually or automatically using the “Setup.exe” program, or by running the “ResendEmlFiles.exe” program with the “-task” parameter.
The program “ResendEmlFiles.exe” also makes it possible to search for and send all “eml” files from all NET Genium located on the server. As part of resending email messages, it is possible to send “eml” files from all NET Genium at once or only from selected NET Genium. Definitions from which NET Genium will be resent “eml” files are given in the configuration file “ResendEmlFiles.exe.config”, which is located in the same directory as “ResendEmlFiles.exe”.
<configuration>
<appSettings>
<add key="ngdirs" value="D:\inetpub\wwwroot"/>
<add key="ngdir" value="E:\inetpub\wwwroot\netgenium1" />
<add key="ngdir" value="E:\inetpub\wwwroot\netgenium2" />
</appSettings>
</configuration>
The “ngdirs” parameter specifies the directory on the disk where multiple NET Genium are stored. “ResendEmlFiles.exe” will find all NET Genium in this directory, and will try to resend all “eml” files from the “SMTP” directory. Except for those who have the file “SkipResendEmlFiles.txt” located in the “Config” directory (it does not matter its content).
The “ngdir” parameter specifies the directory on the disk in which one specific NET Genium is stored, from the “SMTP” directory of which the “ResendEmlFiles.exe” program will try to resend all e-mail messages.
The “ResendEmlFiles.exe” program must be placed together with other required files in a separate directory on the disk, eg in the “D:\ResendEmlFiles” directory. The following files are a necessary part of the “ResendEmlFiles” directory for the correct functionality of resending “eml” files from multiple NET Genium:
- “ResendEmlFiles.exe”,
- “ResendEmlFiles.exe.config” and
- “NETGeniumConnection.dll”.
In this mode the program runs the own “bin\ResendEmlFiles.exe” program of each NET Genium found and writes the list of all processed NET Genium instances into a daily log file in the “Logs” directory next to the program.
- If the program of the given NET Genium finished, the log file shows “OK” next to the path to the given NET Genium. The result of sending individual messages is in the log of that NET Genium.
- If the NET Genium was found due to the “ngdirs” parameter and also contains the “SkipResendEmlFiles.txt” file in the “Config” directory, the log file shows “SKIP” next to the path to the NET Genium.
2.7. Restart.exe
Program designed to restart NET Genium. This is accomplished by creating or deleting a “Restart.txt” file in the “bin” directory – it takes advantage of the IIS feature that any change to the contents of the “bin” directory will result in a restart of the web application.
- The program works with the “Restart.txt” file in the current working directory. It must therefore be run from the “bin” directory; in a scheduled task, the “Start in (optional)” field must be filled in with the path to the “bin” directory.
- With the “/J” parameter, the program does not wait for a key to be pressed after completion.
2.8. RunningQueries.exe
A program designed to evaluate a list of currently processed database queries in all NET Genium databases on the given server. It lists running database queries, running scripts, active database connections and suggested commands for terminating long-running queries; it does not terminate any query itself.
- Creates the “RunningQueries.htm” file in the “Logs” directory if the program is located in the “bin” directory, otherwise in its own directory, and opens this file at the same time
2.9. RunScript.exe
A program designed to run a script specified using a control ID – a button located solely on the view page. The optional parameter “UserID” represents the ID of the user under whose login name the script will run. If the optional parameter is not specified, the script will run under an anonymous user and the rights are not evaluated. The entire script runs in a single transaction. The program returns exit code 0 on success and 1 on an error, including a script that does not exist or is empty. It also returns exit code 1 without running the script if NET Genium is deactivated (the “UnderConstruction.txt” file) or is being updated.
- Use: “RunScript.exe <ID> [<UserID>]”
The “RunScript.exe” program is mainly used in scheduled tasks. The scheduled task can be created either manually or using the “Setup.exe” program, which automatically creates a scheduled task with the following parameters based on the specified control ID:
- in the “NET Genium” folder,
- with the name of the scheduled task, which is derived from the name of the button,
- at the specified time – the default time is set to “06:00”,
- optionally with set repetition twice per hour – at 30 minute intervals for 18 hours.
- When creating a scheduled task manually, the “Program or script” field must contain the full path to the “RunScript.exe” program on the computer disk, the “Add arguments (optional)” field must contain the control ID and optionally a space and user ID. The “Start in (optional)” field does not need to be filled out.
2.10. Setup.exe
A program designed to install NET Genium, which allows:
- Create a virtual directory
- Authorize the application pool identity (or the NetworkService account) to write to the NET Genium directory
- Create a database
- Firebird
- MSSQL
- Authorize the application pool identity (or the NetworkService account) to access the MSSQL database – the identity is granted the “sysadmin” role
- Create a scheduled task for BackupServer.exe (server backup)
- Create a scheduled task for SqlBackup.exe (database backup)
- Create a scheduled task for FileBackup.exe (attachment backup) – the task is created without the mandatory parameter with the target backup directory, which must be added in the “Task Scheduler” to the “Add arguments (optional)” field
- Create a scheduled task for Update.exe (update)
- Create a scheduled task for ResendEmlFiles.exe
- Create a scheduled task for RunScript.exe
- “Setup.exe” is the recommended method for creating scheduled tasks associated with the execution of button scripts located on view pages. The program rejects the ID of an edit form button.
- In the dialog of the “Setup.exe” program there are input fields for
- Button ID,
- time of the scheduled task run,
- and the “2x/h” checkbox, which defines that the scheduled task will be run periodically 2x per hour for 18 hours.
Scheduled tasks created by the "Setup.exe" program can also be manually set directly in the "Task Scheduler":
- All scheduled tasks are created in all "NET Genium" that already exists or "Setup.exe" already creates
- Scheduled jobs are set to run in the context of the user account "SYSTEM" with the highest privileges
2.11. StartSynchro.exe
A program designed to send the database table synchronization queue to the linked NET Genium installations. The program sends the queue only if the “DenyStartSynchro.txt” file is located in the “Config” directory – otherwise the web application sends the queue by itself and the program only displays a message. If the “DenySynchro.txt” file is located in the “Config” directory, the program sends nothing. It is typically run by a scheduled task.
- Before sending, the program releases a synchronization lock older than 2 hours; with the “/reset” parameter, it releases the lock regardless of its age.
- The program returns exit code 0 on success and 1 on an error. It also returns exit code 1 without sending if NET Genium is deactivated (the “UnderConstruction.txt” file) or is being updated.
- Use: “StartSynchro.exe [/reset]”''
A detailed description of synchronization is provided in the separate guide NET Genium settings.
2.12. Update.exe and FinishUpdate.exe
The “Update.exe” program is intended for updating NET Genium to its latest version. Automatically updates to:
- latest full version or
- the latest test version, if the “Tester.txt” file is present in the “Config” directory (it does not matter its contents),
- the latest developer version, if the “Developer.txt” file is present in the “Config” directory and the “Tester.txt” file is not present.
The file with the latest version of NET Genium is always first searched in the “Update” directory – “netgenium4.zip” for the full version, “netgenium4t.zip” for the test version and “netgenium4d.zip” for the developer version. If this file exists in the “Update” directory, it is considered an available update without comparing versions and is deleted after use. If it does not exist in the “Update” directory, it will be automatically downloaded from the NetGenium website.
It is also possible to run the “Update.exe” program as a scheduled Windows task, thus ensuring a regular daily update of NET Genium, typically performed at night. However, “Update.exe” must be run by the task scheduler with the “-j” parameter – this is a fully automated update that does not require user confirmation. The scheduled task can be created either manually or automatically using the “Setup.exe” program, or by running the “Update.exe” program with the “-task” parameter.
rem Running an automated update that does not require user confirmation
Update.exe -j
rem Automatic creation of a scheduled task
Update.exe -task
When the update is complete, the “FinishUpdate.exe” program starts automatically, which:
- updates the “Web.config” file in the NET Genium root directory according to the various settings located in the configuration files,
- copies the “FileUpload.exe” program to the Windows system directory – this ensures that the program can be run from the command line without having to specify a path to it,
- deletes the old “Update.exe” and the “NETGeniumConnection.dll” library, and replaces them with the new versions located under the provisional names “Update.new” and “NETGeniumConnection.new”,
- deploys the “ngef.dll”, “ERP.dll” and “OCR.dll” libraries to the “bin” directory if they are prepared in the “Update” directory.
The second area where the “Update.exe” program can be used is a bulk update of NET Genium, which is located on the server. As part of a bulk update, it is possible to update all NET Genium at once or only selected NET Genium. The definition that will be updated by NET Genium is listed in the configuration file “Update.exe.config”, which is located in the same directory as “Update.exe”.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="dir" value="D:\inetpub\wwwroot\www.netgenium.com\Download" />
<add key="ngdirs" value="D:\inetpub\wwwroot" />
<add key="ngdir" value="E:\inetpub\wwwroot\netgenium1" />
<add key="ngdir" value="E:\inetpub\wwwroot\netgenium2" />
<add key="nointernet" value="false" />
</appSettings>
</configuration>
- The “dir” parameter indicates the path to the directory with the latest versions of NET Genium – to the directory with the “netgenium4.zip” and “netgenium4t.zip” files. The “dir” parameter can only be used on the NetGenium production server, where the archives with the new versions are distributed.
- The “ngdirs” parameter specifies the directory on the disk where multiple NET Genium are stored. The “Update.exe” program finds all NET Genium in this directory and updates it. Except for those who have the file “SkipUpdate.txt” located in the “Config” directory (it does not matter its contents).
- The “ngdir” parameter specifies the directory on the disk in which one specific NET Genium is stored, which the “Update.exe” program will update.
- The “nointernet” parameter indicates that the Internet is not available on the server and that updates will always be performed from the “netgenium4.zip” and “netgenium4t.zip” files stored in the current directory together with the “Update.exe” program.
The “Update.exe” program must be placed together with other required files in a separate directory on the disk, eg in the “D:\Update” directory. The following files are a necessary part of the “Update” directory for the correct operation of the bulk update:
- “FinishUpdate.exe”,
- “NETGeniumConnection.dll”,
- “Update.exe.config” and
- “Update.exe”.
When starting the bulk update, a list of all NET Genium that were listed in the configuration file “Update.exe.config” is written into a daily log file in the “Logs” directory next to the “Update.exe” program (for example “Logs\2026-10-06.log”).
- If the NET Genium is successfully updated, the log file shows “OK” next to the path to the NET Genium.
- If the given NET Genium is already current at the time of the update, the log file shows “Up-to-date” next to the path to the given NET Genium.
If the given NET Genium was searched for thanks to the parameter “ngdirs” or “ngdir” and at the same time contains the file “SkipUpdate.txt” in the “Config” directory, the log file states “SKIP” next to the path to the given NET Genium.
3. “Config\Tools” directory
3.1. Deactivate.exe
The “Deactivate.exe” program deactivates NET Genium – IIS and the NET Genium web application remain running, but any work in NET Genium is prevented. Users are redirected to the “UnderConstruction.aspx” website every time they request to work in NET Genium. Deactivation consists in creating the file “UnderConstruction.txt” in the directory “Config”. The content of the file defines the HTML code that is displayed to the user on the “UnderConstruction.aspx” web page.
The program offers two profiles:
- “Deactivate all users” – deactivates NET Genium for all users (the “UnderConstruction.txt” file),
- “Deactivate all users except administrator” – deactivates NET Genium for all users except administrators (the “UnderConstruction2.txt” file).
3.2. Activate.exe
The program “Activate.exe” activates NET Genium resp. deletes the “UnderConstruction.txt” and “UnderConstruction2.txt” files from the “Config” directory.
3.3. MemoryDumps.txt
The “MemoryDumps.txt” file contains a procedure for analyzing “memory dumps” to troubleshoot application performance or functionality issues.
1) Download and install Debug Diagnostic Tool v2 Update 2
(https://www.netgenium.com/download/DebugDiagx64.msi)
2) Locate memory dumps (C:\Users\abc\AppData\CrashDumps)
3) Run DebugDiag
4) Default Analysis / CrashHangAnalysis
5) Add Data Files
6) Start Analysis
3.4. TracingRequests.txt
The “TracingRequests.txt” file contains the procedure for tracing web requests.
1a) Server Manager/ Add roles and features
2a) Web Server (IIS)/ Web Server/ Health and Diagnostics/ Tracing
3) Run IIS
4) Select top node and click 'Failed request tracing rules'
5) Click Add...
6) All content (*)
7) Status code(s): 401-999
8) Select website and click 'Failed request tracing rules'
9) Edit Site Tracking...
10) Enable
3.5. TuningQueries.sql
The “TuningQueries.sql” file contains a sample list of commands that are used to debug database queries in the “SQL Server Database Engine Tuning Advisor”.
use netgenium
go
SELECT ...
SELECT ...
3.6. TuningQueries.txt
The “TuningQueries.txt” file contains the procedure for debugging database queries in the “SQL Server Database Engine Tuning Advisor”.
1) Run SQL Server Management Studio
2) Right click on the instance name and select 'Reports/ Standard Reports/ Performance - Top Queries by Total CPU Time'
3) Identify top queries with constants in a condition that can be improved with indexes
4) Right click on the background of the report and select 'Print/ Excel'
5) Open printed Excel file
6) Create 'netgenium.sql' file and insert top queries using the following syntax:
use netgenium
go
SELECT ...
SELECT ...
7) Run SQL Server Database Engine Tuning Advisor
8) Click 'Start New Session'
9) Select 'File' as a 'Workload' and browse for 'netgenium.sql'
10) Mark 'netgenium' database
11) Click 'Start Analysis'
12) Analyze 'Recommendations' tab
13) Create new indexes as recommended
3.7. WALTU.exe
The “WALTU.exe” program is used to browse all links from the specified web application URL. It is used, for example, for stress tests, where the number of requests is specified and the “One Thread” option determines whether the requests should run in a single thread or concurrently, or to determine the availability of links (dead links, or incorrectly set destination rights). The program supports only addresses with the “http” protocol.
3.8. ResponseHeaders.txt
The “ResponseHeaders.txt” file contains sample values of the “Content-Security-Policy” header for web applications that use Google reCAPTCHA or OpenStreetMap map data.
3.9. TracingCertificates.txt
The “TracingCertificates.txt” file contains the procedure for finding invalid server certificates in the HTTP.SYS settings and the procedure for setting up client certificate authentication in the IIS service.
3.10. WSDL.exe
The “WSDL.exe” program is used to create a C# proxy class for calling web services according to their WSDL description.