转载: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. IOS strong和weak的区别

    strong和weak的区别 strong表示保留它指向的堆上的内存区域不再指向这块区域了. 也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人stro ...

  2. mysql使用笔记(一)

    一.安装 使用免安装的版本进行安装: 1. 解压到安装目录 2. 拷贝目录下的 my-default.ini 文件为 my.ini 文件 3. 修改my.ini 文件内容为 [client] port ...

  3. 【LNMP】 fileinfo扩展安装

    1  查看服务器php版本 : php -v 2  进入目录 , 解压相对应的PHP 版本压缩包, cd /lnmp1./srctar zxvf php-7.0.tar.gz 3  输入以下命令 cd ...

  4. 静态同步synchronized方法和synchronized(class)代码块

    关键字synchronized还可以应用在static静态方法上,如果这样写,那是对当前的*.java文件对应的Class类进行持锁. package synStaticMethod; /** * C ...

  5. 简单的网络爬虫程序(Web Crawlers)

    程序比较简单,但是能体现基本原理. package com.wxisme.webcrawlers; import java.io.*; import java.net.*; /** * Web Cra ...

  6. Android技巧分享——Android开发超好用工具吐血推荐(转)

    内容中包含 base64string 图片造成字符过多,拒绝显示

  7. #cat ora11g_ora_.trc

    Trace file /u02/app/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_31212.trc Oracle Database 11g Enterpri ...

  8. 素数测试算法(基于Miller-Rabin的MC算法) // Fermat素数测试法

    在以往判断一个数n是不是素数时,我们都是采用i从2到sqrt(n)能否整除n.如果能整除,则n是合数;否则是素数.但是该算法的时间复杂度为O(sqrt(n)),当n较大时,时间性能很差,特别是在网络安 ...

  9. CentOS7安装步骤详解

    准备环境 1.虚拟机  VMware Workstation 2.Centos7-64位安装包  ( CentOS-6.7-x86_64-bin-DVD1.iso ) 开始安装   进入安装初始化界面 ...

  10. 170609、Nginx配置文件详细说明

    在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processe ...