当前位置:文档之家› installshield卸载实现

installshield卸载实现

installshield卸载实现
installshield卸载实现

在后面的内容中,主要解答以下几个经常有朋友问到,却又往往得不到很好的解决的问题:

如何创建卸载快捷方式?

为什么卸载的时候不执行 OnMaintUIBefore 和 OnMaintUIAfter?

为什么卸载的时候不执行 OnUnInstall?

为什么卸载的时候并没有调用 OnMaintUIBeforeXXXX 或者 OnUnInstall,甚至连 OnBegin、OnAppSearch、OnShowUI 等等事件处理函数都没有调用?

为什么第二次运行安装程序的时候毫无提示就卸载了以前的版本并没有调用 OnMaintUIBeforeXXXX 或者OnUnInstall?

--------------------------------------------------------------------------------

关于如何创建卸载快捷方式的问题,请参考:〈InstallShield: Creating Uninstallation Shortcut 创建卸载快捷方式〉一文

请记住那个表格。在脚本中创建卸载快捷方式最好的方法就是用用于定义常量 UNINSTALL_STRING 提供的值。而在 IS 操作界面中创建卸载快捷方式最好参考帮助中(参考该文)表格的方法,根据不同的项目类型采用不同的方法。如果用 IS 提供的方便功能创建的卸载快捷方式有些毛病,最好改改——至于原因,在后面会提到。

--------------------------------------------------------------------------------

为什么卸载的时候不执行 OnMaintUIBefore 和 OnMaintUIAfter?

为什么卸载的时候不执行 OnUnInstall ?

在 General Information -> Project Properties 你能看到:Enable Maintenance 这一选项。如果设置为 Yes,那么当用户在一台已经安装了该软件的计算机上再次运行安装程序,则会自动运行OnMaintUIBefore 和 OnMaintUIAfter 事件处理函数中的脚本。如果设置为 No,那就会调用 UnInstall 事件处理函数的脚本。

那么,如果卸载的时候不执行这两个事件处理函数的脚本,就要检查一下这一设置了。

但(呵呵,这里有个“但”),卸载的时候也可能不运行这两个函数以及 OnUnInstall,耐心看下去吧。

--------------------------------------------------------------------------------

为什么卸载的时候并没有调用 OnMaintUIBeforeXXXX 或者 OnUnInstall,甚至连 OnBegin、OnAppSearch、OnShowUI 等等事件处理函数都没有调用?

1、安装程序如果运行在“安静”模式下,则不会执行这些事件处理脚本。

比如 setup.exe /s 或者 IDriver.exe /M{Product Code} /uninst 这样的调用(请参考:〈InstallShield: Creating Uninstallation Shortcut 创建卸载快捷方式〉一文)。

2、如果不是在“安静模式”,用户在控制面板的添加删除程序中,直接点了列在程序项后面的“删除”而不是“更改”,则会运行在 REMOVEONLY 模式下。此时不出现维护界面,但并不是没有执行相应脚本。

假如 Enable Maintenance 的设置为 Yes,按照上面的说法,显然应该执行 OnMaintUIBefore 事件处理函数的脚本,但因为其默认代码如图:

所以不会调用 SdWelcomeMaint ,也就不会出现维护界面。所以容易错以为 OnMaintUIBefore 没有效果。我们来看看“添加删除程序”的按钮和设置的关系:

其设置结果如图:

3、不同的方法创建的卸载快捷方式也可能导致卸载过程不执行任何脚本。

最近一次为 xzSQLDeploy 制作安装程序(请参考〈InstallShield Example: 演示 xzSQLDeploy 和xzIISConfig 脚本的使用〉一文提供的 InstallShield X 制作的范例),我采用了 IS 提供的快捷功能来创建卸载快捷方式:在 Project Assistant 方式下的 Application Shortcuts 这一步执行左边的 Create an Unstallation Shortcut(请参考〈InstallShield: Creating Uninstallation Shortcut 创建卸载快捷方式〉一文):

结果对比发现该快捷方式采用的是 MSIExec.exe 的 /x 参数来进行卸载——于是卸载不是运行在 IS 下,没有调用 IS 的事件处理函数的脚本。

所以,如果使用 IS 提供的快捷功能创建快捷方式,记着检查其 Target。如果需要在卸载的时候执行一些特别的动作(比如在你的脚本删除某些文件、删除创建的 IIS 站点等等),那就改为(这里的“7”根据对应的IS版本改为8、9、10):

(请参考〈InstallShield: Creating Uninstallation Shortcut 创建卸载快捷方式〉一文)

[CommonFilesFolder]InstallShield\Driver\7\Intel 32\IDriver.exe

连同参数,在目标计算机上就等同于

"%SystemDrive%\Program Files\Common Files\InstallShield\Driver\10\Intel 32\IDriver.exe" /M{你的产品的 Product Code}

如果你按照上面说的方法采用 UNINSTALL_STRING,并调试输出其值,你会发现它就是上面的内容 ^oo^

--------------------------------------------------------------------------------

为什么第二次运行安装程序的时候毫无提示就卸载了以前的版本并没有调用 OnMaintUIBeforeXXXX 或者OnUnInstall?

注意下图:

在 Tools 菜单中选择 Options,在弹出窗口的 Preferences 这一页去掉对 "Uninstall before installing" 的选中,重新编译并运行。

如果 Enable Maintenance 的设置为 Yes,执行 Setup.exe 完成安装,然后再次执行 Setup.exe 就会出现下图所示的维护界面:

如果 Enable Maintenance 的设置为 No,则执行 OnUninstall 事件处理函数的脚本。如果不想出现那个讨厌的提示框,那你爱怎么改就怎么改了 ^oo^

Feedback

# https://www.doczj.com/doc/e014802885.html,: [InstallShield] 卸载相关问题 2004-10-24 12:35 piggybank

Ping Back来自:https://www.doczj.com/doc/e014802885.html,

