【问题标题】:Deploy WPF application on a friend PC [closed]在朋友 PC 上部署 WPF 应用程序 [关闭]
【发布时间】:2020-12-10 00:25:19
【问题描述】:

我开发了一个连接到 SQL Server 数据库的 WPF 应用程序。我正在使用 SQL Server Express Edition 和 Visual Studio Community Edition。我需要在我的一个朋友(他是客户)上运行该应用程序。我不需要将它发布到任何服务器。我发布了应用程序并生成了 setup.exe 文件。当我在朋友的 PC 上运行设置文件然后运行应用程序时,应用程序打开但不显示任何内容。我是否需要在我的朋友 PC 和 .NET 框架上安装 SQL express,或者我该怎么办?

【问题讨论】:

  • “我是否需要在我的朋友 PC 和 .NET 框架上安装 sql express 或者我该怎么办?” -- 如果 SQL Server Express 没有安装在PC,您的应用程序将连接到哪个服务器实例?你的问题不清楚。一方面,您似乎知道您的应用程序尝试连接到哪个服务器;另一方面,如果您知道这一点,您似乎就会知道服务器是否需要安装在 PC 上。那些你不清楚的地方呢?
  • 这是我第一次开发和部署 wpf 应用程序。我需要知道我的最佳实践。请告知是否可以支持。
  • “我需要了解我的最佳实践”——听起来你需要先让它发挥作用。一旦你有了实际可行的东西,那么你就可以担心你的实现是否符合社区对“最佳实践”的看法。

标签: wpf client execution setup-project


【解决方案1】:

首先,您必须了解,SQL 服务的任何实例 - 是另一个应用程序,无需您的应用程序即可工作。

其次,在 .NET Framework 中,存在一些与 SQL Server 一起工作的提供程序,它们存在于 System.Data.SqlMicrosoft.SqlServer.Server

System.Data.Sql - 需要您连接到 SQL Server 并运行查询。使用 SQL Server 对象的第二个命名空间。

当您创建空的 WPF 应用程序时 - 它无需任何数据连接即可工作,只需清空 WPF 表单即可。因此,您编写了一个连接到 SQL Server 的代码,其中您在 SqlConnection 字符串see more中描述了 SQL Server 网络地址和安全类型(sql 登录名 + 密码,或使用 Windows 身份的 SSPI)。

然后你可以打开到 sql server 的连接(不要忘记防火墙),然后运行你的查询来获取数据。

因此,您不需要在使用您的应用程序的任何机器上安装 SQL Server。在某些情况下,您需要通过 SQLSysClrTypes.msi 安装 SQL 类型,但不是 SQL 实例。

您可以了解如何使用实体框架创建简单的 WPF 应用程序(使用 sql 数据)here

【讨论】:

  • 谢谢。但是我需要知道为什么在我创建 setup.exe 文件并在我朋友的电脑上运行它之后应用程序没有显示任何内容。我已经完成了应用程序,现在它无法正常工作。我以为我可能需要在他的机器上安装 sql server,但现在据我所知,它不是必需的。那么你能告诉我如何将它部署到我的朋友机器上并解决这个问题吗?
  • 您可以使用 ClickOnce 分发您的应用程序。见docs.microsoft.com/en-us/visualstudio/deployment/…所以。如果您的应用程序安装正确,但是当您运行它时 - 永远不会发生变化。请参阅操作系统中的应用程序日志。可能有一些事件,为什么应用程序没有启动或崩溃。我建议您使用 ClickOnce,因为它很简单,并且您会获得清单文件,其中会检查 .Net Framework 的版本以及您的应用程序使用的一些其他组件,然后再将其安装到另一台计算机上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
  • 1970-01-01
  • 2015-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
相关资源
最近更新 更多