在开始之前,假设已经阅读了相关的文章并了解了基本的步骤。本文将指导如何创建一个MSI类型的安装包,该安装包在点击时会首先安装SQL Server CE 2.0,然后安装Pocket PC应用程序。
如果正在阅读本文,相信解决方案包含三个项目,类似于下面的图片:
现在,需要按照以下步骤进行:
复制主项目中现有的.ini文件,并重命名新文件。将其命名为Sqlce.ini。
将Sqlce.ini中的所有代码替换为以下代码:
[CEAppManager]
Version = 1.0
Component = Ordbog
[Ordbog]
Description = SQL Server CE
CabFiles = sqlce.ppc3.arm.CAB,sqlce.ppc3.mips.CAB,sqlce.ppc3.sh3.CAB,
sqlce.ppc3.x86.CAB,sqlce.wce4.armv4.CAB,sqlce.wce4.x86.CAB
注意!!!将“Ordbog”替换为主项目名称。
右键点击安装项目,选择“添加”>>“文件”。依次选择以下文件:
可以在以下位置找到这些文件:
Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\[Processor type]
右键点击安装项目,选择“添加”>>“文件”。选择第一步中创建的.ini文件。解决方案应该看起来像下面这样(图片):
在CustomInstaller.cs中,添加这个新的事件处理器,紧挨着另外两个事件处理器:
C# this.BeforeInstall += new InstallEventHandler(CustomInstaller_BeforeInstall);
接着,添加以下代码片段:
C# private void CustomInstaller_BeforeInstall(object sender, InstallEventArgs e)
{
string arg = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Sqlce.ini");
RunAppManager(arg);
}
重新构建CustomInstaller项目。
在CustomInstaller中的更改生效之前,有时需要移除安装项目中对CustomInstaller程序集的旧引用,并重新添加。还需要在安装项目中的自定义操作中执行相同的操作。