产品安装包程序开发
CMMI实施标准规范

CMMI实施标准规范附件1:CMMI实施标准规范CMMI实施标准项目等级项目成本(项目启动-项目结项)项目经理开发人员(包含需求调研人员)QA 测试人员1 100万以上1人5-12人专职1人2-3人2 50~100万1人4-8人专职1人1-2人3 10~50万1人3-6人兼职1人1人4 0~10万1人1-4人兼职1人1人项目划分标准1.项目成本:100万元以上人员:配备项目经理1人,开发人员5-12人,开发人员中包含需求调研人员,专职QA 1人,测试人员2-3人CMMI执行过程:在项目管理中执行的活动以及产品项目规划活动产品制定项目的初步计划及下属计划初步《项目计划》及其下属计划,《项目进度表》详细估算《项目估算报告》详细裁剪《PDP说明》制定详细的项目计划《项目进度表》《项目计划》《干系人计划》《评审计划》评审项目计划及下属计划《评审通知》《评审报告》项目监控活动产品项目状况跟踪《个人周报》《里程碑报告》《项目周报》举行项目组周例会《会议记录》里程碑评审《里程碑报告》《里程碑评审记录》项目结项活动产品代码复用总结《代码复用总结》结项准备《结项报告》初稿《QA总结报告》结项申请结项评审《结项报告》终稿资料纳入组织级过程资产库《组织级度量数据库》编写系统测试用例《系统测试用例》评审测试用例缺陷跟踪管理《缺陷记录单》执行系统测试《缺陷记录单》缺陷统计分析《缺陷统计分析报告》客户验收活动产品验收准备《产品打包清单》,程序安装包产品打包现场安装调试用户使用培训试运行《验收问题记录》(客户验收报告附件)验收交付《产品交接验收单》《客户验收报告》服务与维护活动产品受理客户问题《服务与维护记录》客户服务准备指导客户解决问题《服务与维护记录》移交产品维护人员《服务与维护记录》问题评审《服务与维护记录》进行产品维护并验证向客户说明原因问题处理结果调查《服务与维护报告》《客户满意度调查表》同行评审活动产品评审准备《评审报告》初稿《评审通知》评审会议《评审报告》中的“评审会议记录”《缺陷记录单》纠正异常《缺陷记录单》跟踪异常《缺陷记录单》在支撑过程中执行的活动以及产品质量保证制定详细《质量保证计划》详细《质量保证计划》评审《质量保证计划》《质量保证计划》过程和产品质量检查《过程检查表》《产品检查表》《QA审计报告》《QA里程碑报告》《QA周报》《QA月报》不符合项跟踪处理《过程检查表》《产品检查表》《QA审计报告》《QA里程碑报告》《QA周报》《QA月报》质量保证总结报告《QA总结报告》度量分析收集和分析度量数据项目度量数据库存储和通报度量分析结果项目度量数据库2.项目成本:50~100万人员:配备项目经理1人,开发人员4-8人,开发人员中包含需求调研人员,专职QA 1人,测试人员1-2人CMMI执行过程:在项目管理中执行的活动以及产品项目规划活动产品详细估算《项目估算报告》制定详细的项目计划《项目进度表》《项目计划》《干系人计划》《评审计划》项目监控活动产品项目状况跟踪《个人周报》《里程碑报告》《项目周报》举行项目组周例会《会议记录》里程碑评审《里程碑报告》《里程碑评审记录》项目结项活动产品代码复用总结《代码复用总结》结项准备《QA总结报告》结项评审《结项报告》终稿资料纳入组织级过程资产库《组织级度量数据库》在工程过程中执行的活动以及产品需求开发活动产品用户需求获取《用户需求说明书》软件需求分析《软件需求规格说明书》需求跟踪《需求跟踪矩阵》需求变更控制《变更申请书》《需求变更记录》《用户需求说明书》《软件需求规格说明书》《需求跟踪矩阵》软件设计活动产品软件体系结构设计《软件体系结构设计说明书》软件详细设计《软件详细设计说明书》《数据库设计说明书》软件实现活动产品制定阶段软件实现计划《项目进度表》中“软件实现”部分《编码规范》构建数据库产品数据库编码实现模块代码交叉单元测试《缺陷记录》编写支持文档《用户手册》软件测试活动产品制定《软件测试计划》《项目进度表》中“软件测试”部分编写系统测试用例《系统测试用例》缺陷跟踪管理《缺陷记录单》执行系统测试《缺陷记录单》缺陷统计分析《缺陷统计分析报告》客户验收活动产品验收准备程序安装包产品打包现场安装调试用户使用培训试运行验收交付服务于维护活动产品受理客户问题《服务与维护记录》客户服务准备指导客户解决问题《服务与维护记录》移交产品维护人员《服务与维护记录》问题评审《服务与维护记录》进行产品维护并验证向客户说明原因问题处理结果调查《服务与维护报告》《客户满意度调查表》同行评审活动产品评审会议《评审报告》中的“评审会议记录”《缺陷记录单》纠正异常《缺陷记录单》跟踪异常《缺陷记录单》在支撑过程中执行的活动以及产品质量保证制定详细《质量保证计划》详细《质量保证计划》过程和产品质量检查《过程检查表》《产品检查表》《QA审计报告》《QA周报》《QA里程碑报告》不符合项跟踪处理《过程检查表》《产品检查表》《QA审计报告》《QA周报》《QA 里程碑报告》质量保证总结报告《QA总结报告》度量分析收集和分析度量数据项目度量数据库存储和通报度量分析结果项目度量数据库3.项目成本:10~50万人员:配备项目经理1人,开发人员3-6人,开发人员中包含需求调研人员,兼职QA 1人,测试人员1人CMMI执行过程:在项目管理中执行的活动以及产品项目规划活动产品制定项目的初步计划及下属计划初步《项目计划》及其下属计划,《项目进度表》详细估算《项目估算报告》详细裁剪《PDP说明》制定详细的项目计划《项目进度表》《项目计划》《干系人计划》《评审计划》评审项目计划及下属计划《评审通知》《评审报告》项目监控活动产品项目状况跟踪《个人周报》《里程碑报告》《项目周报》举行项目组周例会《会议记录》里程碑评审《里程碑报告》《里程碑评审记录》项目结项活动产品代码复用总结《代码复用总结》结项准备《结项报告》初稿《QA总结报告》结项申请结项评审《结项报告》终稿资料纳入组织级过程资产库《组织级度量数据库》在工程过程中执行的活动以及产品需求开发活动产品用户需求获取《用户需求调查单》《用户需求说明书》软件需求分析《软件需求规格说明书》需求跟踪《需求跟踪矩阵》需求变更控制《变更申请书》《需求变更记录》《用户需求说明书》《软件需求规格说明书》《需求跟踪矩阵》软件设计活动产品软件体系结构设计《软件体系结构设计说明书》软件详细设计《软件详细设计说明书》《数据库设计说明书》设计评审《评审通知》《评审报告》软件实现活动产品制定阶段软件实现计划《项目进度表》中“软件实现”部分《编码规范》构建数据库产品数据库编码实现模块代码交叉单元测试《缺陷记录》编写支持文档《用户手册》软件测试活动产品制定《软件测试计划》《项目进度表》中“软件测试”部分编写系统测试用例《系统测试用例》缺陷跟踪管理《缺陷记录单》执行系统测试《缺陷记录单》缺陷统计分析《缺陷统计分析报告》客户验收活动产品验收准备《产品打包清单》,程序安装包产品打包现场安装调试用户使用培训试运行《验收问题记录》(客户验收报告附件)验收交付《产品交接验收单》《客户验收报告》服务与维护活动产品受理客户问题《服务与维护记录》客户服务准备指导客户解决问题《服务与维护记录》移交产品维护人员《服务与维护记录》问题评审《服务与维护记录》进行产品维护并验证向客户说明原因问题处理结果调查《服务与维护报告》《客户满意度调查表》同行评审活动产品评审准备《评审报告》初稿《评审通知》评审会议《评审报告》中的“评审会议记录”《缺陷记录单》纠正异常《缺陷记录单》跟踪异常《缺陷记录单》在支撑过程中执行的活动以及产品质量保证制定详细《质量保证计划》详细《质量保证计划》过程和产品质量检查《过程检查表》《产品检查表》《QA审计报告》《QA周报》不符合项跟踪处理《过程检查表》《产品检查表》《QA审计报告》《QA周报》质量保证总结报告《QA总结报告》度量分析收集和分析度量数据项目度量数据库存储和通报度量分析结果项目度量数据库4.项目成本: 0~10万元人员:配备项目经理1人,开发人员1-4人,开发人员中包含需求调研人员,兼职QA 1人,测试人员1人CMMI执行过程:在项目管理中执行的活动以及产品项目规划活动产品制定项目的初步计划及下属计划初步《项目计划》及其下属计划,《项目进度表》制定详细的项目计划《项目进度表》《项目计划》《干系人计划》《评审计划》项目监控活动产品项目状况跟踪《个人周报》《项目周报》举行项目组不定期会议《会议记录》项目结项活动产品结项评审《结项报告》终稿资料纳入组织级过程资产库《组织级度量数据库》在工程过程中执行的活动以及产品需求开发活动产品软件需求分析《软件需求规格说明书》软件设计活动产品软件详细设计《软件详细设计说明书》《数据库设计说明书》软件实现活动产品构建数据库产品数据库编码实现模块代码编写支持文档《用户手册》软件测试活动产品制定《软件测试计划》《项目进度表》中“软件测试”部分缺陷跟踪管理《缺陷记录单》执行系统测试《缺陷记录单》客户验收活动产品验收准备《产品打包清单》,程序安装包产品打包现场安装调试用户使用培训试运行验收交付《产品交接验收单》《客户验收报告》服务与维护活动产品受理客户问题《服务与维护记录》客户服务准备指导客户解决问题《服务与维护记录》移交产品维护人员《服务与维护记录》问题评审《服务与维护记录》进行产品维护并验证向客户说明原因问题处理结果调查《服务与维护报告》在支撑过程中执行的活动以及产品质量保证制定详细《质量保证计划》详细《质量保证计划》过程和产品质量检查《过程检查表》《产品检查表》不符合项跟踪处理《过程检查表》《产品检查表》质量保证总结报告《QA总结报告》。
InstallShield安装包制作指南

