zoukankan      html  css  js  c++  java
  • [程序安装包制作] Advanced Installer 备忘

    Product Information - Product Details

    这个重点是Product Version。讲这个之前,首先要知道Product Code和Upgrade Code这两个属性,同时大家不要被这两个英文词语的字面意思所以迷惑。

    同一款产品,不同的版本的安装包,Product Code必须不同,但Upgrade Code必须相同。

    例如,现在有一款软件叫"Hello World”,已经制作了1.0.0的安装包,现在要制作1.0.1安装包。1.0.0与1.0.1的Upgrade Code是相同的,否则就会视为不同产品的安装包,安装时就会产生两个卸载项目。而同时1.0.0与1.0.1的Product Code是不一样的,否则系统会误认为同一版本的安装包,到时候就无法正确安装了。

    了解了上述的含义就好理解Product Version。只要改变Product Version的版本号,就会自动改变Product Code,方便我们制作完全升级包。

    注意的是,Product Version有效版本位支持到第三位即1.0.0,当你输入1.0.0.1保存项目时,会提示如下信息:

     Windows Installer是不认第四位版本号的,第四位的变化并不会使这个安装包变成新版本的安装包(即不会改变安装包的Product Code),所以如果制作完全升级包,新版本号必须从第三位开始更改


    P.S.:笔者一般以发布日期作为第四版本号,例如,10月25日发布的版本号就为2.5.3.1025

    User Interface - Dialogs
    在Dialogs树形菜单点击ExitDialog,预览窗体下方就会出现配置信息,如下图

    这里可以让你配置安装完成后的选择是否阅读ReadMe或是否立刻启动应用程序。


    User Interface - Translations
    如果你的安装包有多国语言安装的需要,在这里勾选安装包的语言,十分方便,如下图

    要注意下面三个选项

    Create separate packge 生成多个语言的安装包
    Create separate packge and a multilingual packge 生成多个语言的安装包和一个混合包
    Create only a multilingual packge 只生成混合包(混合包就是多个语言在一个安装包内)

    Custom Behavior - Search
    笔者觉得这款工具十分容易使用,其中一个原因就是Custom Behavior相当好用。
    在Search你可以添加你想要搜索的信息,注册表,安装文件,配置文件等等,这些搜索信息会提供给Custom Actions使用,后面会讲到
    例如,这里我要安装程序搜索一下PL2303的USB驱动的版本号

        

     

    Custom Behavior - Custom Actions
    这里是设置安装的自选行为,例如安装文件后执行一些应用或批处理,就可以在这里设置。
    例如,这里我要在安装文件后执行安装USB驱动

    这里顺便讲讲里面的Excution Condition设置

    Excution Condition故名思议就是执行条件,前面定义的Search在这里就派上用场了
    打开编辑框,琳琅满目的button和combobox……我们之前定义的Search就在Property里可以找到,如图

    然后在textbox里填写好逻辑表达式就OK了,例如,这里的意思是,USB驱动的版本号不等于"1.3.0"。

    注意:Vista以上的安装程序,有可能由于UAC的原因使得运行程序的Action执行不成功,导致安装失败。
    笔者也是在这里纠结了很久,最后在官方FAQ里,了解到,只要在Excution Options里,选择Deferred with no impersonation,就可以解决UAC的干扰问题。

  • 相关阅读:
    我的博客开通了啦!
    今天终于下定决心,辞掉现在的工作,开始导找新的机会。
    C# 文件流的使用
    XNA学习笔记(二) 发布release版本出现的问题
    Unity3D学习笔记(三) 数组和容器(泛型)使用学习(基于C#)
    Unity3D学习笔记(六) 关于碰撞
    Unity3D学习笔记(一) 模型和贴图导入学习
    Unity3D学习笔记(八) 保存数据的简单方式
    Unity3D学习笔记(五) C#基础学习
    Unity3D学习笔记(四) 脚本内访问其他对象,组件或脚本成员方法总结
  • 原文地址:https://www.cnblogs.com/xyq/p/1857172.html
Copyright © 2011-2022 走看看