• 打包安装的一些准则之我见欢迎拍砖欢迎补充


    从做第一个打包程序到现在,陆陆续续也做了几十个安装包了,也帮助了不少朋友解决他们在制作

    安装包过程中的问题,也得到了不少朋友们在安装包方面的指导。人之患在好为人师,我也不例外

    ,看得多了也想说两句关于打包方面的自己的想法,放大了说,也可以做到编程的一些参考。欢迎

    拍砖欢迎跟帖欢迎补充。


    1.如何入门?Installshield挺难的,资料少,没有中文版,而且做安装包的同仁也少。很多新手

    进入Q群,第一句话就是:各位大大,我要打包一个安装程序,要自动安装MySQL,初始化数据库,

    写配置文件,安装完毕还要自动启动一个服务等等,但是我对installshield一窍不通,有人能指

    点一下么?对这种同学,我一般都是:哦,抱歉,没有人能手把手教你。是的,如果把打包复杂度

    分为I,II,III,IV,V,从低到高的话,这个包的复杂程序在III到IV左右。对于一个连基本操作都没上手

    的新手,你谈何做出这样一个复杂的安装包,就算我把函数摆你面前,你会用吗?那么怎么办?从最

    简单的入手,找个例子,照葫芦画瓢,做一个没有脚本、没有美化界面、只有安装基本文件的安装

    包。如果测试通过,OK,恭喜你入门了,现在可以学脚本了。
    基础入门教程网上很多,我也写过一个,你可以参阅
    http://www.cnblogs.com/Cindy_weiwei/archive/2009/05/18/1459542.html
    2.如何调试?出了问题是很头疼的,有些问题可能一眼就能看出来,有些问题是多种错误叠加在一

    起造成的。按f5进入调试模式进行单步调试是个好办法;偷懒一点的可以在怀疑出错的地方加上

    MessageBox来输出一些信息;如果是很复杂的问题,建议新建一个工程,加一点条件就编译一次,

    看看到底问题出在哪一步。
    昨天碰到一个案例,有位同学贴了个图,说卸载时候弹出对话框,点否就没反应,问我们怎么回事


    先问:是从控制面板卸载的吗?
    答:不是,是按照你的教程写的完美卸载,怀疑完美卸载有问题。
    我说:完美卸载其实只是再次调用了setup.exe,请你先不要用完美卸载,请直接再次运行你的

    setup.exe。
    答:我要有一个卸载快捷方式的。
    我顿时faint了:你不是要找错误吗?
    还算比较听话,运行了一次setup.exe,跟我说现象同上,还是出错。
    问:你动了OnMaintUIBefore?
    答:是的。
    这是一个典型的叠加型问题:1,他不能保证他学着写的完美卸载没有问题;2.软件卸载不了了。

    那么1.避开完美卸载,直接调出卸载界面;2确认是卸载过程有问题后,很快就能定位出问题所在

    了。

    3.做个有道德的打包者。谁也不希望自己装个想用的软件,可是这软件在安装过程中偷偷篡改了你

    的后台、捆绑安装一些别的软件、安装完强行打开网页或者启动程序。虽然经常有人问我怎样在安

    装结束时启动软件,但是我还想说一句:请做一个有道德的打包者,至少,你要有个界面让用户选

    择:要不要启动该软件。

  • 相关阅读:
    chrome更新后,恢复本地丢失的书签和历史记录
    redis 集合set 使用 rediscluster 使用交集
    git 删除分支恢复
    SQL语句性能优化
    A调用B,b有事务,a没有
    Unable to tunnel through proxy. Proxy returns "HTTP/1.0 407 Proxy Authentica 问题处理
    fasnjson 转换
    String.format()的详细用法
    传递json
    基础入门-加密编码算法
  • 原文地址:https://www.cnblogs.com/Cindy_weiwei/p/1940309.html
Copyright © 2020-2023  润新知