InstallShield安装包制作指南Install Shield 安装包制作指南⽬录1 Install Shield简介 (4)2 Install Shield 安装 (4)2.1 下载安装 (4)2.2 安装步骤 (5)3 Install Shield界⾯说明 (11)3.1 Install Shield IDE界⾯ (11)3.2 Visual Studio 2010集成界⾯ (13)4 InstallShield安装包制作 (15)4.1 选择安装包类型 (15)4.2 创建MIS安装程序 (15)4.2.1 新建MIS安装项⽬ (15)4.2.2 Project Assistance (16)4.2.3 配置应⽤程序信息(Application Information) (18)4.2.4 配置安装环境需求(Installation Requirement) (19)4.2.5 指定安装包结构(Installation Architecture) (20)4.2.6 添加安装⽬标⽂件(Application Files) (20)4.2.7 创建应⽤程序快捷⽅式(Application Shortcuts) (21)4.2.8 编辑注册表项(Application Register) (22)4.2.9 选择安装向导界⾯(Installation Interview) (23)4.2.10 选择安装程序语⾔⽀持(Installation Localization) (23)5 编译⽣成安装包 (24)6 安装制作⾼级篇 (25)6.1 软件组件集成打包 (25)6.2 集成数据库安装 (26)6.2.1 SQL脚本⽅式 (26)6.2.2 数据库⽂件⽅式 (30)6.3 修改程序配置⽂件 (31)6.4 Installation Designer⾼级应⽤ (32)6.4.1 配置安装包媒体格式 (32)1 Install Shield简介由FLEXEAR SOFTWARE公司出品的专业安装程序制作软件,为软件发⾏商提供了⼀个强⼤且灵活的解决⽅案,通过它,可以制作Windows平台和跨平台的安装程序封装软件,让软件可以在不同操作系统平台下正常安装使⽤。
软件开发流程图_软件产品发布流程_规范

