InstallShield打包
使用2010部分汉化版(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。
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”。
第一次运行,安装程序;第二次运行,进入维护模式,修改、修复、卸载。
InstallShield打包的更多相关文章
- InstallShield打包设置相对路径
InstallShield打包设置相对路径 在使用Installshield 打包安装文件时,添加打包文件时默认使用绝对路径,但是工程文件转移时(复制到其它位置时)编译时就会找不到安装文件,这样很不方 ...
- 用InstallShield 打包工具 打 Win32 程序 (depends.exe 用看程序都依赖了哪些dll)
InstallShield 打包工具 1. 转载:http://blog.csdn.net/zhang_xinxiu/article/details/9099757 2. 转载:http://www. ...
- 使用InstallShield打包windriver驱动-转
转自:http://blog.csdn.net/weixin_29796711/article/details/72822052 用户在使用我们用windriver开发的硬件驱动时,需要先安装wind ...
- InstallShield打包,以及集成TFS、JenKins
一. InstallShield打包脚本教程,这里面写的很详细了 [海洋女神原创]一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一 需要补充的是Insta ...
- 使用InstallShield打包VS程序
使用InstallShield打包VS程序 InstallShield是微软自己的一个打包工具,这个打包工具,有其优势也有其弊端.其优势,可以很好且方便地将.NET平台的控件以及程序所需要的dll打包 ...
- 怎样用QT在windows环境通过编程卸载installShield打包的程序
通常情况下,如果是一个完备的软件,我们可以通过启动软件的uninstaller.exe之类的程序来完成卸载.但是使用installShield打包的程序,本身可能并不含有这类卸载程序.此时,我们可以通 ...
- Installshield 打包安装包心得
制作简单的安装软件 声明:下面的教程,是把读者当做完全没接触过IS的角度来制作的. 1. 启动InstallShield 12.建立一个InstallShield MSI Project,如图: 2 ...
- 更换用installshield打包生成exe文件的图标【转】
最近在研究用installshield2010为自己做的产品打包,自己在网上找写资料,胡乱折腾,最后弄成了一个exe安装包,想要修改exe文件的图标,发现Basic MSI project 无法用in ...
- 用.net installshield打包程序时注册第三方控件
制作打包程序时如果用到外部控件需要按以下方式操作: 1.将控件及控件所用到的所有DLL加入打包程序. 2.将控件的Register由vsdrfDoNotRegister改为vsdrfCOMSelfRe ...
随机推荐
- 隐马尔可夫模型(HMM)原理
本文主要讨论隐马尔科夫模型的三大要素,三大假设和三大问题. 1.引入 隐马尔可夫模型是一个关于时序的概率模型,它描述了一个由隐藏的马尔可夫链生成状态序列,再由状态序列生成观测序列的过程.其中,状态之间 ...
- eclipse-ee修改字体大小和配置Tomcat服务器
参考博客:http://blog.csdn.net/lpftobetheone/article/details/17783791 一.EclipseEE背景色和字体的修改 1.Eclipse背景颜色修 ...
- sqlite3API函数
回顾: DDL 表的创建.修改.删除 create table 表名(字段名 字段类型 [约束],...); alter table 表名 {rename to 新名字 | add column 字段 ...
- Java经典案例之“水仙花数”
/** * 描述:打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身.例如: * 153=1^3+5^3+3^3等... * 分析:利用for循环控制100-99 ...
- 大数据时代的杀手锏----Tachyon
一.Tachyon系统的简介 Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件.把 Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架 ...
- Kingbase在初始化时遇到的错误
FATAL: could not create semaphores: No space left on deviceDETAIL: Failed system call was semget(58 ...
- 用 NodeJS 实现 BigPipe
BigPipe 是 Facebook 开发的优化网页加载速度的技术.网上几乎没有用 node.js 实现的文章,实际上,不止于 node.js,BigPipe 用其他语言的实现在网上都很少见.以至于这 ...
- 安装python2.7.13-64bit & Pycharm在两个python版本之间切换
本来已经安装了32位的python27,但在使用轮廓系数评估k-means模型的优良性时,出现了内存溢出的报错.原来32为的python编译器最多只能使用4GB的内存,所以就打算换成64位的pytho ...
- 在线office文档编辑NTKO使用心得
目录 前言 什么是ntko 准备工作 实战演练 总结 一.前言 Web开发中经常需要用到在线处理office文档的功能,现在市面上有一些常用的Web页面调用显示Office的控件技术,用起来很方便.有 ...
- C# 6 与 .NET Core 1.0 高级编程 - C# 6 改进
个人原创译文,转载请注明出处.有不对的地方欢迎指出与交流. 英文原文:Professional C# 6 and .NET Core 1.0 - What's New in C# 6 C# 6 改进 ...