转载:http://blog.csdn.net/wuxiaoqrs/article/details/45717695

InstallScript vs. Basic MSI

InstallScript工程利用InstallScript脚本语言控制安装过程,以下一些说明也许是你选择InstallScript工程的理由:

InstallScript脚本语言容易学习。

    1. 这种工程类型中,你可以显示全屏的广告板(背景图)。
    2. 这种工程类型利用了InstallScript脚本语言,能够让你写程序控制安装过程,而不是填写一些表格数据。
    3. InstallScript类型工程比Basic MSI类型的工程更容易学习。InstallScript工程的学习曲线比Basic MSI工程的短很多。
    4. InstallScript允许你在安装之前或之后执行自己的操作,可以利用事件驱动模型,这对于Windows开发是非常有用的。
    5. 如果你在维护一个InstallScript工程,那只能选择InstallScript工程类型。
    6. InstallScript工程没有使用Windows Installer,所以你的安装程序无法进行Windows Vista和Windows 7的Logo认证。

Basic MSI工程利用Windows Installer服务来进行安装,以下一些说明也许是你选择Basic MSI工程的理由:

    1. 你的安装程序需要进行Windows Vista和Windows 7的Logo认证。这也是使用Windows Installer的主要需求之一。
    2. 你不想利用脚本语言控制你的安装过程。
    3. 你进行Basic MSI工程的维护工作,不得不选择Basic MSI。
    4. 你想最大化的与Microsoft SMS管理工具兼容。
    5. 学习Basic MSI工程需要更长时间的学习曲线。

InstallScript vs. InstallScript MSI

如前面所介绍,InstallScript工程基于InstallScript脚本控制。如果有以下需求,推荐使用InstallScript类型的工程:

    1. 对用户界面有更高的需求,需要自定义安装界面。
    2. 安装时你需要全屏的背景广告板。
    3. 你喜欢写程序控制安装过程,而不是填写一些表格数据。
    4. 你倾向在安装之前或之后执行自己的操作。
    5. 你需要升级一个已有的InstallScript工程。

InstallScript MSI是InstallScript工程类型和Basic MSI工程类型的混合,执行安装的过程中它既用到Windows Installer,也用到了InstallScript引擎。如果有以下需求,推荐使用InstallScript MSI类型的工程:

    1. 需要进行Windows Vista和Windows 7的Logo认证。
    2. 对用户界面有更高的需求。
    3. 你喜欢写程序控制安装过程,而不是填写一些表格数据。
    4. 你倾向在安装之前或之后执行自己的操作。
    5. 你需要升级一个已有的InstallScript MSI工程。
/////////////////////////

Basic MSI vs. InstallScript MSI

  1. Basic MSI工程中可以通过属性表修改窗体运行顺序,而在InstallScript MSI工程中可以通过修改OnFirstUIBefore事件中窗体的顺序完成。
  2. Basic MSI工程中的脚本文件并没有给定的事件驱动,需要自己添加,而Installscript MSI工程中可以选择产生事件函数。
(注:在Installscript工程和Installscript MSI工程中我们可以通过脚本文件在安装过程中运行第三方软件包,包括后缀名为exe,msi等,然而在Basic MSI工程中并不能运行msi,可以运行exe,这是因为Basic MSI工程执行安装的过程中用到Windows Installer了,本身产生的安装文件就是msi的,如果再运行会弹出错误,不能同时运行两个。选择InstallScript MSI是最好的选择。)