一、软件产品开发流程图:二、软件产品发布流程1、发布准备。
发布之前,所有程序由测试人员进行确认测试;检查系统内登记的所有bug都已经被解决,或者遗留的bug不影响系统的使用,如果有严重bug未解决,则不能发布;程序打包前做冒烟测试(冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。
)。
(测试)2、测试负责人编写发布产品质量报告进行质量分析和总结。
3、源码、文档入库。
源码包括数据库创建脚本(含静态数据)、编译构建脚本和所有源代码;文档包括需求、设计、测试文档,安装手册、使用手册、二次开发手册、产品介绍(ppt)、使用demo等等。
(按合同规定,或只提供部分文档)(产品、项目经理、研发、测试)4、进行程序打包;标记源码、文档版本。
(研发、运维)5、填写发布基线通知,并通知相关人员;经理对发布基线进行审计检查。
(项目经理)6、在禅道系统上新建产品发布计划,填写配置项,发布产品。
(项目经理)7、传程序包、使用文档至Download站点。
(运维)8、编写发布说明。
内容应该包括产品版本说明;产品概要介绍;本次发布包含的文件包、文档说明;本次发布包含或者新增的功能特性说明;遗留问题、影响说明;版权声明以及其他需要说明的事项。
(项目经理、测试)9、正式发布通知。
通知开发、测试、市场、销售各相关部门并附上产品发布说明和产品介绍。
(项目经理邮件通知)10、后续工作。
产品发布后,在使用过程中可能还会发现一些bug。
在不影响正常使用的情况下,这些bug将在下一版本发布时解决;如果bug严重影响使用,必须打patch 或者按照流程重新发布。
(研发)11、临时发布。
软件产品未正式发布前,可能需要一个临时版本供开发人员或者用户应急使用,这时候需要临时发布一个版本。
这个版本只包括基本的程序包和必要的使用说明。
临时发布需要通知相关开发、测试人员;研发人员需要为源码、文档打tag标记。
(研发)12、附《常见问题排除手册》,内容简介:推荐硬件配置。
Wix快速开发安装包程序(一)5分钟构建一个安装包