# re: [InstallShield] 卸载相关问题 2004-10-27 10:19 pk

piggybank,请教两个问题。

1.用installshield X,能在脚本里远程调用另外一台机器里的可执行程序吗?我用LaunchAppAndWait()试过,不行。

2.安装程序如何要实现以下功能:先往被安装机器里拷贝一些文件,修改注册表,重新启动机器,然后执行先前刚拷到机器里的一个可执行程序。

谢谢!

# re: [InstallShield] 卸载相关问题 2004-10-27 11:07 piggybank

pk,不用客气

1、InstallShield 中涉及到 LaunchAppAndWait 等不支持网络资源访问。但是可以测试一下先把网络资源映射为本地硬盘,应该是可以的。

2、启动时运行,一般都是在注册表的 Run、RunOnce 或者启动组方一个快捷方式来实现的。

比如:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce

InstallShield 自己也支持安装过程中中途重新启动,下次继续。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Session Manager\FileRenameOperations

比如 IS 会监视在安装过程中上述注册表位置下的项是否发生变化,如果发生变化表明需要重新启动。

当然,在你的需求里只要把你要运行的程序的快捷方式放到快捷组里就足够了。

# re: [InstallShield] 卸载相关问题 2004-10-28 10:48 pk

piggybank,谢谢你的答复!

怪我自己,昨天没把情况讲清楚。

其实我现在遇到的问题是:

刚刚完成了一个JSP作的信息管理系统,B/S的。数据库用的是ORACLE9i,OS是windows2000server,我本来按照以往的方法作好了一个在数据库服务器本地执行的数据库安装和初始化程序SRVINST,包括创建用户、建表等等。是由批处理命令和SQL文件组成的,功能和你提供的xzSQLDeploy类似(我的没有GUI 界面,难看些,呵呵)。现在项目要验收了,用户忽然要求作一个所谓的数据库远程安装程序,就是说在任何一台联网的机器上(可能没有安装ORACLE客户端),只要运行安装程序,就能对指定的数据库服务器进行数据库的安装和初始化,当然前提是服务器端的ORACLE实例已经建好,并且监听和实例等服务都启动了。

我原本考虑了两个解决的方法:

第一就是看能否在InstallShield里能否远程访问?如果行,就直接调用服务器上的SQLPLUS执行本地的SRVINST。也就是我昨天问你的问题1。不过看来好像不行呀,我不能要求用户在安装前先将服务器网络资源映射为本地硬盘呀。领导那儿也通不过的。

第二就是干脆将ORACLE的客户端打包到安装程序里(虽然有点版权问题,好在服务器端的ORACLE是用户掏钱了的,将就点了)。

具体是:

1.将打包的ORACLE 9i的客户端文件和数据库创建及初始化程序SRVINST(install.bat与SQL文件)拷贝到执行安装程序的本地机器上。

2.显示一对话框,让用户输入远程的ORACLE 服务器的机器名。

3.修改本地ORACLE 9i的客户端中$ORACLE_HOME\network\admin\tnsnames.ora文件,将“HOST = pk”

改为“HOST = 用户输入的ORACLE 服务器的机器名”。

4.导入有关ORACLE 9i的客户端的注册表。

5.重新启动机器。

6..在脚本里通过LaunchAppAndWait()函数本地调用install.bat文件,远程创建数据库及初始化。

在安装过程中重新启动机器然后继续剩余的安装过程,对于这一点我一直没能解决,也就是我昨天跟你请教的问题2了。

呵呵,罗嗦了半天,不知道讲清楚了没。主要是我觉得你讲的在注册表里进行处理来解决重新启动的方法对我好像不适用,同时也是想听听你的意见,看看我这么处理好不好。

对了,昨天在CSDN上查到一篇有你的回复的帖子:

https://www.doczj.com/doc/e014802885.html,/Expert/topic/2105/2105147.xml?temp=.7887689

你那个处理方法好像适合我,但是我试了试,没成功。可能是哪个地方用得不对,我刚刚用INSTALLSHIELD X,很多地方不清楚,能否请你说得详细点。我的MSN是:pk010@https://www.doczj.com/doc/e014802885.html,,能否加我?

说句题外话,你文章里的图片是用什么软件处理的,蛮漂亮呀,想学学。

# re: [InstallShield] 卸载相关问题 2004-10-28 11:10 piggybank

对于网络映射,其实可以用 cmd shell 提供的 net.exe 实现: net use ...(用 net help use 察看详细信息)。当然,这个方法并不好。

你说的在目标计算机上安装客户端是一个办法。事实上,该计算机如果有需要对远端的数据库服务器进行操作,那就表明该计算机被用作管理计算机。所以,安装 Oracle 客户端在逻辑上是很正确的。

还有一个替代办法就是采用 java 写一段程序去设置远端数据库服务器,然后编译为 exe,采用 JDBC 适当的驱动,就不必依赖客户端支持了。但同样地要部署 J2SE/J2SD 和 JDBC 驱动,也一样麻烦,呵呵。(这一点倒是提醒我可以继 xzSQLDeploy 之后做一个 java 版本支持 oracle/mysql)

对于 Web 应用的部署,我一直认为在安装过程中进行 WebServer/DBServer 配置并不是一个好办法。也就是说这与安装本身在逻辑上是不同的两件事情。

其实看你列出来的步骤,运行 Install.bat 其实已经是安装完毕之后的事情了。逻辑上也和上面的观点一致。那么,就与那个帖子中提到的“重启之后继续安装”有所区别。

因此,重点解决“如何重启”,或者“如何提示用户重启”的问题即可。

对于重新启动,上面的回复中已经提到 IS 在安装过程中如果发现启动组或者那些注册表项内容变化就会在结束安装时提示用户重新启动。如果要强制重新启动或者明确地提示用户需要重新启动,就要在脚本中改一改。

比如采用 sdFinishReboot 或者 RebootDialog 对话框(麻烦看一下帮助,最近比较忙)。系统重新启动后执行你的批处理,就 OK 了。

