/build/static/layout/Breadcrumb_cap_w.png

Do I have to package integrated MSI separately?

I am packaging a source EXE of a tyre management application. When the EXE installs, it  extracted an extra SQL Server R2 Native Client MSI and installs the MSI.

I captured them together and made a new MSI, but when I install the new MSI, I received error:

Error1918, Error installing ODBC driver: SQL Server Native Client 10.0. ODBC error 13: The setup routines for the SQL Server Native Client 10.0 ODBC driver could not be loaded due to system error code 126: The specified module could not be found. (C:\Windows\syswow64\SQLNCL~1.DLL|sqlncli10.dll). Verify the file SQL Server Native Client 10.0 exists and that you can access it.

The above dll does exist when I open the syswow64 folder.

I also received anther error:

Error:1904. Module C:\Windows\SysWOW64\1033\sqlnclir10.rll failed to register HRESULT -2147024769. Contact your support personnel.

The above rll does exist.

I even tried to capture the package then do not delete anything then compile to a new MSI but still recieved the same error.

My questions are:

1. Is it a good practice to capture the source EXE and the integrated SQL client MSI together?

2. If yes, what do the two errors mean?

3. If no, how to package them separately then? Thanks!


0 Comments   [ + ] Show comments

Answers (6)

Answer Summary:
Thanks for all your help guys. I packaged the main application EXE separately from the SQL Native Client msi. It worked beautifully. Actually packaging them separately is much easier than packaging them into one package because far less files and regitry keys got captured. Thanks again!
Posted by: pjgeutjens 11 years ago
Red Belt
3

1. no

2. -

3. extract the MSI for SQL client, install it separately, then run the exe over that. This assumes the main application is not an MSI in itself that also gets extracted

Posted by: SilentKiller 11 years ago
Orange Belt
2

Error 1918 means that the ODBC entries in your tables or in registries are not proper.

If you are configuring through registeries, then check for HKLM\Software\ODBCINST.INI and HKLM\Software\ODBCINST.INI\ODBC Drivers, that your driver exists.

Else if you are configuring through tables, then check for ODBCAttribute table that Setup and Driver attributes has the path to the dll.

Posted by: nbafifa02 11 years ago
Senior Yellow Belt
2

Thanks for all your help guys. I packaged the main application EXE separately from the SQL Native Client msi. It worked beautifully. Actually packaging them separately is much easier than packaging them into one package because far less files and regitry keys got captured. Thanks again!


Comments:
Posted by: jagadeish 11 years ago
Red Belt
2

Do not think about capturing any msi in future also until and unless it is mandatory and no other go..

Posted by: SMal.tmcc 11 years ago
Red Belt
1

Go to MS's site and download the client for 64bit and try using that to install prior to installing tyre management application

http://www.microsoft.com/en-gb/download/details.aspx?id=30440

Posted by: sumitsingh1984 11 years ago
Second Degree Green Belt
1

Hi,

I would extract the SQL Client seperately and treat that as a dependency package for the main application.

Check if main applciation is a exe or MSI and based on that take necessary actions.

If its a exe ,take the capture to have a MSI and make sure to install the SQL client before taking the first snapshot.

 

 

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