Wix快速开发安装包程序(⼀)5分钟构建⼀个安装包Wix 被⼴泛应⽤在制作安装包程序,相⽐于微软官⽅提供的安装包模板更灵活和便捷。
⼀、环境搭建:⽹站地址:1. 安装Wix,必备2. 安装VS 扩展,根据⾃⼰使⽤的VS版本下载相应的扩展。
可选,为了⽅便的使⽤VS创建wix⼯程并编译。
⼆、安装包⽬标应⽤程序:⽬的:安装⼀个exe ,⼀个dll,⼀个pdf⽂件制作流程:1. 编写符合wix规范的⼀份wxs类型的⽂件2. 使⽤命令编译中间产物candle.exe SampleFirst.wxs3. 使⽤命令得到最终产物light.exe SampleFirst.wixobj产物:三、最基本的元素介绍1. Product 元素Product 元素主要描述安装后的应⽤程序的信息。
它需要两个唯⼀的GUIDId:即product code,代表⼀个UpgradeCode:代表⼀个产品,相同产品安装包以后不需要再修改这个GUID剩下的信息主要显⽰在控制⾯板⾥,参照如下:2. Package 元素Package元素主要是描述安装包本⾝的信息,它有个⽐较重要的Id属性,只要不同安装包都需要⼀个唯⼀的GUID。
wix为了⽅便允许使⽤*代表GUID,编译时会被替换成GUID。
还有⼀些描述信息如下:3. Component 元素Component元素主要代表安装的⽂件,它需要⼀个唯⼀的GUID。
⼀个Component元素可以包含⼀个File元素,⼀个File可以指向⼀个⽂件,⽤Source属性标记这个⽂件的位置。
安装包编译后会将⽂件打包进安装包,安装包负责安装⽂件。
我们可以这样⼀条⼀条的罗列出需要安装的⽂件,整理出⼀组Component元素。
如果这⼀组⽂件需要装到⽤户机器上的某个⽂件夹下⾯,需要在wix⾥⾯写好,可以参考这个嵌套顺序写:TARGETDIR > ProgramFilesFolder > xxx > xxx > ...ProgramFilesFolder 是⼀个内建关键字,代表⽤户机器的C盘下的ProgramFiles⽂件夹举例:TARGETDIR > ProgramFilesFolder > AcmeSoftWareFolder > Foobar 1.0实际安装后的⽬录如下:可以看到和之前我们在wxs⽂件⾥⾯写的结构⼀致。
制作软件安装包