呵呵,至于图片嘛...

是用 SnagIt 7.x 抓图,并用它的图片处理功能处理的,值得推荐 ^oo^

# re: [InstallShield] 卸载相关问题 2004-10-28 11:16 piggybank

对了,记得 System 可以重新启动系统,补充查了一下参数:

分别试试看:

System(SYS_BOOTMACHINE);

System(SYS_BOOTWIN);

以前版本的 help 中见过这个用法,但在 ISX 的帮助中关联的文档似乎不正确,所以找不到具体的地址,没记错的话应该是上面两个命令也可以让系统重启——而不提示用户。

当然,当前用户要有足够权限才行。

# re: [InstallShield] 卸载相关问题 2004-10-28 11:22 piggybank

嗯,确定了。

ISX 推荐 sdFinishReboot 或者 RebootDialog ,而 System(SYS_BOOTMACHINE) 只是为了兼容过去的Professional 版本而设置。

前者有对话框提示用户,比较友好一些。后者直接就试图重新启动了。

# re: [InstallShield] 卸载相关问题 2004-10-28 11:33 pk

哈哈,你的回帖可真快呀。

谢谢了,马上试试!

# re: [InstallShield] 卸载相关问题 2004-11-10 16:51 fangzq

请教一下:安装在系统目录下的文件在卸载的时候怎么删除掉?Component中有个选项Permanent的说明

中说SystemFolder下的文件都不删除的,有什么方法解决吗?谢谢

# re: [InstallShield] 卸载相关问题 2004-12-1 19:28 piggybank

I had answered your questions on CSDN Forum :)

# re: [InstallShield] 卸载相关问题 2004-12-8 8:26 james

向您请教一个问题。

我在一个project里做了2个release,一个单文件,一个多文件的。

为什么编译后,多文件的程序卸载时会出现WELCOME窗口,而单文件的不会出现,Enable Maintenance 已经设置为NO,难道一个project里不能同时存在多个release吗?请您帮忙解答一下,thanks very much!

# re: [InstallShield] 卸载相关问题 2004-12-8 8:27 james

sorry,忘了说一句,我使用的installshield是9.0

# re: [InstallShield] 卸载相关问题 2004-12-8 9:11 piggybank

应该不会的,IS9 我也用了一段时间的。不同的 Release 只不过是打包方式不同罢了(比如是否包含ISScript引擎、是否压缩等等),是不是你用的卸载方式不同?比如安静卸载模式下或者用了MSIExec 的卸载。

Enable Maintenance 已经设置为NO的话,应该不会有维护界面出现——建议你还是看看 OnMaintBefore 的事件处理代码,我不确定 IS9 和 ISX 具体的不同(呵呵,毕竟我没必要专门去对比一下每个版本),

但 ISX 在一些细节上稍稍调整了一下,也许问题是在这里。

还有,修改了设置后是否把两个 Release 都重新编译过?测试的时候是否把原来的安装卸载了在同样的新的Release下测试的?

排除这些干扰再看看,可以肯定的是一个 Project 里不但可以存在多个 Release,还可以做多个 Patch :)

installshield打包完整示例

前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思。这个安装程序虽然比较简陋,在行家眼里可能是小菜一碟,但是也花了笔者一个星期的时间,阅读了很多资料,啃了好几天英文help,集成了很多先驱者的经验,也费了自己不少心血做成的,对每一段代码的用处、每一个用到的函数都进行了详细的说明,因此转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样;如需刊登,请与作者联系。在此要感谢吞硬币的小猪,天下晓明,余满青,海洋C++乐园(此海洋不是彼海洋)等大虾在互联网上的无私奉献,他们的贴子和博客给了我很大启示。 因为本人是做java出身的,因此对这种类C++语言还是第一次接触,有理解不当之处,请朋友们指正。欢迎Email至little_fairycat@https://www.doczj.com/doc/e014802885.html, 正文 需求:公司做了一个软件产品, 1.该软件运行需要JDK环境(不是JRE,因为该软件要向windows注册一个服务,用到了 JavaService,JDK才支持这个功能;不过这里侧重于判断是否安装了某软件是否安装,而不是纠缠于该装JDK还是该装JRE); 2.由于是Server-Client形式的,需要允许用户选择安装组件,比如A机只装Server端,B机 只装Client端; 3.文档不打包在安装程序里,直接存放在光盘文件夹下方便用户查看,同时允许用户指定是否安 装文档到计算机上(为什么这样做,后面说明详细原因);

InstallShield详细制作说明

虽然网上关于InstallShield的制作说明已经很多,但是看的时候还是会有些晕乎乎的,不得不说很复杂。前段时候做了一次,后面需要升级,在重新做的时候发现有些地方自己又忘了,所以有必须将自己看的教程和实际操作的体会结合起来,认真的写个特别详细的制作说明,使步骤尽可能简化清晰,为了自己也为其他同仁。各位可以先下载已做好的安装包,看看是否符合你的需求。 一、在制作安装包前,先整理一下安装文件 先来看“先决条件安装文件”,这里我们用来存放运行该产品需要的基本环境(比如:Net Framework、数据库等)的安装文件。另外还放了图标和许可协议,制作的时候需要,放一起便于管理。 再来看看“XX软件”,可以看看QQ在安装后的开始菜单里,会先有腾讯软件->QQ2013->QQ 这样的目录结构,这样的结构使得一个公司的产品放在一起便于用户查看。所以我也采用这种结构来先整理目录结构,这个结构也是用户安装产品后的目录结构。 上面APP_1和APP_2是独立的应用分开放,外面的数据库配置是公用部分放最外面。当然,“XX产品”里面的目录需要根据你实际情况来决定。不过,在你制作安装包前,一直要试一下各个exe程序能不能正常运行,否则做好后运行不了,找不到原因就麻烦了,毕竟快捷方式只是个链接。 这里说明一下为什么会有这个DataBaseSetting.exe呢,因为我们的产品可能需要新建数据库、需要修改注册表等操作,但是用InstallShield来做这些,对于不熟悉的人来说还是很麻烦的,

