0

我想在我的客户端位置安装我的 Windows 应用程序。它是一个多用户应用程序。10 个系统和 1 个服务器。因此,我在所有 10 个系统上安装了客户端设置,并在服务器系统上安装了服务设置。

如何在客户端服务器中保护我的数据库?我正在使用 VS2010 和 SQL Server 2008 R2。没有安装 SQL Server Management Studio Express,如何安装我的数据库?以及如何在服务设置中添加我的数据库?任何人都可以向我展示此类应用程序的示例吗?

4

1 回答 1

0

Windows 安装程序没有任何开箱即用的支持与应用程序一起部署数据库,您必须编写自己的组件,该组件在部署期间创建数据库并将其插入 MSI。我在我的项目中做了同样的事情。按照步骤。

Creating database with Console App

  1. 首先忘记Windows Installer。
  2. 创建一个控制台应用程序。
  3. 添加使用任SMO(SQL server Management Object)一或简单的 Sql 命令执行脚本的方法。
  4. 在这里查看我的答案,它可以读取 .sql 文件并在 SQL 服务器上执行它。
  5. 您需要做的是保留一个 .sql 脚本文件,该文件可以在执行时创建数据库。
  6. 您必须将该文件路径传递给控制台应用程序中的方法。

Executing console app during the installation

  1. 现在您有一个控制台应用程序,它可以在执行时创建一个数据库,前提是正确的脚本文件路径传递给该方法。
  2. 将此控制台 exe 和 sql 脚本文件添加到您的 MSI 包中。所以这两个都将放在应用程序安装文件夹下。
  3. 安装程序类添加到您的项目中。
  4. 在 install 方法中只需执行控制台 exe 文件。

Code

public override void Install(IDictionary stateSaver)
{
   base.Install(stateSaver);

   Process process = new Process();
   ProcessStartInfo info = new ProcessStartInfo();
   process.StartInfo = info;

   info.FileName = Path.Combine(this.Context.Parameters["targetdir"], "ConsoleApp.exe");
   info.UseShellExecute = false;

   process.Start();

}
于 2013-11-03T11:37:42.310 回答