学习情境36 制作学生管理系统安装包36.1 任务描述至此为止,我们的学生管理系统的大部分功能已经实现,任何一个应用程序都不可能一直在集成开发环境(VS 2010)中运行。
大家平时使用的很多软件在使用的时候都需要进行安装,如聊天工具腾讯QQ、视频浏览工具PPStream等等。
因此,我们现在已经完工的学生管理系统如果要交付给用户使用,那么我们该怎么办?如何生成一个简单的安装程序供用户进行安装?实际上,这方面我们的集成开发环境早已考虑到,在VS 2010中,我们可以通过简单的操作就能实现安装程序的生成,供用户方便的安装你所开发出来的软件。
在这个学习情境中,我们将会实现把我们创建的学生管理系统生成安装包。
这样我们就可以方便在任何一台计算机部署、运行我们的软件了。
将我们开发的学生管理系统制作成安装包后,会自动生成两个文件,如图36-1所示。
图36-1 制作好安装包后产生的两个文件我们双击setup.exe文件,即可进入安装界面,根据提示即可方便的把学生管理系统安装到任何一台电脑上了。
安装完成后,在桌面上会出再如图36-2所示的图标,我们双击图标即可进入学生管理系统的登录界面。
在开始菜单中,也会出现相应的选项,如图36-3所示。
图36-2 安装完成后桌面上产生的图标图36-3 安装完成后开始菜单中产生的相关选项36.2 预备知识安装包(Install pack),即软件安装包,是可自行解压缩文件的集合,其中包括软件安装的所有文件。
运行这个安装包(可执行文件),可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。
安装包文件多为exe格式。
在Visual Studio 2010提供安装和部署项目,这种项目可以通过创建安装项目,产生一个安装程序,通过创建安装程序实现安装包的制作。
制作安装包的流程如下所示。
(1) 在需要生成安装包项目的解决方案中添加安装程序项目。
(2) 在安装程序项目中添加主输出。
如何在Android设备上安装和运行自己的应用程序(七)

如何在Android设备上安装和运行自己的应用程序在今天的智能手机时代,Android操作系统成为了世界上最流行的移动操作系统之一,拥有庞大的用户基础。
对于那些对移动应用程序开发有兴趣的人来说,学会如何在Android设备上安装和运行自己的应用程序是非常重要的。
本文将介绍一些基本的步骤和技巧,以帮助你顺利地实现这一目标。
一、安装Android开发工具包(Android SDK)在开始之前,你需要安装Android开发工具包(Android SDK)。
这是一套用于开发和调试Android应用程序的工具集合。
你可以从官方网站上下载到最新版本的Android SDK,并按照提供的指南进行安装。
安装后,你就可以使用Android Studio这个强大的集成开发环境来创建和编辑自己的应用程序。
二、编写自己的Android应用程序在安装Android SDK之后,你可以使用Android Studio来编写自己的应用程序。
Android Studio提供了许多方便的工具和功能,使得应用程序的开发过程更加高效和简便。
你可以使用Java或Kotlin这两种主要的编程语言来编写Android应用程序。
在编写应用程序时,你需要了解Android框架的基础知识,并根据自己的需求添加适当的功能和界面。
三、生成APK文件当你完成了自己的应用程序的编写之后,下一步就是生成一个安装包文件,也称为APK文件。
APK文件是Android应用程序的一种特殊文件格式,通过它可以实现应用程序的安装和运行。
你可以使用Android Studio的构建工具来生成APK文件。
在生成APK文件时,你可以选择不同的构建变体和发布配置,以满足特定的需求。
生成APK 文件后,你可以将其保存到本地硬盘上的指定位置。
四、连接Android设备在将应用程序安装到Android设备上之前,你需要将设备与电脑连接起来。
使用USB数据线将Android设备与计算机相连,并确保设备已经开启了调试模式。
package的种类

