开发者

Delphi 2010, SQL Server 2008, dbExpress. How to distribute to the end user

开发者 https://www.devze.com 2023-03-21 04:45 出处:网络
I use Delphi, but I\'m beginner with databases. I installed MSSQLServer 2008 Express on my PC, started开发者_JS百科 developing ... I used TSQLConnection, made login form [hostname, databasename, user

I use Delphi, but I'm beginner with databases.

I installed MSSQLServer 2008 Express on my PC, started开发者_JS百科 developing ... I used TSQLConnection, made login form [hostname, databasename, username, pass] and everything works ok on my PC.

But it doesn't work on my client's PC. I don't know what to distribute with my exe to make it portable.

1) Error 1 : login failed, "dbxmss.dll is missing". I found the dll in my Delphi\bin and told my client to put it in exe folder. Q1) Is that the right place for dll ?

2) Error 2 : After that he got : login failed, catastrophic failure. I read tons of forum posts, it looks like I should send him 'SQL Server Native Client 10' to install. Q2) Would that solve the problem ? I don't want to stress my client with another failure. Q3) If yes, could I just pick up dll(s) that SQL NC 10 installs and distribute dll(s) instead of complete SQL NC 10 installation ?

Q4) Is there anyway to tell to Delphi "pack me whatever is needed besides exe" ?

Thanks in advance


To simulate the end user environment on your computer, I recommend to use a virtual machine (like VirtualBox) and test the installation steps there. Using the snapshot feature, you can revert to older virtual machine images, for example before installation of database server or client software. This will enable you to prepare and test the software installer for your application without bothering end users, on as many target OSes as you need to support.


Q1: The app folder is a fine place to put the dbExpress driver dll

Q2: Yes, client needs to install the SQL Native Client.

Q3: No, you probably just can't grab the dlls and have it work. The driver components need registered for OleDB and ODBC to work.

Q4: Not really especially when you're relying on 3rd Party components.

Also, mjn's answer of using VirtualBox to simulate your end user's environment is spot on to help prevent this sort of stuff from happening in the future.

0

精彩评论

暂无评论...
验证码 换一张
取 消