我正在使用Inno-setup创建设置。
在安装过程中,必须创建SQL Server数据库。我想让用户能够选择必须创建数据库的现有SQL Server实例(如果存在)。
所以,我想在设置中做的是查询网络(和本地机器)的SQL Server实例。
此外,当用户选择了一个实例时,我想验证是否该实例上存在一个具有特定名称的数据库。
谁知道我怎么能这样做?或者也许有人可以给我一些好方向的指示?
答案 0 :(得分:1)
Inno Setup支持调用外部DLL函数,因此您应该编写一个合适的帮助器DLL。托管的.net DLL只能通过COM接口使用,否则你需要一个非托管的DLL。
有效的调用约定是:'stdcall'(默认值),'cdecl','pascal'和'register'。
答案 1 :(得分:0)
尝试以下原生.Net库调用:
using System.Data.Sql;
var instance = SqlDataSourceEnumerator.Instance;
DataTable dataTable = instance.GetDataSources();
结果数据表包含以下列:
<强>服务器名称强>
服务器名称。
<强>实例名强>
服务器实例的名称。如果服务器作为默认实例运行,则为空。
<强> IsClustered 强>
指示服务器是否属于群集。
版本强>
服务器版本(SQL Server 2000为8.00.x,SQL Server 2005为9.00.x)。