2009-10-17 107 views
3

我已经编写了一个使用SQL Server Compact Edition数据库作为后端的Windows Mobile Standard/Smartphone应用程序(我的第一个应用程序)。我在Visual Studio中的模拟器中测试没有问题,因为它为我安装了SQL Server CE到模拟器。但是,当我创建我的部署项目时,我的手机上安装的结果CAB文件正常,但由于无法找到SQL Server CE库而无法运行。用我的Windows Mobile应用程序部署SQL Server CE

是否需要将SQL Server CE作为单独的CAB(如.NET CF 3.5)进行安装?如果是这样,我在哪里可以得到这个(我没有在MS的网站上找到这样的东西)?或者我可以在我的部署中仅包含the System.Data.SqlServerCe.dll文件吗?

编辑:

我添加上述DLL的部署和它的工作原理,以便回答我最初的问题。但我有更多应用程序的想法,其中大部分也将使用SQL Server CE。我宁愿为SQL Server CE库提供单一源代码,而不是在每次安装时都包含一个DLL副本。我想我可以为DLL创建自己的安装文件夹,但我猜测这可能是一种更“正式”的方式。所以我回到了我的第一个问题:SQL Server CE是否有CAB?我不想在用户已经拥有它们的情况下安装文件,并且如果我不需要的话,肯定不会安装重复文件。

回答

3

我猜我的手指比我的大脑快。这里的移动版本安装SQL Server精简:Microsoft SQL Server Compact 3.5 for Windows Mobile

编辑:

我想添加更多的信息,对于遇到此寻找同样的信息,我是谁。

首先,我发现通过两种方式将SqlCe包含在移动应用程序中:使用安装CAB或在应用程序中包含7个SqlCe DLL。就我个人而言,我选择了前者,以便SqlCe可以被其他应用程序使用。我的设备的所有文件(包括CAB或DLL)都位于C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i *中,但我又拥有一个ARM处理器,对其他设备我什么都不知道。

对我来说,第二个问题是我自己的每个项目中包含的DLL个人库。我不想为每个应用程序安装重复项,所以我从我的部署项目中删除了这些DLL,并为这些文件创建了一个新的部署。

我的最后一个问题是如何在不使用户负担过重的情况下安装所有设备。大多数用户不是开发人员,我不希望他们安装三个单独的CAB文件(如果他们还没有.NET CF 3.5,则只有四个文件)只是为了使用我的应用程序。我在Multicab中找到了答案,这是一个示例部署项目,它可以链接CAB文件并仅安装必需的部分。虽然它是一个C++项目(我亲自使用C#),但在WinMo 6 SDK中有一个白皮书,它介绍了如何创建uber-CAB文件。白皮书和multicab项目可在C:\Program Files\Windows Mobile 6 SDK\Samples\Common\CPP\Win32\multicabinstall *上找到。

希望这可以帮助别人。

*假设安装已执行到默认目录。

0

你看商业选择吗?

我在很多项目中都使用过移动式打包程序,并且取得了很好的成功。

它不是开源或免费的。您必须为此付费,但您可以节省数小时处理部署问题的时间。

检查出来。 http://www.mobilepackager.com

+0

我喜欢这个。我现在买不起,但没问题存一两个月。感谢您的高举。 – 2009-11-05 22:32:54

相关问题