X2 to X3 – Transition Guide for iX Developer
Follow this transition guide to ensure a smooth and secure transition from iX Developer 2 to iX Developer 3 on Beijer Electronics X3 HMI panels.
Development PC
X2 HMI panel
X3 HMI panel
iX Developer 2 license (also valid for iX Developer 3)
Review the Modified Features in iX Developer 3 chapter to understand changes and evaluate their impact on your project.
Confirm that your driver is supported in iX Developer 3 by checking Driver List X3 HMI Panels. If your driver is not listed here, Contact Beijer Electronics.
Connect the X2 HMI panel to the development PC.
If you are using an older version of iX Developer (before 2.53), follow these steps:
Create a project backup. Refer to Back Up the Project for instructions.
Download and install iX Developer 2.53 from the Beijer Electronics SmartStore.
Open your project in iX Developer 2.53.
Build the project and resolve any build errors that appear.
Download the project to the X2 HMI panel. Refer to the Download chapter in the iX Developer 2.53 Reference Manual for download instructions.
Verify the project functionality on the HMI panel.
Save the project.
Create a project backup. Refer to Back Up the Project for instructions.
Quit iX Developer.
Connect the X3 HMI panel to the development PC.
Download and install iX Developer 3 from the Beijer Electronics SmartStore.
Open your project in iX Developer 3.
Important
When opening your project in iX Developer 3, a dialog will provide key information and recommendations for project conversion. Read this carefully and follow the instructions.
Build the project and address any build errors using the How to Resolve Transition Build Errors guide.
Transfer the project to the X3 HMI panel. Refer to the Transfer the iX App to the HMI Panel chapter in the iX Developer 3 User Manual for transfer instructions.
Verify the project functionality in the iX App on the HMI panel.
Tip
In some cases when the transferred project is run on the HMI panel, the project won't open and an Access Denied dialog appears. See Troubleshooting for information on how to solve this issue.
Save the project.
Now your project is fully compatible with iX Developer 3.
Tip
For additional help, consult the FAQ, visit the Connected forum, or contact Beijer Electronics support.
Some features from earlier versions are not included in iX Developer 3 at launch. In most cases, alternative features are available. To help you understand how these changes affect your project, the features are grouped into four transition categories:
Easy = You can switch to an alternative feature with little or no effort.
Medium = Some effort is required to switch. Review the alternatives before transition.
Hard = Requires advanced knowledge. Carefully review the alternative before transition.
Wait = No alternative is currently available. If your project depends on this feature, wait for a future update.
Review each modified feature in the table below. Identify which changes affect your project, and decide whether to make the transition now or wait for a future version.
Transition category | Modified feature | Description | Alternative |
|---|---|---|---|
Easy | Media player object | Removed. | Use the Web Browser Object instead. |
PDF viewer object | |||
SMS and Printer functionality | Removed in iX Developer 2.52. | Save to USB, SD card or HMI panel. Then use e-mail if required. | |
System settings | In iX Developer 3, you cannot configure system settings directly as in previous versions. Instead, you define System Requirements that are evaluated and then reserved by the OS3 operating system. If the requirements cannot be fulfilled, the iX App will not start. | Define the System Requirements. | |
USB transfer | App transfer via USB is no longer supported. | Use Ethernet transfer instead. See Transfer the iX App to the HMI Panel. | |
Virtual keyboards for non-latin languages | Will be included in future iX Developer updates. | Use a Latin virtual keyboard or an external keyboard for now. | |
Medium | QR-code object | Removed due to outdated libraries. | Use NuGet packages. See NuGet Packages. |
Hard | DLL compatibility (third-party controls) | DLL-based support has been removed. | Use NuGet packages. See NuGet Packages. |
Web server features |
| For more information, see Web Server. | |
Run action | Removed due to security and architectural reasons. | Use Scripts instead. | |
FTP | Removed due to security and architectural reasons. | Use Transfer Client CLI instead. | |
Wait | Watchdog | Not available. | Alternative will be introduced in future OS3 updates. |
PC runtime | Will be included in future iX Developer updates. | - | |
Support for certain system tags | Will be included in future iX Developer updates. The following system tags are not yet implemented:
| - |
Build error | Action |
|---|---|
CS0246: The type or namespace name "SQLiteConnection" could not be found (are you missing a using directive or assemble refrence?) | See Update SQLite Code. |
CS0246: The type or namespace name "SQLiteException" could not be found (are you missing a using directive or assemble refrence?) | |
CS0246: The type or namespace name "SQLiteDataAdapter" could not be found (are you missing a using directive or assemble refrence?) | |
Control System.Windows.Forms.DataGrid on screen Screen5 is not supported. Double-click to suppress build error. | |
Control System.Windows.Forms.StatusBar on screen Screen5 is not supported. Double-click to suppress build error. | |
Control System.Windows.Forms.ToolBar on screen Screen5 is not supported. Double-click to suppress build error. | |
Ftp is no longer supported due to security considerations. Double-click to suppress build error. | |
Key beep is no longer supported. Double-click to suppress build error. | |
Password for project transfer is no longer needed but a password for the project zip archive can be used. Double-click to suppress build error. | |
Pin code is no longer supported. Double-click to suppress build error. | The Service Menu in iX Runtime in iX Developer 2, where the PIN code was used, has moved to OS3. Refer to the OS3 User Guide for more information. |
Printing is no longer supported. Double-click to suppress build error. | |
System settings are replaced with System Requirements, and must be manually migrated. Please consult the documentation before suppressing the build error. Double-click to show settings. | |
The keyboard culture used is unsupported and US will be used instead. Support for more cultures will be added in the future. Double-click to suppress build error. | |
The report DatabaseReport is in .xls format, please save it as .xlsx instead. Any SQL queries in your report also need to be moved to the Queries section. See Reference Manual for more information. | |
The report Report1 is in .xls format, please save it as .xlsx instead. Any SQL queries in your report also need to be moved to the Queries section. See Reference Manual for more information. | |
Topmost window is no longer supported. Double-click to suppress build error. | |
Unsupported parameter action 'Printer' used by Print Screen action in screen: Screen1. Replace it with 'File' parameter action. | |
VNC is no longer supported due to security reasons. A potential replacement will be included in a future release as part of OS3 platform. Double-click to suppress build error. | |
Virtual keyboard is now always enabled. Double-click to suppress build error. | |
Watchdog is no longer supported. Double-click to suppress build error. |
When converting a iX Developer project from iX2 to iX3, you need to manually migrate the system settings.
After opening and running the project in iX Developer 3 for the first time, the following Build Error appears:
System settings are replaced with System Requirements, and must be manually migrated. Please consult the documentation before suppressing the build error. Double-click to show settings.
Double-click the build error message to open the System Requirements.
Alternatively, navigate to Project > Settings > System Requirements.
Click Import old System Settings to import the settings from the iX Developer 2.52 project.
If some settings are not imported, click Add to manually configure them.
Replace Unsupported DataGridView Control
To fix the build error:
Control System.Windows.Forms.DataGrid on screen Screen5 is not supported. Double-click to suppress build error.
you must replace the old DataGridView control with a new one.
Go to Home and expand the Objects group
Click Add Control.
Deselect DataGridView and click OK.
Reload the project
Open Add Control again and add DataGridView.
Update the script to reference the new DataGridView.
Open the Project Folder and navigate to Reports > Template and open the .xls template files.
In Excel, select File > Save As and change the file extensions to .xlsx.
In Excel, check if there is sheet named <#Config>.