或许就不能做,所以还是用C#写了个小程序来做这些工作要简单的多,只是要多点下按钮,但更灵活。 二、新建一个“InstallScript MSI Project”工程 三、在引导条上配置基本属性 Project Assistant是类似于界面操作

Installshield9使用说明

Installshield 9 使用说明 一、向导部分 刚打开文档时的主UI 最近编辑文档 以上为intallshiel后的主UI当前还未打开任何的文档 新建文档 新建文档类型通 常选择第一个就 可以

向导 UI 1 2 3 4 5 6 7 8 9 程序的基本信息,包括公司名称,程序名称,版本号以及公司网址等。以上信息将会在安装过程中的UI中显示。

2.Installation architecture: 组件的建立,类似于office安装过程中的程序模块选择。例如。在office安装过程中要全部安装,还是只安装word,excel等。 3.Application Files 文件的添加:在此处将所有的程序要使用到的文件添加到这里。主要包括以下文件夹 3.1 script-defined folders:脚本定义文件夹:放到这里面的文件,其安装目录由脚本中FeatureSetTarget(MEDIA,"",para2);函数来重新定义。para1在此定义的文件夹名。Para2为目标文件夹名 3.2 application target folder:安装目标文件夹。即实际安装过程中的目标文件夹。一般在安装过程中由用户来选择,当然可以指定默认。 3.3 program files:program file文件夹,如果有特定的文件必须放在此文件夹里。就放这个位置吧。 3.4 windows:同上。这两个文件夹是系统自动搜索的。如果是自己安装的操作系统,

比如将操作系统安装在其它盘符,一样可以搜到 4.Application redistributables 插件选择安装:如果你的程序需要以上的动态库连接,就打上 5Application shortcuts 快捷方式的建立点击New以后,会出现选择文件的对话框。当然是已经在Application Files 中添加过的文件。默认的可执行文件会自动添加。如果不想用删掉即可

InstallShield安装与制作

InstallShield安装与制作 InstallShield安装与制作 一、InstallShield安装 1、点击[InstallShield.12.豪华完全 版].installshield12.Premier.Edition.exe进行安装 2、到安装过程中的组件步骤时选择自定义/定制 3、在语言中选择简体中方(制作了的安装包才能是中文的,否则是英文) 二、InstallShield 破解 1、在安装的最后一步选择激活,点击下一步 2、随便输入一串激活码,如(1111111111……),点击下一步. 3、提示出错,不用管,选择电子邮件激活,下一步 4、出现一串的序列码,拷贝它。 5、打开[InstallShield.12.豪华完全版].keygen.exe;粘上那串序列码,点create^,会生成一串很长的序列码,拷贝它。 6、回到第四步的对话框,粘上序列码,ok. 注:在激活的过程中,把网络断开 (一) 打开工程 点击Create a new Project来创建一个工程。

IS将安装工程根据工程的特点分了几大类:InstallScript ;Windows Installer;Universal installer。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript和Windows Installer的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系统自带的安装服务来驱动安装。在每个大类里面有划分了不同的小类。这里请参考IS帮助中的说明。 注: Project Name: 你的工程名 Location: 这个打包程序存放的路径,一般在安装的过程中自动创建这个目录 (二) 工程助手页面 利用工程助手就可完成应用程序的制作且能满足要求(除了附加数据库等操作)。工程助手的应用从图中的:应用程序信息,从左往右一步步设计就可以了。 1、Application Information:程序信息

InstallShield脚本语言的编写

InstallShield脚本语言的编写 编号:QA001188 建立日期: 1999年6月16日最后修改日期:1999年6月16日 InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加。 一.基本语法规则 1.变量 BOOL 布尔型值为TRUE(1)或FALSE(0) CHAR 字符型一字节长的(8bit)的字符 HWND 窗口句柄用来存放窗口句柄 INT 整型两字节长的整数 LIST 列表型指向InstallShield列表,用ListCreate和ListDestroy LONG 扩展数值型 LPSTR 扩展指针 NUMBER 数值型存放四字节长的数值,范围从-2147483648到+2147483647 POINTER 指针型 SHORT 短数值型 STRING 字符串型十分类似VC中的LPCTSTR 变量如同标准的C语言,在使用前需要事先声名。变量通常在两个位置进行声名,一是主程序外部,这样的变量为全局变量,二是各函数的变量声名区,这样的变量是局部变量。 2.操作符 一般的与C语言相同操作符,在这里不做详解,以下主要介绍比较特殊的操作符, (1) + , - , * , / 以上四个操作符与C语言中意义和用法都相同。 (2) && 与操作,与C语言中用法相同,例:x1 && x2 (3) || 或操作,与C语言中用法相同,例:x1 || x2 (4) ! 非操作,与C语言中用法相同,例:!x1 (5) * 指针操作,类似C语言中的*

(6) & , | , ^ , ~ , << , >> 分别为位与,位或,按位异或,按位取反,左移和右移,其意义和用法都与C语言中基本相同。 (7) . 该操作符用于结构,用来得到结构的子项,与Delphi的 . 用法类似,例如: typedef SETTINGSREC begin BOOL bSwitchOn; STRING szMssg[255]; INT nVal; end; SETTINGSREC settings; program settings.bSwitchOn = FALSE; settings.szMssg = "Off"; settings.nVal = 0; (8) = 既可作为赋值号,同时也做等于符,例如: str1 = "String"; if str1="String" then endif; (9) & 取地址符,与C语言用法类似。 (10) < , > , = , <= , >= , != 分别表示小于,大于,等于,小于等于,大于等于,不等于 (11) + , ^ , % 用于字符串的操作。 (12) -> 结构指针,与C语言中用法类似。 (13) @ 用于得到Resource窗口中定义的字符串,例: szReferenceFile = svDir ^ @PRODUCT_KEY; 3.函数 InstallShield的函数使用前同样需要声名,函数的参数传递方式十分类似C语言,例如

