一.准备必要的文件
1. SQL脚本文件,生成以后安装过程中需要的表和存储过程等等;
![](https://i-blog.csdnimg.cn/blog_migrate/29e2d6b68f80042e77d66b3b0f4dcfe2.png)
生成之后,就暂时把它命名为db.sql(注意大小写)
2.LisenceFile.rtf的安装文件,因为我的系统是个人的,而且free的,所以就没有做。这个以后也是要用到的。
二.在自己现有的项目里面创建部署项目:
1. 在“文件”菜单上指向“添加项目”,然后选择“新建项目”。(图1-2)
2. 在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“Web 安装项目”。在“名称”框中键入 Test Installer。(图1-3)
3. 单击“确定”关闭对话框。
4. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。
5. 在“属性”窗口中,选择 ProductName 属性,并键入 GCRM。
![](https://i-blog.csdnimg.cn/blog_migrate/d85afb2b7f6c78d3dad4ca2b94ad8a5e.png)
(1-2)
![](https://i-blog.csdnimg.cn/blog_migrate/de67275f2782ef860a91bc24198292fa.png)
(图1-3)其他项目的作用可以参考Webcast
三。将 VbNetTest项目的输出添加到部署项目中(假如你的虚拟目录是SQLANDASPNet)
1. 在“文件系统编辑器”中,选择“Web 应用程序文件夹"。在“操作”菜单上,指向“添加”,然后选择“项目输出”。(图1-4)
2. 在“添加项目输出组”对话框中,选择“项目”下拉列表中的“SQLANDASPNet”。
3. 单击“确定”关闭对话框。
4. 从列表中选择“主输出”和“内容文件”组,然后单击“确定”。(图1-5)
![](https://i-blog.csdnimg.cn/blog_migrate/2f8e62c34cdd87b2e904bed3544ce045.png)
(图1-4)
![](https://i-blog.csdnimg.cn/blog_migrate/5572247213a0734a1808337929323b42.png)
(图1-5)其他的作用可以参考webcast,源文件就是所有项目的的文件
四.
创建自定义安装对话框
1. 在解决方案资源管理器中选择“Test Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“用户界面”。 (图1-6)
2. 在用户界面编辑器中,选择“安装”下的“启动”节点。在“操作”菜单上,选择“添加对话框”。
3. 在“添加对话框”对话框中,选择“许可协议”对话框,然后单击“确定”关闭对话框。 (注:我没有添加,因为暂时我还是不需要,需要的要添加一下哦)
4. 在“添加对话框”对话框中,选择“文本框 (A)”对话框,然后单击“确定”关闭对话框。 (图1-7)
5. 在“操作”菜单上,选择“上移”。重复此步骤,直到“文本框 (A)”对话框位于“安装文件夹”节点之上。
6. 在“属性”窗口中,选择 BannerText 属性并键入:安装数据库.。
7. 选择 BodyText 属性并键入:安装程序将在目标机器上安装数据库。
8. 选择 Edit1Label 属性并键入:数据库名称:。
9. 选择 Edit1Property 属性并键入 CUSTOMTEXTA1。
10. 选择 Edit1Value 属性并键入:GsCrm。
11. 选择 Edit2Label 属性并键入:服务器名:。
12. 选择 Edit2Property 属性并键入 CUSTOMTEXTA2。
13. 选择 Edit2Value 属性并键入:(local)。
14. 选择 Edit3Label 属性并键入:用户名:。
15. 选择 Edit3Value 属性并键入:sa。
16. 选择 Edit3Property 属性并键入 CUSTOMTEXTA3。
17. 选择 Edit4Label 属性并键入:密码:。
18. 选择 Edit4Property 属性并键入 CUSTOMTEXTA4。
19. 选择 Edit2Visible、Edit3Visible ,并将它们设置为 False。(图1-8)
(图1-7)
(图1-8)
(五).创建自定义操作
1. 在解决方案资源管理器中选择“Test Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“自定义操作”。(图1-9)
2. 在自定义操作编辑器中选择“安装”节点。在“操作”菜单上,选择“添加自定义操作”。
3. 在“选择项目中的项”对话框中,双击“应用程序文件夹”。
4. 选择“主输出来自 DBCustomAction(活动)”项,然后单击“确定”关闭对话框。
5. 在“属性”窗口中,选择 CustomActionData 属性并键入 /dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]/"。 (图1-10)
附/targetdir="[targetdir]/"是安装后的目标路径,为了在dbcustomaction类中获得安装后的路径,我们设置此参数。
另外,安装后的路径也可以通过Reflection得到:
Dim Asm As System.Reflection.Assembly = _
System.Reflection.Assembly.GetExecutingAssembly
MsgBox("Asm.Location")
(图1-9)
(图1-10)
呵呵,已经好多了,剩下来的是关键性步骤,我花了好多时间研究。
(六)创建安装程序类
1. 在“文件”菜单上指向“新建”,然后选择“项目”。
2. 在“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic 项目”,然后选择“模板”窗格中的“类库”。在“名称”框中键入 DBCustomAction。
3. 单击“打开”关闭对话框。
4. 从“项目”菜单中选择“添加新项”。
5. 在“添加新项”对话框中选择“安装程序类”。在“名称”框中键入 DBCustomAction。
6. 单击“确定”关闭对话框。(图1-11,1-12)
注:这里是在原来的项目上建立一个简单的安装文件就可以了。
(图1-11)
添加后的效果图:
(图1-12)这里的sql文件是要等一下添加的
(七)
添加文件
1. 将SQL Server生成的脚本文件db.sql添加到“Test Installer”项目(图1-12)
2. 将安装文件LisenceFile.rtf添加到“Test Installer”项目
3. 在用户界面编辑器中,选择许可协议,设置LisenceFile属性为LisenceFile.rtf文件
(八)
一下的代码是整个部署的最重要的一部分了
将代码添加到安装程序类中,dbcustomaction.vb类
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/1fafa152dcca7dbe541ec037bdd06a3a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6e8208c56439ff6b3784ad40e3ef0065.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/7b79b6caff4c7aff6519ce3f7308b2f5.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/10ed4b6ec856e50a6ac3ab15dd0e9d08.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/10ed4b6ec856e50a6ac3ab15dd0e9d08.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7b79b6caff4c7aff6519ce3f7308b2f5.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/9ab012f0397fbe1885908852cb19828b.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
32
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
33
![](https://i-blog.csdnimg.cn/blog_migrate/10ed4b6ec856e50a6ac3ab15dd0e9d08.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7b79b6caff4c7aff6519ce3f7308b2f5.gif)
34
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
35
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
36
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
37
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
38
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
39
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
40
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
41
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
42
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
43
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
44
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
45
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
46
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
47
![](https://i-blog.csdnimg.cn/blog_migrate/9ab012f0397fbe1885908852cb19828b.gif)
48
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
49
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
50
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
51
![](https://i-blog.csdnimg.cn/blog_migrate/10ed4b6ec856e50a6ac3ab15dd0e9d08.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7b79b6caff4c7aff6519ce3f7308b2f5.gif)
52
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
53
![](https://i-blog.csdnimg.cn/blog_migrate/9ab012f0397fbe1885908852cb19828b.gif)
54
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
55
![](https://i-blog.csdnimg.cn/blog_migrate/9ab012f0397fbe1885908852cb19828b.gif)
56
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
57
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
58
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
59
![](https://i-blog.csdnimg.cn/blog_migrate/10ed4b6ec856e50a6ac3ab15dd0e9d08.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7b79b6caff4c7aff6519ce3f7308b2f5.gif)
60
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
61
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
62
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
63
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
64
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
65
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
66
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
67
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
68
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
69
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
70
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
71
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
72
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
73
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
74
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
75
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
76
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
77
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
78
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
79
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
80
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
81
![](https://i-blog.csdnimg.cn/blog_migrate/9ab012f0397fbe1885908852cb19828b.gif)
82
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
83
![](https://i-blog.csdnimg.cn/blog_migrate/10ed4b6ec856e50a6ac3ab15dd0e9d08.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7b79b6caff4c7aff6519ce3f7308b2f5.gif)
84
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
85
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
86
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
87
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
88
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
89
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
90
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
91
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
92
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
93
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
94
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
95
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
96
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
97
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
98
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
99
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
100
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
101
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
102
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
103
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
104
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
105
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
106
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
107
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
108
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
109
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
110
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
111
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
112
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
113
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
114
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
115
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
116
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
117
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
118
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
119
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
120
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
121
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
122
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
123
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
124
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
125
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
126
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
127
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
128
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
129
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
130
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
131
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
132
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
133
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
134
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
135
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
136
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
137
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
138
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
139
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
140
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
141
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
142
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
143
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
144
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
145
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
146
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
147
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
148
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
149
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
150
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
151
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
152
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
153
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
154
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
155
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
156
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
157
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
158
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
159
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
160
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
161
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
162
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
163
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
164
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
165
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
166
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
167
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
168
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
169
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
170
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
171
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
172
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
173
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
174
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
175
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
176
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
177
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
178
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
179
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
180
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
181
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
182
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
183
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
184
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
185
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
186
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
187
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
188
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
189
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
190
![](https://i-blog.csdnimg.cn/blog_migrate/9ab012f0397fbe1885908852cb19828b.gif)
191
![](https://i-blog.csdnimg.cn/blog_migrate/f068e41c8247394ebff1d25b3f1493ed.gif)
192
![](https://i-blog.csdnimg.cn/blog_migrate/563d1c66b947be6d42435dc33dd956f5.gif)
193
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
194
![](https://i-blog.csdnimg.cn/blog_migrate/c1427ba3fbbbd22922ef4dce179c14e5.gif)
有点难度的就是那个Process类,它调用了osql.exe程序,来执行sql语句osql -U,-P,,-d,-i。
web.config的修改代码是利用xml的语法实现。不是很难理解。
最后编译生成!如图:
安装界面:如图
哈哈,总算写完了,也不知道有没有写好。
最后还是感谢李洪根老师和微软的讲师。结合他们的共同的经验,部署起来真的很简单。