package的种类Package,即软件包,是一种用于组织和管理计算机程序的方法。
它可以将一组相关的程序文件、配置文件、资源文件和其他必要的文件整合到一个单独的单元中,以便于分发、安装和维护。
在计算机编程领域,存在多种不同类型的软件包,下面是一些常见的软件包类型:1. 库包(Library Packages):库包是一种包含可重用程序代码的软件包。
它提供了一系列函数、类或方法,供其他程序使用。
库包能够简化程序开发过程,提高代码的复用性和可维护性。
常见的库包包括Java的Java Standard Library,Python的标准库等。
2. 框架包(Framework Packages):框架包是一种具备特定功能或提供特定服务的软件包。
它定义了一系列的规范和标准,开发者可以基于这些规范和标准进行开发,从而加速应用程序的开发过程。
常见的框架包包括Spring Framework、Django等。
4. 安装包(Installer Packages):安装包是一种用于安装软件的软件包。
它通常包含了软件的可执行文件、配置文件和其他依赖文件,以及安装程序和必要的脚本。
安装包能够自动化地将软件部署到目标计算机上,并进行必要的配置和注册。
常见的安装包包括Windows的MSI安装包、Linux的RPM包等。
5. 扩展包(Extension Packages):扩展包是一种用于扩展现有程序功能的软件包。
它提供了额外的功能、插件或模块,供用户根据需要进行安装和使用。
常见的扩展包有浏览器插件、IDE插件等。
6. 数据包(Data Packages):数据包是一种用于存储和分发数据的软件包。
它包含了数据集、数据库文件、配置文件等。
数据包能够简化数据的导入和导出,方便数据共享和复用。
常见的数据包包括Excel文件、CSV文件等。
7. 模板包(Template Packages):模板包是一种用于创建新项目或应用程序的软件包。
山西海盛软件安装说明