If not, go to step 7.
If yes, continue with step 4:
Open the project in iX Developer 3.
Go to the Reports Configuration Page and select the Queries tab.
Add all the queries from the <#Config> sheet manually, as shown in the example screenshot.

In iX Developer 3, go to the Reports Configuration Page and select the Reports tab.
Replace the existing .xls files with the updated .xlsx files in the Reports list.
This guide explains how to update code from System.Data.SQLite to Microsoft.Data.Sqlite.
Original Code: System.Data.SQLite
The example below uses System.Data.SQLite to retrieve data from a table:
// System.Data.SQLite
public DataTable Select(string tablename)
{
DataTable dt = new DataTable();
if (ConnectToDataBase())
{
try
{
string Commandstring = "SELECT * FROM " + tablename + " ";
SQLiteDataAdapter da = new SQLiteDataAdapter(Commandstring, m_SQLiteConnection);
dt.Rows.Clear();
dt.Columns.Clear();
da.Fill(dt);
da.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
DisconnectFromDataBase();
return null;
}
}
DisconnectFromDataBase();
return dt;
}Connect to the database (
ConnectToDataBase).Use
SQLiteDataAdapterto execute the query and fill theDataTable.Handle errors with a
try-catchblock.Disconnect from the database after use.
Updated Code: Microsoft.Data.Sqlite
This example uses Microsoft.Data.Sqlite for the same operation:
// Microsoft.Data.Sqlite
public DataTable Select(string tablename)
{
DataTable dt = new DataTable();
if (ConnectToDataBase())
{
try
{
string commandString = $"SELECT * FROM {tablename}";
using (var command = new SqliteCommand(commandString, m_SQLiteConnection))
using (var reader = command.ExecuteReader())
{
dt.Load(reader);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
DisconnectFromDataBase();
return null;
}
}
DisconnectFromDataBase();
return dt;
}Use string interpolation (
$"") to build SQL queries.Replace
SQLiteDataAdapterwithSqliteCommand.Use
ExecuteReader anddt.Load(reader)to load data.Manage resources with
usingstatements.
Problem | Reason | Solution |
|---|---|---|
Access Denied dialog appears when opening the app on the HMI panel. | OS3 environment is not prepared. | Ensure all necessary changes are completed before deploying your application in an OS3-enabled environment. Refer to X2 to X3 – Transition Guide for iX Developer. |
File paths in scripts are not updated. | Modify your existing iX scripts to accommodate the updated file access permissions. Writing to the installation folder of your application is no longer permitted. | |
Save locations are incorrect. | If your scripts save files to the installation folder, update them to use a writable location. Use the predefined variable |