InstallShield-PDF 教程

InstallShield使用 本文使用的InstallShiled的版本是InstallShiled 2008 Premier Edition,只介绍制作Base MSI Preject及InstallScript MSI Preject安装包。 1菜单 大多数菜单与其他软件一样,这里只介绍几个有特点的。 1.1Go 可以通过此菜单到任意一个设计界面中。 1.2Project 1.1.1[Perform Static Scan…]及[Perform Dynamic Scan…] 静态及动态搜索应用程序所需要的系统对象及Dll运行库,这两个功能有详细的向导,这里不再做介绍。 1.1.2[Source Control] 此功能为源代码管理,必须结合Microsoft的Microsoft Visual SourceSafe。 1.3Tools 1.3.1[InstallScript] Standard Dialog Sampler及Skinned Dialog Sampler查看固定的安装步骤界面,以便在脚本中调用。 Cabinet File Viewer查看安装包CAB文件的内容,经测试好像不能查看InstallShield2008制作的CAB的内容。 2安装设计界面 这里介绍的是Installation Designer页面的界面(介绍一些重要的属性)。 2.1Installation Information 2.1.1General Information ?Project Properties Setup Languages:设置安装包的语言种类,一般默认的是简体 中文。

Installshield+中文系列教程

Installshield 12 中文系列教程之 Installscript 项目(一) ××××××××××××××××××××××××××××××××××××××× ×××××××× 声明:本文为《打包技术网》原创,请保留此声明并注明出处,仅供网友学习使用,勿用于 商业用途。 作者:棒槌_007 联系方式:QQ 113984419 MAIL:bangchui_007. 说明:本人E文实在一般,文中有翻译不准确的地方,请各位见谅。 ××××××××××××××××××××××××××××××××××××××× ×××××××× 这个部分通过带领你使用InstallShield新建,编译,运行来增强一个使用安装脚本的安装 程序。 这个教程划分了一些列的步骤。在第一步后“第一步:建立,编译,测试项目”其他的步骤能够按照任意的顺序单独的运行,所以你可以集中注意力在这个部分的相关的容上。 在这个教程中,你将要学习到如何完成一个安装程序中要执行的多个任务,包括: ?安装文件 ?设置快捷方式和注册表数据 ?条件安装数据 ?更改安装过程中的用户界面 ?编译发布镜像文件 ?测试安装 这些容在的相关贯穿整个帮助支持库。 第一步:建立,编译和测试项目 这个步骤示如何建立一个脚本安装项目,编译发布文件,测试安装程序。完成这个步骤后, 你将认识到如何去: ?使用项目助手建立一个新项目 ?制定安装项目的整体属性

?定义安装类型、功能部件、组成部分和文件 ?编译一个发布文件的副本 ?从InstallShield用户界面运行你的安装程序 你在本教程中将要创建、配置的安装程序叫做 Tutorial APP 。这个程序的源文件在安装目录下的 Samples\IsDevTutorial 子目录下面。

InstallShield使用详解

目录 前言 (2) 第一章集成开发环境 (3) 第二章 INSTALLSHIELD基本操作 (4) 2.1.创建工程 (4) 2.2.通过 PROJECT ASSISTANT(工程助手)来设计工程。 (8) 2.3.安装包发布 (19) 第三章 INTALLSHIELD脚本语言 (23) 3.1脚本语言介绍 (23) 3.2实例一:注册表的处理 (25) 3.3实例二:安装前执行,运行其他的软件安装。 (28) 第四章其他的安装包制作工具 (30) 4.1 INSTALLAWARE (30) 4.2 WISE (31) 4.3 ADVANCED INSTALLER (33) 4.4工具比较 (33)

前言 InstallShield是基于Windows平台的为软件发行方提供领先的基于windows的安装程序解决方案,能够制作强大可靠的Windows Installer(MSI)、InstallScript以及跨平台的安装程序,是安装工具领域事实上的标准,已经成为安全安装软件的标准解决方案,。在下面的内容当中,将以10HMITOOL项目实例讲解InstallShield的使用方法,使用的版本为InstallShield2008。

第一章集成开发环境 InstallShield除了本身的开发环境外,还为vs2005提供了辅助功能,开发人员可以直接在vs2005环境中创建InstallShield工程,具体操作如下: 1.选择开始菜单->所有程序->Macrovision->InstallShield 2008 for Visual Studio 2005 图1-1 运行InstallShield 2008 for Visual Studio 2005 首次运行会出现如下的向导界面:在这里介绍了所有工程类型,用户可以根据自己的需要选择工程类型。 图1-2 首次进入

Installshield入门指南

Installshield入门指南 1 说明(适用范围) 阅读对象:IS的初用者;本指南的校对、补充、修改者。 适用版本:IS10~IS11,如果您使用的不是这个版本段的版本,那么还是不要再往下看了。 目的:帮助初用者建立一个简单的安装包,能在建立这个安装包的过程中了解IS的基本情况。 强调:本指南不会对IS中的每一个菜单进行介绍,只对用到的做一个初步讲解2 IS介绍 2.1IS介绍 这个东东据说是现在使用最广泛的安装包制作工具。它是从共享软件出身,一直发展到一个商业软件。现在又被收购了。我是从6.22版本开始接触它的。从6.0到9.0版本,它的每一个版本大概都分为三个系列,就如同操作系统WINDOWS XP一样,每一个版本都分为Professional,Express,Developer。简单的可以这样解释(详细区别大家可以到网上搜,应该很多): Express功能最少,使用也最简单,据说是限制使用脚本功能等。适合制作常规的安装包,本人没有使用过。 Professional开放的功能较多,包括脚本功能。但还是有一些限制,我了解的就是无法编辑界面(罕见使用),缺少一些外部库等等。 Developer不用说是最全的了。适合于能折腾的人。 从10版本开始,IS最大的变化就是界面变了。变的花哨了许多,功能更多了。让我人最感兴趣的就是增加了对SQL的支持,最终加入了对XML的支持。而且,从10开始,名字也有些改变:Premier Edition对应原来的Developer,其他的还是和原来一样。 以下的介绍全部是针对Installshield Premier Edition11的,请大家务必注意。 2.2IS各工程介绍 IS将安装工程根据工程的特点分了几大类:InstallScript ;Windows Installer;Universal installer。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript 和Windows Installer的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系