山西海盛软件安装说明随着科技的不断发展,计算机软件在我们的生活中扮演着越来越重要的角色。
而山西海盛软件作为一家专业的软件开发公司,为了更好地服务于用户,特别编写了这篇软件安装说明,以帮助用户顺利安装和使用我们的软件。
首先,我们需要明确的是,山西海盛软件提供的软件安装包是经过严格测试和验证的,保证了软件的稳定性和安全性。
因此,在安装软件之前,请确保您的计算机符合以下要求:1. 操作系统:我们的软件支持Windows、Mac和Linux等主流操作系统。
请确保您的计算机上已经安装了相应的操作系统,并且操作系统的版本符合我们软件的要求。
2. 硬件配置:我们的软件对计算机的硬件配置有一定的要求。
请确保您的计算机的处理器、内存、硬盘空间等硬件配置满足我们软件的最低要求。
在确认了计算机的符合要求之后,我们可以开始进行软件的安装了。
以下是具体的安装步骤:1. 下载软件安装包:您可以通过我们的官方网站或者其他合法渠道下载到我们的软件安装包。
请确保下载的安装包是来自官方渠道,以免下载到不安全或者病毒感染的软件。
2. 运行安装程序:找到您下载的软件安装包,双击运行安装程序。
在运行安装程序之前,建议您关闭其他正在运行的程序,以免影响安装过程。
3. 安装向导:安装程序会自动启动安装向导,按照向导的提示进行操作。
在安装过程中,您可以选择软件的安装路径、语言、组件等选项。
根据您的实际需求进行选择,并点击“下一步”继续安装。
4. 完成安装:安装程序会自动将软件的文件复制到您选择的安装路径,并创建相应的快捷方式。
安装完成后,您可以选择启动软件或者关闭安装程序。
在安装完成后,您可以根据软件的使用说明进行相应的配置和操作。
我们的软件通常会提供详细的使用手册或者在线帮助文档,以帮助用户更好地使用软件的各项功能。
此外,为了保证软件的正常运行和安全性,我们建议您定期更新软件版本。
我们会不断优化和改进软件的功能和性能,并发布新的版本。
您可以通过我们的官方网站或者软件内置的更新功能进行软件的更新。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
产品安装包程序开发-技术实现介绍
前一段时间.应公司某项目产品化要求.制作了一个安装程序.之前也试用了不少安装包制作
软件如NSIS、Smart Install Maker、VS安装布署项目等
但按领导指示要“一键化安装”,简化用户布署服务器的操作。
因为是.NET 开发的B/S应用系统,所以如果要自动配置环境、布署IIS站点、还原数据库等操作用安装包制作软件就显的力不从心了。
于是决定自行开发一个比较简单的安装程序。
要点:1.此安装程序显然是WIN32程序(不能让用户去为了执行安装程序再配置相关环境),于是决定采用VB6.0开发。
2.根据相关方法(读注册表等)要实现判断操作系统信息、IIS是否正确安装、数据库是否正确安装、.NET Framework 4.0(产品运行环境)是否安装。
3.当操作系统、IIS、数据库没有正确安装是需提示用户无法继续,需用户自行进行相关软件的安装操作。
4.当.NET Framework4.0没有安装时,需自动安装.NET Framework4.0。
5.环境检测没有问题后,让用户填写相关信息,配置信息如IIS站点端口号、数据库登录用户/密码等。
6.释放相关程序文件到用户所选安装目录,调用执行外接相关程序。
7.因为某些设置操作用VB6实现起来太复杂,因此在确定有.NET Framework4.0环境情况下,
可采用主程序(vb6)调用外部程序(c#)去实现一些设置操作,如IIS站点自动布署、数据库自动还原、相关目录权限设置、相关菜单创建。
8.释放相关卸载程序。
相关主要界面一览:
主安装程序(VB6)中用到的技术点比较少,主要是嵌入资源文件、读写注册表、读写INI文件、得到系统文件夹、读取系统进程、CAB包释放等,这个都可以在网上搜索到。
在上面最后一张图中点击执行配置后,将采用SHELL方式,调用IIS 自动配置+创建快键方式、SQL数据库还原、文件夹权限设置三个小程序进行配置操作。
程序都是些基础代码,在这里简单讲一下实现原理:
1.IIS 自动配置+创建快键方式:
IIS站点自动配置功能可以借签:利用C#创建IIS 站点并设置.NET Framework版本为 2.0 的方法
原理:IIS 6.0以后使用MetaBase.xml存储IIS信息,因此可以直接修改这个文件即可. 相关.NET Framework 版本设置需要注意要取得其系统目录再设置ScriptMaps信息.
通过把主安装程序中用户填写的相关端口号、站点名称等信息对IIS自动配置程序用到的INI文件进行更新后,再执行IIS自动配置用户设置的站点。
创建快捷方式主要代码如下:
// Create a Windows Script Host Shell class
IWshShell_Class shell = new IWshShell_Class();//创建Windows Script Host Shell 类
// Define the shortcut file
IWshURLShortcut shortcut =
shell.CreateShortcut(System.Environment.GetFolderPath(System.Environment.Sp ecialFolder.Favorites) + "\\测试.url") as IWshURLShortcut;
shortcut.TargetPath = "http://localhost:88";
// Save it
shortcut.Save();
2.SQL数据库还原
SQL数据库操作比较简单,可以参考:C#自动附加数据库或还原、备份、分离等- 曾伟- 博客园
上面的这篇文章实现的SQL数据库操作比较全面,并且比较通用,值得借签学习。
3.文件夹权限设置
利用C#中DirectorySecurity 类对配置到INI中的相关目录进行权限设置,主要代码如下:
DirectoryInfo dirinfo = new DirectoryInfo(pathname);
//取得访问控制列表
DirectorySecurity dirsecurity =
dirinfo.GetAccessControl();
//FullControl 完全控制
dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));
//ReadOnly 只读
dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Read, AccessControlType.Allow));
//Write 写入
dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Write, AccessControlType.Allow));
//Modify修改
dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Modify, AccessControlType.Allow));
尚未解决问题:
1.对于IIS 6.0初次布署.NET项目时,需要对WEB 扩展中将.net相关项设置为允许,此操作可以通过程序实现,本人还没有找到相关技术实现文章,如果有朋友懂这面请评论指导。
2.不少项目系统中都会用到导出EXCLE等操作。
需要设置COM组件的相关权限。
这个采用程序去实现比较复杂,没有找到相关好的实现。