如何使用 SQL Express 使在 WinForms .NET 3.5 中开发的软件具有可移植性
Posted
技术标签:
【中文标题】如何使用 SQL Express 使在 WinForms .NET 3.5 中开发的软件具有可移植性【英文标题】:How to make software developed in WinForms .NET 3.5 with SQL Express portable 【发布时间】:2010-10-23 09:00:28 【问题描述】:我发现为 windows xp/vista/7 创建安装和部署包真的很痛苦 所以我的问题是我可以使用任何第三方工具(例如瘦应用程序)使我的应用程序可移植吗?
我的应用程序需要安装 dot net 3.5 框架和 sql express 05 我想把它放在 USB 驱动器上,用户可以直接从 USB 驱动器执行它,无需任何设置和部署,如果有任何其他方法可以实现软件的可移植性,请让我知道吗?
谢谢!
【问题讨论】:
【参考方案1】:为了检查是否安装了 .Net 3.5 和 sql express,您可以检查它们是否已在注册表中注册。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion - CurrentVersion
但是您无法使用 3.5 编译的程序集检查这一点,因此您需要一个非 dotnet 应用程序来执行此操作,例如安装程序。
您要么必须用 c++ 之类的东西创建一个启动器,要么您可以创建一个 vb 脚本启动器,在启动您的 .net 应用程序之前检查先决条件。
【讨论】:
价格昂贵,还是执行时间昂贵?您还想将 .Net 3.5 和 SQL Express 与应用程序一起打包吗?【参考方案2】:如果没有安装在本地硬盘上,SQL Express 和 .NET Framework 都不会运行。
SQL Express 的来源:http://social.msdn.microsoft.com/Forums/en-US/sqlsetupandupgrade/thread/fc729d31-8a0b-4156-ab75-4fec652a438b。
【讨论】:
是的,但 ThinApp 是虚拟机。这并不奇怪。如果想让它在没有这样一个系统的情况下作为一个普通的 Windows 应用程序执行,那是行不通的。【参考方案3】:@Mikael 已经讲述了 .NET 检测的技巧,你应该看看。
我只想补充一点,对于便携式应用程序,您应该使用 SQL Server Compact 版本而不是 Express,
Link
【讨论】:
以上是关于如何使用 SQL Express 使在 WinForms .NET 3.5 中开发的软件具有可移植性的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SQL Express 2012 获取数据更改通知?
如何使在Swift中使用UIScrollView进行滚动和缩放
如何使用VS2008中集成的SQL Server 2005 Express?