InstallShield打包


使用2010部分汉化版,用于打包桌面应用程序。 

主要步骤:

1、3种主要的工程类型:

Basic MSI,安装脚本不易使用。

InstallScript,无法加文件夹权限。

InstallScript MSI,兼具前两者功能。

新建工程,类型选择InstallScript MSI,不需要勾选Creat project file in 'Project Name' subfolder。

IS建立的项目文件.ism,保存了在用户界面的设置,可以复制.ism和安装源文件到其他计算机。

2、“工程助手”,建立基本安装信息;“安装设计器”,提供更多工具细化项目。

工程助手-应用程序信息,指定公司、程序名称。

其他工程助手选项不需要修改。

3、安装信息-常规信息-General

将Setup Language、Default Language设为中文。

修改Product Name、Product Version。

不同安装包的Product Code、Upgrade Code不同。

4、应用程序数据-文件和文件夹

如果不需要自注册dll(Self-Register)、卸载时删除指定文件(Uninstall)、修复时覆盖(Shared)、修改文件安装位置(Destination)等功能,最好不使用“组织”选项卡内的内容,以降低复杂度。

应用程序数据-文件和文件夹,将需要安装的所有源文件,整理到一个文件夹中,文件夹名设为和安装后一样,将该文件夹拖动至[ProgramFilesFolder]中。

注意,在拖动文件夹时会提示是否使用"dynamix file link",选择"No",因为如果选择"Yes",IS会因为无法识别文件夹中的exe文件而禁止添加快捷方式。

只添加一个文件夹的好处,就是在媒介-路径变量中,只会新增一个Standard路径,这样以后文件夹路径改变时,修改起来就很方便了。

在组织中,选中Component,设置Permanent为Yes来防止卸载时删除文件,设置Never Overwrite为Yes来防止修复时覆盖文件。

5、添加Everyone权限

右键文件夹-Properties-Permissions,右键-New,将User改为Everyone,勾选Full Control,确定。

6、系统配置-快捷方式

注意设置Working Directory,选择为exe所在文件夹。

对应快捷方式属性中的“起始位置”值,如果未设置的话,获取目录路径的时候有时会出错。

7、服务器配置-SQL脚本

SQL Scripts-New SQL Connection,创建NewSQLConnection1。

其中General-Catalog Name修改为数据库名,General-Default Target Server Name修改为(local)。

NewSQLConnection1-Insert Script Files...,添加已经处理好的SQL脚本文件(因为脚本添加的登录名有对应的默认数据库,该登录名只能访问该数据库,所以对于数据库不同的项目,登录名要不同,密码可以相同)。

Runtime-Script Error Handling,勾选On Error,Goto Next Statement。

8、行为和逻辑-InstallScript

Files-Import Script Files...,添加featureevents.rul脚本文件,其中定义了function DefaultFeature_Installed(),用于安装.NET、驱动等部署组件。

在Setup.Rul中,#include "ifx.h"的下一行写入#include "featureevents.rul",在组织中选中DefaultFeature,Feature Events-OnInstalled选为DefaultFeature_Installed,从而使用编写的脚本安装功能。

选中Setup.Rul,在第一个下拉框中选择Before Move Data,在第二个下拉框中选择OnFirstUIBefore,会自动生成一些脚本代码,其中每一个Dlg_都对应一个界面。

需要注释掉下面一行代码,来屏蔽安装时输入用户名、公司名称的界面。

Dlg_SdRegisterUser:
    szMsg = "";
    szTitle = "";
    //nResult = SdRegisterUser( szTitle, szMsg, svName, svCompany );
    if (nResult = BACK) goto Dlg_SdWelcome;

9、用户界面-对话框-Skins,选择安装界面皮肤。

10、编译发布程序步骤:发行向导,编译,构建,运行。

如果源文件太大,在构建成单个Setup.exe文件时会报错“ISDEV : fatal error 0”。

原因:单个.msi文件的大小限制为2GB,太多的.cab文件会压不进去。

解决:在“发行向导”中,把“Compress all files”改为“Custom - One .cab per Feature”。

第一次运行,安装程序;第二次运行,进入维护模式,修改、修复、卸载。

相关