.Net程序安装打包的一些经验贡献

安装打包需要考虑以下问题:
1.安装环境的检测
例如:
1) 数据库是否已经安装
2) 数据库是否已经启动
3) .Net Framework版本
4) 如果是服务器端安装还要检测XML解释器版本以及IIS版本(Windows环境下)
5) 如果是客户端安装还要检测IE版本

2.压缩和优化
1) 使用CAB压缩
2) 数据库文件数据清空和收缩
3) 去掉代码注释和数据库表字段解释

3.代码签名
1) .Net的类库等执行程序集使用SN签名(包括注册版本号)。
2) 如果公司想保护版权,则加入版权弹出或界面显示代码,然后使用加证书混淆,再生成win32镜像。这样虽然还是可以通过dump内存然后直接修改IL,去掉验证,但已经复杂多了。强度高的混淆器一般都要收费,价格都在2000美元左右(人民币16000左右)。(推荐就免了,谁也没这个把握)
 
4.允许用户选择操作
1) 对于多数打包工具,这项操作的实现都是需要override安装类(Install class) 和卸载类,加入自己的操作步骤界面以及功能实现的DLL
2) 需要提供用户选择安装或不安装数据库
3) 需要提供用户配置数据库的界面(例如数据库登录)以及IIS的配置界面(站点设置)

5.卸载程序需要考虑
1) 是否有其他程序也在使用某程序集(DLL),必须提示用户卸载该共享的DLL的危险性.
2) 卸载数据库.注意清理干净.服务器端卸载要求不能导致服务器重启.如果必须停止某服务才能卸载则必须在卸载完毕自动启动卸载过程中停止的服务.

原文地址:https://www.cnblogs.com/babyblue/p/64630.html