InstallShield setup文件-静默安装介绍

Open topic with navigation Setup.exe and Update.exe Command-Line Parameters https://www.doczj.com/doc/e014802885.html,/installshield20helplib/Content/helplibrary/IHelpSetu p_EXECmdLine.htm#ref-command-linetools_942613717_1039936 InstallShield 2013 Setup.exe can accept a number of command-line parameters. Update.exe (available only for Basic MSI and InstallScript MSI projects) accepts nearly all of the same command-line parameters. Using these parameters, end users can specify such data as the language that the installation should run in and whether to launch Setup.exe silently. For Basic MSI and InstallScript MSI, end users can also pass parameters through Setup.exe to the included .msi file. Note: Command-line options that require a parameter must be specified with no space between the option and its parameter. For example, Setup.exe /v"ALLUSERS=2" is valid, while Setup.exe /v "ALLUSERS=2"is not. Quotation marks around an option’s parameter are required only if the parameter contains spaces. If a path within a parameter contains spaces, you may need to use quotation marks within quotation marks, as in the following example: Setup.exe /v"INSTALLDIR=\"c:\My Files\"" Project: Some of the command-line options apply to only certain project types. Project-specific information is listed for each option. Built-In Command-Line Parameters This section describes valid command-line parameters for Setup.exe. The parameters are organized into the following categories: ? Silent Installations ? Special Installation Modes ? Passing Data to the Installation ? Download and Cache Locations (Basic MSI and InstallScript MSI Projects) ? Debugging ? SMS Data

InstallShield_2010_打包实例

第一部分:基本设置 (1) 新建Installscript MSI Project (1) 引导动作条 (2) 1. Application Information (2) 2. Installation Requirement (3) 3. Installation Architecture (3) 4. Application Files (5) 5. Application Shortcuts (7) 6. Application Registry (9) 7. Installation Location (10) 8. Build Installation (11) 第二部分:XML文件修改 (11) 第三部分:自定义对话框 (16) 第四部分:安装windows服务 (18) 一、脚本方式 (18) 二、视图配置方式 (21) 添加Install Service组件 (21) 添加Control Service组件 (24) 第五部分:脚本编程 (26) Setup.rul文件头部 (27) OnFirstUIBefore (28) OnFirstUIAfter (31) SetTomportInfo (34) 完整脚本代码 (36) 第六部分:参考文章 (43)

注:我使用的是Installshield 2010 Premier Edition,安装后自行汉化,所以有部分截图有中文; 2010 SP1的官方下载地址: https://www.doczj.com/doc/e014802885.html,/product/is/2010/domestic/premier/installS hield2010.exe 第一部分:基本设置 新建Installscript MSI Project 打开Installshield 2010 Premier Edition,新建一个Installscript MSI Project,这种被称之为半脚本程序,因为兼具Basic Project基本类型和Installscript Project全脚本类型两者的优点。 选择类型为Windows Installer | InstallScript MSI Projcet,输入工程名,指定工程所在的文件夹。 界面会切换到Project Assistant,我们先从这里开始把工程的基本组件和基本文件建立好。

installshield学习笔记

安装前 设置界面公司标识 在OnBegin函数中,添加如下脚本: SetTitle(IFX_PRODUCT_NAME + "-Infomedia", 0, BACKGROUNDCAPTION); 安装中 安装 RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); if(RegDBKeyExist("SOFTWARE\\Microsoft\\.NETFramework\\policy\\")<0)then if(AskYesNo("尚未安装!\n是否安装",YES))then if(LaunchAppAndWait(SUPPORTDIR^""," /norestart",WAIT)<0)then SprintfBox(MB_OK,".NET安装","安装框架发生意外!"); else InstallNet=TRUE; endif; else InstallNet=FALSE; endif; else endif; 注:InstallNet在开始定义BOOL类型 修改OnFirstUIAfter中的脚本 以判断是否重启。 vbs控制IIS 直接使用IIS自带的脚本来做的.基本上IIS的所有操作都可以用这个脚本完成.目录在C:\inetpub\AdminScripts 管理安装服务器角色

参数名称:

