一.创建程序安装包
1) 创建安装和部署项目:
① 右击当前解决方案——Add——New Project,在弹出的窗口中选择Other Project Types——Setup and Deployment——Setup Project;然后在下方文本框中输入Name,点击“OK”按钮。新添加的安装和部署项目会出现在解决方案列表中。
2) 创建组件注册项目:
① 右击当前解决方案——Add——New Project,在弹出的窗口中选择 Visual C#——Class Library;然后在下方文本框中输入Name,点击“OK”按钮。新添加的项目会出现在解决方案列表中。
② 右击该项目——Add——New Item,在弹出的窗口中选择Installer Class;在下方文本框中输入Name,点击“Add”按钮添加文件并关闭窗口。
③ 选中刚添加的文件,按F7转到代码页,在构造函数下方添加以下方法:
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
// 注册CDO组件
// /s 关闭注册成功的提示窗口显示,/c退出cmd窗口
System.Diagnostics.Process.Start("cmd", @"/s regsvr32 C:\WINDOWS\system32\cdosys.dll /c");
}
注意:需要using System.Configuration.Install;
3) 在安装和部署项目中添加要安装的项目和文件:
① 添加项目:右击项目——View——File System,在出现的界面中,右击左列的Application Folder——Add——Project Output,在弹出的窗口中选择相应的Project,然后点击“OK”按钮。多个项目重复多次。在这里我们假设我们开发的项目为MainProject,注册组件的项目名称为RegDll,那么我在弹出的窗口中先选择项目MainProject,点击“OK”后,我在重复添加项目RegDll。
② 添加文件:右击项目——View——File System,在出现的界面中,右击左列的Application Folder——Add——File,在弹出的窗口中选择C:\WINDOWS\system32 \misexec.exe;
③ 创建快捷方式:在右列中选择Primary output from MainProject(Active),右击 选择Create Shortcut to Primary output from MainProject(Active),你可以按F2给新添加的快捷方式更名。右击msiexec.exe 选择 Create Shortcut to misexec.exe,你可以按F2将刚生成的快捷方式更名为“卸载”;
④ 创建程序组:右击左列的User’s Programs Menu选择 Add——Fold,你可以将新创建的文件夹更名,当软件安装完毕后它将出现在程序组中,然后将上一步创建的两个快捷方式拖到新创建的文件夹中。
⑤ 实现“卸载”的功能:选中安装和部署项目,按F4,复制ProductCode的内容,然后选中“卸载”快捷方式,按F4,将Arguments 的内容更改为:/x 刚复制的ProductCode的内容。
4) 实现在安装时注册组件:
右击安装和部署项目——View——Custom Actions,在出现的界面中右击左列的Install——Add Custom Action,选择Application Folder中的Primary output from RegDll(Active)。
5) 自动检测当前系统中MDAC、.Net Framework版本、Windows Installer3.1是否满足版本要求,如果不满足则安装:
右击安装和部署项目选择属性,在弹出的窗口中点击按钮“Prerequisites”。选中MDAC2.8、.Net Framework2.0、Windows Installer3.1;然后选中Download prerequisites from the same location as my application 单选按钮,点击“OK”,再点击“OK”。
6) Rebuild项目生成安装包。
二.创建数据库安装包(Sql Server2000):
1) 原理说明:实际上是执行了创建数据库和还原数据库的SQL。
2) 制作步骤:
① 创建安装和部署项目,参考一。
② 将数据库备份为DB.dat,创建一个空文本文件CreateSql.sql(一个根据备份还原数据的脚本)。
③ 创建数据安装的Class Library项目,然后新建一个 Installer Class。程序参照附带的项目文件夹中相应的类文件。
④ 添加项目:右击项目——View——File System,在出现的界面中,右击左列的Application Folder——Add——Project Output,在弹出的窗口中选择上一步中创建的Class Library Project,然后点击“OK”按钮。
⑤ 添加文件:右击项目——View——File System,在出现的界面中,右击左列的Application Folder——Add——File,在弹出的窗口中选择数据库备份文件DB.dat,CreateSql.sql;
⑥ 添加用户界面:右击项目——View——User Interface,在出现的界面中右击Install——Start——Add Dialog,选择Textboxes(A),将其移动到Installation Folder 下方并选中,然后按F4,这里我们就用一个输入框用来输入sa密码,所以其它的都设置不可见,Edit2Visible、Edit3Visible、Edit4Visible都设置为False。
⑦ 添加Custom Actions:右击项目——View——Custom Actions,在出现的界面中右击Install——Add Custom Action,在弹出窗口中选择第③步创建的项目(操作方法同一)。选中新添加的Custom Action,按F4,将属性窗口中的CustomActionData的内容设为:/pwd=[EDITA1] /targetdir="[TARGETDIR]\"。
3) 编辑项目生成安装包。