We use SMO (SQL Server Management Objects) to pull all of the available SQL Servers. This is done by SMO by looking for the Browser Service. More than likley, the Browser service is not running on the machine in which you have the SQL Server Express installed. If nothing is returned, then the local machine name is added to the list making an assumption that there may possibly be a SQL instance there. So this is actually operating as it should. Start the browser service on the machine where Express is installed and the full name with the SQLEXPRESS should appear.
I found a little issue that I think is worth informing you about. If I use
MicroFour.StrataFrame.DBEngine.Deployment.MDDeployMain to deploy a database on a sql express instance and that instance is the only sql server instance on the computer, the
the ComboBox with the header "Select SQL Server" only shows the computername . If you continue the wizard it will fail to connect to the server. Strange... since I just connected to the server and that worked. After I manually set the sql server to 'COMPUTERNAME\SQLEXPRESS' it worked.
I tried the same with a full sql server version and then it does not seem to matter.
My suggestion would be to always add the Computername + Instancename, even if there is just one sql server instance visible.
Hope you can change that behaviour or tell me if I have done something wrong.
Thanks