InstallShield的工程类型的选择的更多相关文章

  1. 使用BPEL创建Web服务组合

    http://www.cnblogs.com/ahhuiyang/archive/2012/12/18/2824131.html 为简单起见,本例的Web服务组合只调用一个Web Service AP ...

  2. ASP.NET MVC 5改进了基于过滤器的身份验证

    ASP.NET MVC 5包含在最近发布的Visual Studio 2013开发者预览版中,它使开发人员可以应用身份验证过滤器,它们提供了使用各种第三方供应商或自定义的身份验证提供程序进行用户身份验 ...

  3. ubuntu下搭建cocos2dx编程环境-上

        这大半年一直在开发flash游戏,用到的编程语言是actionscript和c++.所以这次公司决定开发手游端的话,C++不是很生疏,这是个好消息.坏消息是由于现在网页游戏还没有上线,所以公司 ...

  4. STS中搭建SpringMVC工程

    1 环境说明 首次接触Spring,面对这么一个优秀的框架,先从环境搞起,再慢慢学.开发环境选择Spring Tool Suite,得专业点不是?Maven选2.2.1,JDK还是1.6,Tomcat ...

  5. OpenCV在ARM上的移植

    OpenCV在ARM上的移植 与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方 ...

  6. 第一个VC++ win32程序 绘制简单图形

    创建一个VC++ win32 打开VS 新工程类型中选择Win32----Win32 Project  自己取个名字(假如叫做My1stWin) 一路next 系统会自动生成好最基本的代码  然后我们 ...

  7. 如何创建C++程序

    下载Microsoft Visual C++ 6.0请点击这里:VC 6.0下载(包括中文版英文版)(支持Win7和XP) 首先,我们要进入Microsoft Visual C++集成开发环境(Int ...

  8. 如何成功导入SlidingMenu库?

    SlidingMenu是一个开源的侧滑菜单(https://github.com/jfeinstein10/SlidingMenu).  为大家的安卓程序提供侧滑菜单,这个功能也非常有用. 要想正常使 ...

  9. 【Linux开发】OpenCV在ARM上的移植

    与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方法很麻烦,不仔细操作很容易出错 ...

随机推荐

  1. 【VUE】Mac下vue 开发环境搭建,以及目录结构

    1 安装Node.js 参看 node.js环境安装   http://www.cnblogs.com/richerdyoung/p/7265786.html 2 安装淘宝镜像 npm install ...

  2. sencha touch 入门系列 (三)sencha touch 项目创建

    通过上一章节的学习,我们的开发环境已经配置好了,接下来我们开始创建第一个sencha touch的项目,网络上很多sencha touch的教程都是手动搭建项目的, 不过手动搭建的项目缺少一些senc ...

  3. 线段树(成段更新,区间求和lazy操作 )

    hdu1556 Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  4. Floyd求最小环并求不同最小环的个数

    FZU2090 旅行社的烦恼 Time Limit: 2000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u [Subm ...

  5. npm基础知识笔记

    # NPM Study 1.npm组成 --网站 --命令行界面(CLI) --注册表   2.npm入门-创建属于你的npm账户 --https://www.npmjs.com/signup   5 ...

  6. js封装正则验证

    //根据不同的验证内容,返回相应的正则表达式 function returnRegString(regName) { if (regName == "email") { retur ...

  7. tensorflow和python操作中的笔记

    前一段时间做了一些项目,把一些笔记放在了txt中,现分享出来,自己也能够时长预习. 1) 读取文件时,将固定的文件地址,采用数组或者字符串的形式,提前表示出来,后期使用时候采用拼接操作 2) # 得到 ...

  8. 洛谷P1373 小a和uim之大逃离 dp

    正解:dp 解题报告: 传送门! 同样是看到列表发的题解就想着跟着做下dp的题目趴 然后发现还挺难的,,,反正我只大概想到怎么转移但是初始化什么的都不会TT 所以还是大概说下QAQ 首先可以想到设f[ ...

  9. 转载 io多路复用

    作者:ZingpLiu 出处:http://www.cnblogs.com/zingp/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 回到 ...

  10. 【查看】mysql 常规书写注意事项(那些坑)

    mysql 常规书写注意事项,mysql注意事项 1. 注释:  -- 后面一定要加一个空格,否则会报错 2.注释:/*! content */ 在mysql中是会执行的,但是其他数据库不会.   例 ...