• Installshield 总结系列之Installshield Script Project


    我在前面一篇,已经谈过Basic MSI project。那让人不禁要问它们的区别是:

    从功能上来说,Installshield Script Project弹性更强,可以定制的东西更多,对话框可以方便的定制,已经控制他们的显示序列。

    从机制上来说,Installshield Script基于Installshield Installe Engine完全不需要Windows Installer Engine。它可以支持更多的Installshield自己的函数,对话框。

    下面从如下几个常见的技术点来了解Installshield Script Project

    1.维护模式

    OnInstallaing()

    它对应于-unistall 命令,在Installshield 2009及之前的版本,在控制面板中选择"Uninstall”会触发这个命令。但在Installshield 2011之后,卸载会调用

    -removeonly,首先响应这个消息的函数是OnMaintainUIBefore(),默认的代码会协作对应的产品。

    REMOVEONLY & REMOVEALLMODE & REMOVEALL

    REMOVEONLY 与 REMOVEALLMODE 都是一个flag,其值是true or false。

    通过调用-removeonly 会将REMOVEONLY 置为true,即告诉开发者,这是通过命令行调用的卸载模式。

    通过在Maintaince Dialog选择REMOVEALL(一个Installshield预定义的一个值),会将REMOVEALLMODE置为true。

    静默安装

    需要先录制安装脚本,即.iss文件。需要注意的是,它的安装过程,必须严格按照.iss中描述的那样,否则会安装失败。如果安装过程有很多条件选择,需要录制多个.iss文件。

    2.升级安装

    对应Installshield script,升级的时候,需要注意merge module可能不会被更新。暂时还没有找到原因,目前采用的是walk around的方式,即修改merge modulecomponent的id,来完成升级安装。

  • 相关阅读:
    Linux进程理解与实践(四)wait函数处理僵尸进程
    Linux进程理解与实践(三)进程终止函数和exec函数族的使用
    system V信号量和Posix信号量
    Linux进程间通信方式--信号,管道,消息队列,信号量,共享内存
    linux 高并发socket通信模型
    信号集函数
    进程间通信使用信号
    使用消息队列
    改变域名,php
    php函数
  • 原文地址:https://www.cnblogs.com/jamesmile/p/2711498.html
Copyright © 2020-2023  润新知