在我的 WPF 应用程序安装程序中包含 SQLCE (3.5)

Posted

技术标签:

【中文标题】在我的 WPF 应用程序安装程序中包含 SQLCE (3.5)【英文标题】:Including SQLCE (3.5) with my WPF App Installer 【发布时间】:2011-04-05 21:45:46 【问题描述】:

我使用 Visual Studio 安装程序项目来分发我的 WPF 应用程序。我需要包括对 SQLCE 3.5 的支持。

似乎有两种方法可以包含 SQLCE:

    将其添加为先决条件,我可以将其包含在我的文件中,或者通过引导程序从 MS 网站自动下载(类似于 .NET 框架的包含方式)

    只需在安装目录中包含 System.Data.SqlCe.dll 文件以及我自己的 DLL。

默认情况下,它似乎想使用上面的选项 2,但看到这让我大吃一惊,因为 (i) 如果 SQLCE 已经在机器上怎么办 - 为什么要添加第二个副本以及 (ii) 我如何确定肯定安装了任何其他 SQLCE 依赖项。所以我倾向于选项 1,尽管我想知道它是否不是默认选择的充分理由。

想法?

【问题讨论】:

我建议使用先决条件。这是大多数安装人员所做的。在安装不需要管理员权限的每用户应用程序时,通常建议使用私有程序集。 【参考方案1】:

Microsoft 描述了您描述的两个选项here,两者都是可行的解决方案。使用基于文件的私有部署,您只需复制相同的程序集(假设它已安装)。

您的应用程序将使用您在安装程序中包含的程序集,而其他应用程序将继续使用它们之前使用的任何程序。

【讨论】:

感谢您的链接 - 这很好地解释了这些选项。我最终将部署几个应用程序,所以我认为最好遵循引导程序先决条件 - 这意味着只有第一个应用程序的安装需要处理 SQLCE,并且所有安装包都将具有不错的小文件大小。

以上是关于在我的 WPF 应用程序安装程序中包含 SQLCE (3.5)的主要内容,如果未能解决你的问题,请参考以下文章

使用具有自定义扩展名的 SDF 文件(SQLCE 数据库)作为我的 WPF 应用程序的数据文件类型

在安装项目中包含文件依赖项

在我的应用程序中包含 iPad/iPhone 的屏幕截图 [关闭]

Django 在我的主 url.py 中包含应用程序 url

在 ClickOnce 应用程序中包含文件夹

在 clickOnce 安装中包含 ACE OLEDB 12 驱动程序