转载: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. 自行颁发不受浏览器信任的SSL证书

    ssh登陆到服务器上,终端输入以下命令,使用openssl生成RSA密钥及证书. # 生成一个RSA密钥 $ openssl genrsa -des3 -out 33iq.key 1024 # 拷贝一 ...

  2. CentOS oracle Client客户端安装

    CentOS客户端安装方法如下: 1.安装客户端 rpm -ivh /当前目录/oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm rpm - ...

  3. shell脚本分析nginx日志

    shell脚本分析nginx日志: name=`awk -F ',' '{print $13":"$32}' $file | awk -F ':' '{print $4}'`ech ...

  4. zabbix安装配置2

    1.平台:centos6.5 2.安装epel: yum install http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch ...

  5. angular -- get请求该如何使用?

    在做 angualr 的开发过程中,经常会用到的就是 ajax 请求.下面是 get 请求示例: 如果存在多个 get 请求可以考虑进行封装下: // get 携参数访问 ajaxGet(getUrl ...

  6. 向Docx4j生成的word文档添加图片和布局--第一部分

    原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprof ...

  7. Python的Flask框架应用调用Redis队列数据的方法

    转自:http://www.jb51.net/article/86021.htm 任务异步化 打开浏览器,输入地址,按下回车,打开了页面.于是一个HTTP请求(request)就由客户端发送到服务器, ...

  8. sql server 碎片整理——DBCC SHOWCONTIG

    转自: 1.http://blog.sina.com.cn/s/blog_6d2675450101ks6i.html 2.http://www.cnblogs.com/CareySon/archive ...

  9. JAVA优化技巧分享 让游戏更加的流畅

    我的世界怎么样可以玩的更加流畅呢?怎么对游戏进行优化呢?相信很多小伙伴都很想知道吧,今天小编为大家带来的是我的世界游戏优化技巧,喜欢的小伙伴不要错 ... 在很多时候如果电脑配置过低的话,玩游戏并不流 ...

  10. java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

    用Maven创建了一个spark sql项目,在引入spark sql jar包时引入的是: <dependency> <groupId>org.apache.spark< ...