Fix it now
These appear once setup stops installing and starts configuring. Microsoft publishes 1919 as an error configuring an ODBC data source, with the ODBC error the driver returned inside the message. 27502 is not a Microsoft code at all: it comes from the package you are running, and the text beside it is the real diagnosis.
%windir%\System32\odbcad32.exe
%windir%\SysWOW64\odbcad32.exe
sqlcmd -S SERVER\INSTANCE -E -Q "select @@version"
- Read the message properly. For 1919 it names the data source, the driver and an ODBC error number returned by the driver – that inner number is what to work from.
- Open the ODBC administrator matching the application’s bitness and check the Drivers tab for the driver the package expects. System32 manages 64-bit drivers and SysWOW64 manages 32-bit ones, which is the opposite of what the folder names suggest.
- Install the missing driver in the right architecture, and create any data source the package needs on the System DSN tab rather than the User DSN tab.
- For a connection failure, test it by hand with
sqlcmdfrom the same machine before you rerun setup.
A User DSN belongs to the profile that created it. A per-machine install runs as SYSTEM and cannot see it, which is why a data source you can test successfully is still invisible to setup.
If a manual connection succeeds and the driver is listed, rerun the installer and it usually completes. If not, the next section covers the identity these steps run under.
Why it happens
An installer that needs a database or a component service does two very different jobs. First it copies files, which needs nothing but disk access. Then it runs actions that reach outward: creating an ODBC data source, registering a COM+ application, connecting to SQL Server to create a database and its objects. Those steps depend on things the package does not control, which is why they fail on machines where the file copy went perfectly.
The account matters more here than anywhere else in a setup. Per-machine custom actions run as SYSTEM, which on the network presents as the computer account. A connection string that works when you test it interactively can fail during setup because the credentials being offered are not yours. Data source scope has the same trap: a User DSN belongs to your profile and is invisible to SYSTEM.
1928 and 1929 are the COM+ equivalents – published as the installation failing to install, and failing to remove, a COM+ application. They generally mean the COM+ infrastructure or the transaction coordinator is unhealthy rather than that the package is wrong.
27502 is worth being clear about, because it is routinely written up as though Microsoft published a meaning for it. It is not in Microsoft’s Windows Installer error message list and no Microsoft documentation page defines it. It is raised by the setup package you are running, and the message beside it – usually naming a server, an instance and a provider – carries everything useful.
The ODBC driver is missing or the wrong architecture
You have this one if The Drivers tab of the matching ODBC administrator does not list the driver named in the error.
- Establish whether the application is 32-bit or 64-bit, then install the matching driver from the database vendor.
- Open the matching administrator and confirm the driver now appears.
- Create a System DSN rather than a User DSN so services and SYSTEM contexts can see it.
- Rerun the installer.
Both administrators are called odbcad32.exe. The one in System32 manages 64-bit drivers and the one in SysWOW64 manages 32-bit drivers.
The SQL Server instance is not reachable
You have this one if sqlcmd fails from the same machine, or the connection times out rather than being refused.
- Confirm the instance is running and that the network protocols the client needs are enabled in SQL Server Configuration Manager.
- For a named instance, start the SQL Server Browser service so the client can discover the port.
- Open the inbound firewall rules the instance needs, and the Browser service’s rule where named instances are used.
- Test again with
sqlcmd -S SERVER\INSTANCE -Ebefore rerunning setup.
The credentials used during setup are not the ones you tested with
You have this one if Your interactive test succeeds and the installer still fails, particularly when it is pushed by a deployment tool.
- Decide which identity the step will use. A per-machine custom action runs as SYSTEM and authenticates on the network as the computer account.
- Either grant that identity the rights it needs on the instance, or configure the installer to use a SQL login supplied as a property.
- Where the installer accepts credentials on the command line, pass them explicitly rather than relying on integrated authentication.
- Confirm the login can create the objects the installer needs, not merely connect.
COM+ or the transaction coordinator is unhealthy
You have this one if 1928 or 1929, and Component Services shows errors when you expand the COM+ Applications node.
- Open Component Services with
dcomcnfgand confirm the COM+ Applications node opens without error. - Check that the COM+ System Application service and the Distributed Transaction Coordinator service are both running.
- Read the Application event log around the failure; the entries usually name the component that could not be registered.
- Restart the machine and retry – both services recover cleanly at boot.
Full reference
What is published, and what is not
| Number | Source | Published message |
|---|---|---|
| 1919 | Windows Installer | Error configuring ODBC data source: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it. |
| 1928 | Windows Installer | The installation failed to install the COM+ Application. |
| 1929 | Windows Installer | The installation failed to remove the COM+ Application. |
| 27502 | Not published by Microsoft | Raised by the setup package you are running; read the text beside it |
The ODBC error number inside a 1919 message is the value to work from and the one most people skip. It comes from the driver, not from Windows Installer, so it is documented by whoever wrote the driver. It distinguishes a driver that is absent from one that is present and refusing the connection, and those need entirely different work.
Where each symptom usually leads
| What you see | Most common underlying cause |
|---|---|
| 1919 and the driver is not listed | The ODBC driver is not installed, or is installed in the other architecture |
| 1919 and the driver is listed | The data source is being created in the wrong scope, or the ODBC registry branch is locked down |
| 1928 or 1929 | COM+ or the transaction coordinator cannot service the request |
| 27502 naming a server | The instance is unreachable, refuses the credentials, or is not accepting remote connections |
| 27502 on a named instance only | SQL Server Browser is stopped, or its traffic is blocked |
| Any of them only under a deployment tool | The step is running as SYSTEM and the credentials or drive mappings differ |
Testing the connection the way setup will
Testing as yourself proves very little, because setup will not be you. Where the failure only happens under a deployment tool, reproduce the identity rather than the command: run the test from a scheduled task configured to run as SYSTEM, or from your management tool’s own script step, and compare. Nine times out of ten the difference is that the computer account has no login on the instance.
sqlcmd -S SERVER\INSTANCE -E -Q "select @@version"
sqlcmd -S SERVER\INSTANCE -U <login> -P <password> -Q "select @@version"
Data source scope, in one paragraph
A User DSN is stored in the profile of the account that created it and is visible only to that account. A System DSN is stored machine-wide and is visible to every account, including SYSTEM and service accounts. Anything a service, a scheduled task or a per-machine installer will consume must be a System DSN. This is the single most common reason a data source that tests perfectly is reported as missing by setup.
When the configuration step still fails
- Ask whether the step can be skipped and performed afterwards. Many packages allow the database to be created separately by a script the vendor supplies.
- Check whether the installer has its own log, separate from the MSI log. Products that talk to SQL Server usually write one, and it names the actual connection error.
- Confirm the instance is not in a state that refuses new connections – single-user mode, or a failed-over availability group replica.
- Check the driver architecture once more against the application, not against the operating system.
- If the product is a third-party application, send its own log to its vendor. The Windows Installer log will not contain the answer.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
1919 |
An ODBC data source could not be configured; the message carries the ODBC error the driver returned | Microsoft Learn |
1928 |
The installation failed to install the COM+ application | Microsoft Learn |
1929 |
The installation failed to remove the COM+ application | Microsoft Learn |
27502 |
Raised by the setup package rather than by Windows Installer or SQL Server; the message beside it names the server, instance or provider and is the real diagnostic | not published by the vendor |
Confirm the fix worked
- Open the matching ODBC administrator and confirm the data source is on the System DSN tab, then use its Test button.
- Run
sqlcmd -S SERVER\INSTANCE -E -Q "select @@version"and confirm it returns a result. - Rerun the installer and confirm the configuration stage completes without an error dialog.
- Start the application and confirm it connects to its database on first launch.
- If the install is deployed, run it once through the deployment tool and confirm the tool records success.
Questions people ask about this
Is this a SQL Server licensing problem?
No. These codes are about drivers, credentials and connectivity, and a correctly licensed instance produces them just as readily as any other. Changing a SQL Server key will not affect them.
Is 27502 a Microsoft error code?
No. It is not in Microsoft’s Windows Installer error message list and no Microsoft documentation page defines it. It is raised by the setup package you are running, so the wording beside it – and that vendor’s support – is where the answer is.
Should I use SQL Express to get around a connection failure?
Only if a local instance genuinely suits the application. Swapping editions does not fix an unreachable server, a blocked port or a rejected login, and Express has resource limits that may not suit the workload.
The installer offers to skip the failed configuration step. Can I?
You can finish setup, but the application will be missing its data source or database and will fail at first launch. It is quicker to fix the connection and rerun the step than to unpick a half-configured product later.
Why does a User DSN not work?
Because it lives in the profile of the user who created it. Services, scheduled tasks and per-machine installers do not run in that profile, so they cannot see it. Use a System DSN for anything a service will consume.