修改IIS中ISAPI和CGI限制 %windir%\\system32\\inetsrv\\ set config /section:isapiCgiRestriction /[path='C:\Windows\\Framework\'].allowed:True 控制文本框 自定义界面,如果控制文本框

1607:无法安装 InstallShield Scripting

重新安装InstallScript 引擎 要从InstallShield Developer 重新安装InstallScript 引擎,请按照下列步骤操作: 1.单击“开始”,单击“程序”,指向“附件”,然后单击“Windows 资源管理器”。 2.打开下面的文件夹:C:\Program Files\InstallShield\Developer\Redist\Language Independent\i386。 3.双击“Isscrpt.msi”。 4.按照屏幕上的指示操作。 从虚拟驱动器运行安装程序 如果您从使用SUBST 命令创建的虚拟驱动器运行安装程序,则可以删除该虚拟驱动器并从物理硬盘运行安装程序。要删除虚拟驱动器,请单击“开始”,单击“运行”,键入subst drive_letter:/d,然后单击“确定”。 注册Idriver 和Msiexec 要注册Idriver 和Msiexec,请按照下列步骤操作: 1.单击“开始”,单击“运行”,键入C:\Program Files\Common Files\InstallShield\Developer\7\Intel 32\IDriver.exe /REGSERVER,然后单击“确定”。 2.单击“开始”,单击“运行”,键入C:\Windows\System32\msiexec.exe /REGSERVER,然后单击“确定”。 更改权限 使用管理员帐户登录到Windows XP 计算机,验证您是否对C:\Windows\Installer 文件夹拥有正确的权限。按照下列步骤操作: 1.单击“开始”,单击“程序”,指向“附件”,然后单击“Windows 资源管理器”。 2.单击“工具”菜单上的“文件夹选项”。 3.单击“查看”选项卡。 4.单击“显示所有文件和文件夹”,然后单击“确定”。 5.定位到文件夹C:\Windows\Installer。 6.右键单击Installer 文件夹,然后单击“属性”。 7.单击“安全”选项卡。 8.单击“System”,然后验证是否选中了“完全控制”复选框。 9.单击“Administrators”,然后验证是否选中了“完全控制”复选框。 10.单击您的用户名,然后验证是否选中了“完全控制”复选框。

Installshield终极使用教程

Installshield使用 1 说明(适用范围) 1.1IS各工程介绍 IS将安装工程根据工程的特点分了几大类:InstallScript ;Windows Installer;Universal installer。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript 和Windows Installer的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系统自带的安装服务来驱动安装。在每个大类里面有划分了不同的小类。这里请参考IS帮助中的说明。 2 COMMON篇之InstallScript Porject 2.1使用向导做一个简单的安装包 2.1.1了解你要安装的程序 首先你要清楚,你的程序所需要的运行环境要求。 这个安装包例子中,我们要打包这样一个系统:主程序是LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini,许可协议.txt;它运行时需要读取当前目录下的config.ini,由于这个程序是用VC开发的,所以还需要运行的机器上有vc的运行库。具备了这个环境,LearnQClient.exe程序才能正常运行起来。 这就要求我们做好的安装程序安装时要将LearnQClient.exe,rtcdll.dll,ImageOle.dll, dxmrtp.dll,dsoframer.ocx,config.ini拷贝到指定的安装目录,也可将 ImageOle.dll,dsoframer.ocx拷贝到当前系统的系统目录(windows9x中系统目录是windows/system;windows 2000/xp的系统目录是system32)。同时要实现安装的时候将VC6的运行库安装到目标机器上;其中帮助文件是可选择安装的。下面我们来试着做这个安装包。 2.1.2建立一个InstallScript工程 启动IS,在主窗体中选择“Create a new Project”

VS2012 InstallShield Limited Edition使用教程

1.安装和部署 2.下载InstallShield 3.注册后方可进行下载(邮箱一定要填写正确的,以便可以正常接收到激活码)

4.登录注册时写的邮箱,找到激活码 5.安装,选择第一个并输入邮箱中的注册码即可

6.安装成功后即可创建打包程序 7.创建成功的项目展示

8.默认展示欢迎界面,也可以双击“Project Assistant”进入到欢迎界面 9.单击第一个选项卡“Application Information”,按照上面的填写。

10.单击“General Information”进入进行更改语言为中文简体 常见问题: 问:生成出错,提示"The English (United States) translation for string identifier IDS_SHORTCUT_DISPLAY_NAME1 includes characters that are not available on code page 1252." 答:InstallShield安装语言默认为English (United States),当安装路径或文件名包含中文时生成项目会出错并显示上述错误信息,将安装语言设置为简体中文即可解决。在"Application Information"步骤界面左侧找到"General Information"并打开,将"Setup Language"设置为"Chinese (Simplified):中文

(简体)"即可。 11. 第二选项卡“Installation Requirements”,选择部署的目标环境和必须组件。 12. 第三选项卡“Installation Architecture”,这里不用设置。 13. 第四选项卡“Application Files”,添加生成的类库和exe可执行程序。--补充说明,添加的文件是bin\release文件夹下的内容。注意在Release模式下编译才会输出到这里;如果添加bin\debug文件夹下的内容也可以,只是里面包

InstallShield Limited Edition for Visual Studio图文教程

InstallShield Limited Edition for Visual Studio图文教程(教你如何打包.NET程序) 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“InstallShield Limited Edition for Visual Studio”,注意这个版本是免费的,只需要邮件注册下,就会有要注册码。虽然不知道微软这是何用意,但是既然他叫我们用,那就去用吧。(其实,早在VS2010中,微软就把InstallShield Limited Edition for Visual Studio放在里面了,只是那个时候自家产品还在)。 如何下载注册: https://www.doczj.com/doc/e014802885.html,/fwlink/?LinkID=239620&lang=1033&ver=ult 用你的邮箱注册,会免费发注册码的,不需要破解 具体步骤: 1、新建了一个基本的三层项目,用来测试打包

2、根据实际情况,填写程序基本信息 3、这一步非常重要,看上图: 1)设置为简体中文,否则安装路径有中文的话就会出问题 2)设置默认安装路径 3)修改默认字体 4)每次升级,重新打包,只需要点击这一行右侧的“…”按钮,就会重新生成Code,安装时就会自动覆盖老版本

4、选择我要的.NET Framework 4.0 5、这里什么也不做

6、添加要打包的文件、程序 7、右键——属性(Properties)

8、非常重要: 1)如果你的是.NET项目程序DLL、EXE,那就按照默认的设置,不要去改,否则出错 2)如果你的是OCX或者ActiveX等需要注册的DLL,那么选择 “Self-registration”

InstallShield 使用手册(SP补丁)

