2

具体来说,SQL Express。我有一个内部 winform 应用程序,如果他们有笔记本电脑,需要安装SQL Express它才能启用某些功能。现在我正在为每个人安装它,因为它不会在花费时间之外“伤害”桌面用户。在我检测到它们是否在笔记本电脑上之后,我想让它安装 SQL。

使用 Click Once,我有哪些选择?据我所知,我需要取消选中SQL Express作为先决条件并在我的启动代码中手动处理它。我将如何/在哪里做到这一点?

有没有更好的办法?如果我切换部署模型,是否会大大增加更新的工作量/时间?

4

1 回答 1

4

先决条件是 ClickOnce 中最容易被误解的部分。ClickOnce 只是在客户端和服务器之间下载和同步文件的技术。Visual Studio 创建的引导程序 (setup.exe) 与 ClickOnce 无关,只是在完成后启动 ClickOnce 应用程序。这很令人困惑,因为 Visual Studio 将它们混合在一起,所以每个人都认为它们是相关的。

如果您不希望每个人都拥有 SQL Express,请将其从您的 Visual Studio prereqs 中删除。从那里,只要您的应用程序可以在没有安装 SQL Express 的情况下启动,您就可以在代码中手动处理它。在应用程序启动时,您可以检查注册表以查看是否安装了 SQL Express,然后下载它并启动安装程序。我使用 Crystal Reports 安装程序完成了此操作,结果正常。

于 2010-10-14T14:35:22.890 回答