代码改变世界

VS 打包完美解决方案

2009-11-30 23:43  圣殿骑士  阅读(2951)  评论(3编辑  收藏  举报

VS打包完美解决方案

创建微软安装包

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转到代码页,在构造函数下方添加以下方法:

01 protected override void OnAfterInstall(IDictionary savedState)
02         {
03  
04             base.OnAfterInstall(savedState);
05  
06             // 取得逻辑地址
07  
08             string LogicDir = Context.Parameters["LogicDir"];
09  
10             // 注册CDO组件
11  
12             // /s 关闭注册成功的提示窗口显示,/c退出cmd窗口
13  
14             System.Diagnostics.Process.Start("cmd", @"/s regsvr32 " + @LogicDir + @"ComUtilities.dll /c");
15  
16             //using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt"))
17  
18             //{
19  
20             // sw.WriteLine(@"/s regsvr32 " + @LogicDir + @"ComUtilities.dll /c");
21  
22             // sw.WriteLine("_______————————————————————————");
23  
24             // sw.Close();
25  
26             //}
27  
28         }

注意:需要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)。

clip_image002

修改“主输出来自RegDll (活动)”的CustomActionData属性为 /LogicDir="[TARGETDIR]\"

clip_image004

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项目生成安装包。