InstallShield 使用手册 1 总体介绍 (1) 2安装程序制作过程(MSI) (1) 2.1 New Project (1) 2.2 Installation Information (2) 2.2.1 General Information (2) 2.2.2 Update Service (6) 2.2.3 Trialware * (7) 2.3 Organization (7) 2.3.1 Setup Design (7) 2.3.2 Features (11) 2.3.3 Components (11) 2.4 Application Data * (11) 2.4.1 Files and Folders * (11) 2.4.2 Redistributables * (11) 2.4.3 Mobile Devices * (11) 2.5 System Configuration (12) 2.5.1 Shortcuts (12) 2.5.2 Registry * (12) 2.5.3 ODBC Resources * (12) 2.5.4 INI file Changes * (12) 2.5.5 Environment Variables * (12) 2.5.6 XML File Changes * (12) 2.6 Server Configuration * (12) 2.6.1 Internet Information Services * (12) 2.6.2 Component Services * (13) 2.6.3 SQL Scripts * (13) 2.7 Behavior and logic (13) 2.7.1 InstallScript (13) 2.7.2 Custom Actions (13) 2.7.3 Sequences (14) 2.7.4 Support Files * (15) 2.7.5 System Search * (15) 2.7.6 Property Manager * (15) 2.8 User Interface * (15) 2.8.1 Dialogs * (15) 2.9 Media * (15) 2.9.1 Path Variables * (15) 2.9.2 Upgrades * (15) 2.9.3 Releases * (15) 2.9.4 Patch Design * (15)

Installshield2020制作安装包详解

Installshield2020制作安装包详解 1. 打开Installshield 2018 Premier Edition,新建一个Installscript Project,它是一个全脚本类型程序,确实是用脚本来驱动安装界面。 选择类型为InstallerScript | InstallScript Projcet,输入工程名,指定工程所在的文件夹。 2.界面会切换到Project Assistant,从那个地点开始把工程的差不多组件和差不多文件建立好,只是一样在Installation Designer里进行设置。 3.在Project Assistant界面的底部,会有一个引导动作条,在建立该工程的差不多结构和文件时,能够在此界面进行操作。

4.点击界面上的Installation Designer,进入安装设计界面 1.Installation Information文件夹要紧是设置该安装包的差不多信息,用户只要设置General Information里的信息,其它两个不用设置。要紧是设置此安装包项目的名称,运行的操作系统和一些差不多信息。 https://www.doczj.com/doc/e014802885.html,anization文件夹要紧是进行安装设置,包括安装中要用到的文件,安装文件的执行顺序以及安装类型的设置(自定义安装和完全安装)。Setup Design要紧是用来添加安装过程中

所需的文件和快捷方式的设置,快捷方式设置包括开始菜单中的快捷方式和桌面快捷方式的设置。还能够把文件的安装和脚本中函数的执行关联起来。Features要紧是查看各装置的配置信息,Components要紧是查看各组件的配置信息,这两个差不多上方便用户查看一些设置的差不多信息。Setup Types用来设置用户在自定义安装和完全安装时要安装的组件。 3.Application Data 文件夹要紧是提供用户查看运算机中的应用程序和文件,方便用户来选择其中的文件来制作安装包。一样不需要用户操作。 4.System Configuration 文件夹要紧是查看系统的配置信息,包括安装包快捷方式的设置,当前运算机系统注册表的信息。一样也不需要用户操作。 5.Server Configuration文件夹要紧是一些服务的配置信息。一样也不需要用户操作。 6.Behavior and Logic 文件夹要紧是用来编写安装包程序的脚本,在InstallScript的Files文件夹下包括脚本文件,在Functions文件夹下显示脚本中所有的函数。在Support Files/Billboards 下要紧是支持该安装包的一些文件,例如用户协议文件之类。

InstallShield教程

使用 本文使用的InstallShiled的版本是InstallShiled 2008 Premier Edition,只介绍制作Base MSI Preject及InstallScript MSI Preject安装包。 1菜单 大多数菜单与其他软件一样,这里只介绍几个有特点的。 1.1Go 可以通过此菜单到任意一个设计界面中。 1.2Project 1.1.1[Perform Static Scan…]及[Perform Dynamic Scan…] 静态及动态搜索应用程序所需要的系统对象及Dll运行库,这两个功能有详细的向导,这里不再做介绍。 1.1.2[Source Control] 此功能为源代码管理,必须结合Microsoft的Microsoft Visual SourceSafe。 1.3Tools 1.3.1[InstallScript] Standard Dialog Sampler及Skinned Dialog Sampler查看固定的安装步骤界面,以便在脚本中调用。 Cabinet File Viewer查看安装包CAB文件的内容,经测试好像不能查看InstallShield2008制作的CAB的内容。 2安装设计界面 这里介绍的是Installation Designer页面的界面(介绍一些重要的属性)。 2.1Installation Information 2.1.1General Information ?Project Properties Setup Languages:设置安装包的语言种类,一般默认的是简体 中文。

?Add or Remove Programs Display Icon:在系统中的添加或删除程序的列表中显示的图标; Display Icon Index:图标文件的图标索引; Disable Change Button:隐藏添加或删除程序的列表中的更改按 钮; Disable Remove Button:隐藏添加或删除程序的列表中的删除 按钮; ?Product Properties Name:产品名称,显示在整个安装界面的产品名称; INSTALLDIR:安装的默认路径; ?String Tables 每种安装语言都有一个节点,安装中使用的字符串。 2.2Organization 2.2.1几个基本概念 ?Feature 特征,每个Feature可包含子Feature及若干个Component,每 个Feature都会出现在Feature选择界面中,一旦Feature被选 择安装其包含的Component就会被安装到系统中去; ?Component 组件,每个Component可设置需要安装的文件、写入的注册表 信息、创建的快捷方式等等; ?Setup Type 安装类型,一般默认有Minimal(压缩)、Typical(典型)、Custom(自 定义),每种安装类型包含若干个Feature。 2.2.2Setup Design 此界面可以设置Features、Components(组件)及Files(安装文件)等等。 [Setup Design]节点的右键菜单,[New Feature]菜单新建一个Feature,右键点击Feature节点,[New Feature]菜单新建一个子Feature; [New Component]新建一个Component;[Associate Components]菜单可关联Component。

相关主题
文本预览
相关文档 最新文档